Go: older entries
Sat, 28 Jan 2012
3:04 PM - Output from the previous program
Here's some sample output from the previous program:
MBR
3333812352d ad2
provider: 3333787264 ad2s1
r0w0e0
3330560128d ad8
provider: 3334536832 ad8s1
r0w0e0
3334457344d ad10
provider: 3334457088
ad10s1 r0w0e0
provider: 3334456832
ad10s2 r0w0e0
3334600960d ad14
provider: 3334600704
ad14s1 r5w5e5
provider: 3334600448
ad14s2 r0w0e0
provider: 3334600192
ad14s3 r0w0e0
3334599680d ar0
provider: 3334536064 ar0s1
r2w2e3
VFS
3335112064d
ffs.ad14s1a
3337421568d
ffs.ad14s1e
3334689408d
ffs.ad14s1f
3334689024d
ffs.ar0s1d
3337421184d
ffs.ad14s1d
3334688128d
ffs.ar0s1e
LABEL
3334596480d ad10s1
provider: 3334596352
ntfs/System Reserved r0w0e0
3334636288d ad14s3
provider: 3334636160
ntfs/BackupSegat r0w0e0
3334820992d ad8s1d
provider: 3334820864
ufsid/4b96b6328b08d595 r0w0e0
3334817280d ad14s2a
provider: 3334817152
ufsid/498431b32a15c897 r0w0e0
3334816000d ad14s2d
provider: 3334815872
ufsid/498431b7f20edba4 r0w0e0
3334691200d ad14s2e
provider: 3334691072
ufsid/498431b339c56ba6 r0w0e0
3334462208d ad14s2f
provider: 3334462080
ufsid/498431b3649da79d r0w0e0
BSD
3334599168d ad8s1
provider: 3334599040
ad8s1c r0w0e0
provider: 3334598784
ad8s1d r0w0e0
provider: 3334598272
ad8s1e r0w0e0
3334595328d ad14s1
provider: 3334595200
ad14s1a r1w1e1
provider: 3334594944
ad14s1b r1w1e0
provider: 3334594688
ad14s1c r0w0e0
provider: 3334456704
ad14s1d r1w1e1
provider: 3334456960
ad14s1e r1w1e1
provider: 3334596992
ad14s1f r1w1e1
3334691584d ad14s2
provider: 3334637696
ad14s2a r0w0e0
provider: 3334637440
ad14s2c r0w0e0
provider: 3334637184
ad14s2d r0w0e0
provider: 3334636928
ad14s2e r0w0e0
provider: 3334636672
ad14s2f r0w0e0
3334534912d ar0s1
provider: 3334635776
ar0s1c r0w0e0
provider: 3334822656
ar0s1d r1w1e1
provider: 3334822400
ar0s1e r1w1e1
PART
3334536192d ad10
provider: 3334601856
ad10p1 r0w0e0
provider: 3334601600
ad10p2 r0w0e0
3358966272d da0
provider: 3440290816 da0p1
r0w0e0
provider: 3350360320 da0p2
r0w0e0
provider: 3359112064 da0p3
r0w0e0
DEV
3333812992d ad2
3333786368d ad2s1
3331329152d acd0
3334457600d ad8
3334536576d ad9
3334536320d ad10
3334456576d ad14
3334599936d ar0
3334599424d ad8s1
3334597888d ad10p1
3334597376d ad10p2
3334638208d ad10s1
3334637952d ad10s2
3334535168d ad14s1
3334598016d ad14s2
3334638592d ad14s3
3334600576d ar0s1
3334822016d ad8s1c
3334821376d ad8s1d
3334820352d ad8s1e
3334819328d ntfs/System
Reserved
3334818560d ad14s1a
3334534144d ad14s1b
3334533632d ad14s1c
3334937088d ad14s1d
3334817920d ad14s1e
3334634112d ad14s1f
3334633600d ad14s2a
3334816640d ad14s2c
3334462848d ad14s2d
3334692224d ad14s2e
3334637056d ad14s2f
3334633344d
ntfs/BackupSegat
3334595712d ar0s1c
3334598144d ar0s1d
3334534656d ar0s1e
3334822784d
ufsid/4b96b6328b08d595
3334822272d
ufsid/498431b32a15c897
3334462464d
ufsid/498431b7f20edba4
3334936192d
ufsid/498431b339c56ba6
3335072256d
ufsid/498431b3649da79d
3440312704d da0
3440383360d da0p1
3372503936d da0p2
3440380288d da0p3
DISK
3333813376d ad2
provider: 3333813248 ad2
r0w0e0
3334459776d ad8
provider: 3334459648 ad8
r0w0e0
3334459392d ad9
provider: 3334459008 ad9
r0w0e0
3334458752d ad10
provider: 3334458624 ad10
r0w0e0
3334458368d ad14
provider: 3334458240 ad14
r5w5e6
3334457984d ar0
provider: 3334457856 ar0
r2w2e4
3440305536d da0
provider: 3372510464 da0
r0w0e0
MD
SWAP
3334536448d swap
MBREXT
ACD
3333787008d acd0
provider: 3333786880 acd0
r0w0e0
FD
3:01 PM - Quick and Dirty GEOM print program
While debugging a GEOM related problem with a program, I ended up needing a way to print out data from what libgeom gets from the kernel. Below is a quick and dirty dump program for just such a situation. Compile it with
gcc -std=c99 -lgeom prog.c -o prog
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#include <libgeom.h>
#include <stdint.h>
void read_geom_mesh(struct gmesh *mesh);
void
read_geom_mesh(struct gmesh *mesh)
{
struct gclass *classp;
struct ggeom *gp;
struct gprovider *provider;
/*
* Build the device table. First add all disks (and CDs).
*/
LIST_FOREACH(classp, &mesh->lg_class, lg_class) {
puts(classp->lg_name);
LIST_FOREACH(gp, &classp->lg_geom, lg_geom) {
printf(" %ud %s ", gp->lg_id, gp->lg_name);
LIST_FOREACH(provider, &gp->lg_provider, lg_provider) {
printf(" provider: %u %s %s ", provider->lg_id, provider->lg_name, provider->lg_mode);
}
}
}
}
int main(int argc, char *argv[]) {
int error;
struct gmesh mesh;
error = geom_gettree(&mesh);
if (error == 0)
read_geom_mesh(&mesh);
return 0;
}
Wed, 11 Jan 2012
7:45 PM - Installer work
Work is processing on the MidnightBSD installer for 0.4-CURRENT. As soon as it's working, I'll post a new snap. It's been awhile.
Wed, 4 Jan 2012
9:29 AM - State of the BSD: January 2012
2011 was a good year for the MidnightBSD project. We released MidnightBSD 0.3 in January, and began work on 0.4. The mport(1) tool was written to allow users to manipulate ports using the new package management system. Work finally began on replacing sysinstall(8), the MidnightBSD installer with a new replacement.
MidnightBSD gained the ability to boot from GPT partitions. We've created our own partition types: midnightbsd, midnightbsd-ufs, midnightbsd-vinum, midnightbsd-zfs, etc. for GPT.
Several critical flaws with CAM were addressed from the 0.3 release.
MidnightBSD can now read ELF notes and understands both FreeBSD and MidnightBSD notes. Legacy FreeBSD 7.0 and lower binaries will continue to run, but also MidnightBSD binaries can be distinguished by the kernel. Eventually, we'll create a compatibility option as things diverge further. An effort to update binutils has started. The freebsd vector hack will be removed, and we'll go standard like DragonFly. This was a kludge to get Linux binaries working, but elf notes should solve that problem for us. This means we may see the end of brandelf for Linux executables.
GIANT lock has been removed from many sysctls. A few locking problems are still getting sorted out, but the kernel is running fine on most systems.
MidnightBSD gained a new search tool, msearch(1), that uses a sqlite3 database with a full text index of text files on the system. The indexer is off by default due to the space requirements. It supports some globbing for queries.
For a complete list of improvements, read UPDATING in CURRENT (0.4).
MidnightBSD now has pages on Google + and a twitter account. Expect a new release this year.
Sun, 27 Nov 2011
12:08 AM - alc/bge/mii
alc(4) is now working properly. cable detection, dhcp, etc. are working. bge(4) has support for several new chips. mii(4) supports new PHYs
12:00 AM - make universe
make universe target runs again with the new build infrastructure. perl's still being difficult.
11:59 AM - wake(8)
MidnightBSD gains the wake(8) utility. You can use it to wake up machines supporting WoL on the network.
Thu, 17 Nov 2011
8:27 PM - BIND security
If you're running BIND on MidnightBSD 0.3 or lower, I strongly recommend switching to the mports version. There are a few security issues with the base system bind.
I've patched it tonight in 0.4-CURRENT, but it's not fun to backport.
Also, our resolver has been patched to allow underscores in names.
Fri, 4 Nov 2011
2:03 PM - CVE-2011-3336
I just patched CVE-2011-3336
This could be used as a denial of service attack against FTP servers or anything else that uses regular expressions from libc. A "bad" regex can consume massive amounts of memory.
The fix has been committed to CURRENT. I want to test this further before applying it to 0.3, but if you have a public facing system, you may wish to grab the following file and rebuild libc:
http://www.midnightbsd.org/cgi-bin/cvsweb.cgi/src/lib/libc/regex/regcomp.c?rev=1.3;content-type=text%2Fplain
The patch does pass the regression tests, but I'm not certain the memory limit calculation is correct. Our implementation is a bit different than NetBSD's as it supports wide characters.
Sat, 22 Oct 2011
11:42 AM - MidnightBSD gains GPT boot, CPU Affinity, and more
Over the last few weeks, I've been working on several new projects. I ported the FreeBSD 7.1 ULE scheduler to MidnightBSD along with CPU affinity and the cpuset(1) utility. The default scheduler has been changed to ULE on i386 and AMD64.
MidnightBSD now supports booting off of GPT partition schemes and gpt(8) was updated to allow one to partition the disk. sysinstall does not support this, however.
Marcus von Appen's BSD licensed cflow implentation has been imported into MidnightBSD. cflow allows one to build call graphs from C and Assembler files and is part of the POSIX.1 standard.
less v436 and awk 20110810 have been imported into 0.4-CURRENT. They are the latest versions available. I've also updated the tzdata to v2011l from October 10, 2011. The timezone data is now hosted at ICANN.
et(4) has been imported. It is an Agere Gigabit Ethernet and Fast Ethernet driver written for DragonFly. I have not included this in the GENERIC kernel, but one can use the kernel module. As I don't have hardware to test with, feedback is very helpful.
A security issue with unix domain sockets was fixed and the linuxolator updated to handle the changes.
fetch(1) was updated from FreeBSD 9 sources. It includes several changes, but the most important one is that passive mode FTP is now the default. If you wish to use active mode FTP, you must set an environment variable now.
gcache(8) was introduced to speed up RAID 3 volumes.
alc(4) includes several fixes which improve performance. I've also added some workarounds for users with CyberPower UPS devices connected to their systems over USB.
My next big project is attempting to get a live cd based installer working. This will also need to work with the new mport tools. Boot crunch barfs on liblzma (xz) which makes building a crunched sysinstall impossible. libmport uses lzma archives to store mport packages now. This is the biggest issue holding up the next release.
Tue, 4 Oct 2011
10:09 PM - MidnightBSD 0.3-RELEASE-p4
MidnightBSD 0.3-RELEASE-p4 includes a patch for a regression introduced in p3 with the linuxolator. The unix socket fix changed the size of a kernel structure and it no longer matched the linux computer part. This broke compatibility with Linux applications.
Users are advised an ugrade to this release.
Sat, 24 Sep 2011
12:18 AM - (no subject)
mports
PHP 5.3.8 and phpMyAdmin 3.4.5 are now available in mports. A new magus run will be scheduled for this weekend to test the recent mports changes.
Refinement continues on the mport command line tool. Current work focuses on integrating libmport with the installer so that we can do the next release.
Sat, 17 Sep 2011
11:49 PM - mports
I've been working on getting ports in shape for the next release. Python 2.6.7 is now in ports along with HelixPlayer (Linux) 11, Gstreamer 0.10.35, and emacs 23.3a.
Wed, 14 Sep 2011
10:21 PM - Updates for early september
I've found myself sidetracked lately with server upgrades, a new laptop I'm trying to get working with MidnightBSD, and other fun things.
Several new happenings in MidnightBSD:
xz 5.0.3 in CURRENT
improvements to mport, msearch and batt(1).
In mports, apache 2.2.21 and xz 5.0.3.
The last magus run is looking a lot better. Here's the results from i386 0.4-CURRENT:
| 229 | 0.4 | i386 | active | 2011-09-04 17:00:43 |
Sat, 10 Sep 2011
10:54 AM - mport gains new command
The mport command now supports a new "download" command. This allows a user to download a package independant of installation. It's saved to the normal package storage path inside of /var.
This is useful when you know you're going to lose network connectivity and want to fetch several packages for installation later.
tags: midnightbsd mport
Mon, 5 Sep 2011
7:31 PM - mports weekend
This past weekend, I've focused on updating ports. www/linux-firefox-devel (3.6.21), most multimedia ports, and gnustep related ports have been updated.
I've also currently running package builds for i386 and amd64.
Fri, 2 Sep 2011
10:52 PM - New packages for 0.4 current on i386
I just blessed the magus run for i386. That means there are a new set of packages on the FTP server for i386. I also put out a new ports index for this release tied to the mport tools sqlite3 database.
I've got a dedicated i386 system for package builds again. It takes a few days to do a run, but it's better than nothing. It's a Pentium D 805 w/ 2GB RAM.
Thu, 1 Sep 2011
1:02 PM - Apache 2.2.20
MidnightBSD mports now includes the latest Apache release. This fixes a DOS attack using range headers. Users are encouraged to upgrade.
Wed, 31 Aug 2011
8:00 PM - Opera 11.51
I've just updated the opera port to 11.51. This version includes some security fixes.
Tue, 30 Aug 2011
11:03 PM - Web browsing on MidnightBSD
MidnightBSD has been lagging some other systems with respect to web browsers. Tonight, I updated Opera, Flash 10 (linux emulation), Firefox 6 and Thunderbird 6 (linux) ports and the nspluginwrapper port. It's now possible to play flash video on several browsers in current (again) and access youtube.
You must be running 0.4-CURRENT to use some of these.
Go: older entries
RSS