warning: really long post with some questions and thinking. Hello dear OpenBSD types.
I have been using UNIX in various forms and flavours for a long time now and could even go so far as to say a "very" long time. Therefore it just seems so very familiar to me and yet, a bit new. First thing I see is that it was so very easy to install. I was almost expecting to need to curse and recurse but the install was trivial. I kept a log of the whole process in case something went wrong but nope, it is just a nice simple log. However upon first boot I see that my disk slices are a bit odd in terms of size. I would have liked to arrange things differently. Certainly I will need to create a mount point for a /opt filesystem and that means I need to read fdisk and disklabel man pages over and over. The questions on my mind, in order of importance seem to be : 1) how do I do a full low level backup and then verify that I can restore the system ? To an NFS mount or tape or whatever. 2) how do I edit the disk slices or "partitions" to be what I want? 3) how do I eventually contribute software packages or similar? So number (1) would seem to need a dump command and I see a lot of very friendly and familiar looking goodness in dump(8). The disk low level bits seem to use 512 byte blocks and so I am going to guess that I can do a level 0 dump of each filesystem one at a time to some NFS mounted location and that would suffice for the filesystem level. Not too sure how to deal with the partition table and boot records etc. I see from the fdisk command this : # fdisk -e sd0 Enter 'help' for information fdisk: 1> print Disk: sd0 geometry: 7508/19/248 [35378533 Sectors] Offset: 0 Signature: 0xD6BC Starting Ending LBA Info: #: id C H S - C H S [ start: size ] ------------------------------------------------------------------------------- 0: 55 64103 7 97 - 64111 12 157 [ 302055168: 38997 ] EZ-Drive 1: D5 103269 3 18 - 103270 17 37 [ 486604289: 8204 ] <Unknown ID> 2: 92 153115 15 134 - 153118 17 75 [ 721481733: 14574 ] <Unknown ID> 3: 86 338260 4 10 - 106301 12 65 [ 1593882121: 3201978528 ] NT FAT VS fdisk: 1> exit Looks like there is some black magix at work in partition id 0 through 2 and then one big fat large chunk at id 3 wherein my OpenBSD 5.4 install must live. I am not too sure how to dump or backup the partition table info such that a totally blank disk could be inserted and then a restore done. Perhaps my whole thinking appoach here is old school wrong? Whatever the case the disklabel tool shows me this : # disklabel sd0 # /dev/rsd0c: type: SCSI disk: SCSI disk label: ST318404LSUN18G duid: c5cd4c19ed688052 flags: vendor bytes/sector: 512 sectors/track: 248 tracks/cylinder: 19 sectors/cylinder: 4712 cylinders: 7508 total sectors: 35378533 boundstart: 0 boundend: 35378533 drivedata: 0 16 partitions: # size offset fstype [fsize bsize cpg] a: 1201560 0 4.2BSD 2048 16384 1 # / b: 1201560 1201560 swap # none c: 35378533 0 unused d: 1903648 2403120 4.2BSD 2048 16384 1 # /tmp e: 2855472 4306768 4.2BSD 2048 16384 1 # /var f: 2879032 7162240 4.2BSD 2048 16384 1 # /usr g: 1672760 10041272 4.2BSD 2048 16384 1 # /usr/X11R6 h: 6266960 11714032 4.2BSD 2048 16384 1 # /usr/local i: 2511496 17980992 4.2BSD 2048 16384 1 # /usr/src j: 3491592 20492488 4.2BSD 2048 16384 1 # /usr/obj k: 11393616 23984080 4.2BSD 2048 16384 1 # /home # So that tells me I have 35378533 blocks ( at 512 bytes each ) stuffed in the big magic partition id 3 and that sd0:c ( correct notation? ) is what we old Solaris/SunOS types would call the overlap slice. Seems to make sense by the numbers : # bc 35378533 * 512 18113808896 Yep, that is an old 18G disk there. However the word "partition" has me wondering if I am looking at a "partition" table or a disk label. Not entirely clear .. yet. The disklabel(5) man page sheds a bit of light and the three disklabel.h headers shed even more : # ls -l /usr/include/dev/sun/disklabel.h /usr/include/sparc64/disklabel.h \ > /usr/include/sys/disklabel.h -r--r--r-- 1 root bin 4706 Apr 25 2010 /usr/include/dev/sun/disklabel.h -r--r--r-- 1 root bin 2016 Jun 20 2007 /usr/include/sparc64/disklabel.h -r--r--r-- 1 root bin 15300 Jun 11 2013 /usr/include/sys/disklabel.h # So really I don't see where the data from fdisk lives and I am getting mixed up between "MBR partition table" data and the disklabel. At the very least I don't yet see where those id numbers 55, D5, 92 and 86 come from. Certainly when fdisk(8) says : id MBR partition type identifier. OpenBSD reserves the magic number hexadecimal A6 (166 decimal). Well I don't have an 0xa6h anywhere. I have 0x86h which seems to be one bit away from 0xa6h == 1010 0110b. So maybe the bit 5 has some special value here. Not sure. Anyways, I don't know where the MBR boot record data lives but I am guessing sector 0 on track/cylinder zero of the disk. The real problem on my mind is how to take /dev/sd0k and break it up a bit. I didn't want a 5.3GB /home : # df -h Filesystem Size Used Avail Capacity Mounted on /dev/sd0a 575M 116M 431M 21% / /dev/sd0k 5.3G 40.0K 5.1G 0% /home /dev/sd0d 914M 8.0K 868M 0% /tmp /dev/sd0f 1.4G 420M 895M 32% /usr /dev/sd0g 801M 139M 622M 18% /usr/X11R6 /dev/sd0h 2.9G 104M 2.7G 4% /usr/local /dev/sd0j 1.6G 2.0K 1.6G 0% /usr/obj /dev/sd0i 1.2G 2.0K 1.1G 0% /usr/src /dev/sd0e 1.3G 9.3M 1.3G 1% /var thor-int:/export/boot 35.4G 15.4G 20.0G 43% /mnt/thor There seems to be plenty of room left over for a "partition" or "slice" or thingy which allows /home to be 1GB and then a /opt created with 4GB or so at /dev/sd0l ( the letter ell ). So is there a webpage somewhere that may explain some of the inner bits I am seeing? The page at http://www.openbsd.org/faq/faq14.html seems a bit glossy on the topic of how to wrangle these label bits. Dennis ps: as for dump and backup .. I can figure that out but really how to sort out the disk MBR record and partition table and slice or label bits seems more important first.