Re: NetBSD 6.0Beta and 6.0Beta2 on hpcarm doesn't create a fdisk partition during install
[email protected] Sun, 15 Jul 2012 03:45:40 -0400 (EDT)
| Newsgroups | gmane.os.netbsd.ports.hpcarm,gmane.os.netbsd.devel.installation |
|---|---|
| Message-ID | <[email protected]> |
> On Sat, Jul 14, 2012 at 03:12:30AM -0400, [email protected] wrote: >> Hello, >> >> I've noticed a slight issue with 6.0BETA and 6.0BETA2. After doing an >> install on a new CF card, here's what we get: >> >> -------------- >> fdisk /dev/wd0 >> -------------- > ... >> Partition table: >> 0: Primary 'big' DOS, 16-bit FAT (> 32MB) (sysid 6) >> start 8192, size 80325 (39 MB, Cyls 0/130/3-5/130/2), Active >> 1: <UNUSED> >> 2: <UNUSED> >> 3: <UNUSED> >> First active partition: 0 >> ----------------- >> >> The surprising part is that NetBSD 6.0 BETA & BETA2 can run on this >> flash >> card. Part of that is because hpcarm uses Windows CE to load the NetBS= D >> kernel. But there is a disklabel somewhere. Here's what disklabel says= : >> >> ------------------ >> disklabel /dev/wd0 >> ------------------ > ... >> 16 partitions: >> # size offset fstype [fsize bsize cpg/sgs] >> a: 7863408 88517 4.2BSD 2048 16384 0 # (Cyl. >> 87*-7888*) >> b: 263275 7951925 swap # (Cyl. >> 7888*-8149) >> c: 8126683 88517 unused 0 0 # (Cyl. >> 87*-8149) >> d: 8215200 0 unused 0 0 # (Cyl. 0 >> -8149) >> e: 80325 8192 MSDOS # (Cyl. >> 8*-87*) >> --------------------- > > I'd guess that the disklabel is somewhere in sector 0 or 1. > IIRC 'disklabel -rvvv /dev/wd0a' will tell you where the label is found= . Thanks for that. You were right -- the disklabel is in sector 1. Here's the output on the hpcarm device: jornada# disklabel -rvvv /dev/wd0 disklabel: reading mbr sector 0 disklabel: read sector 0 len 8192 looking for label disklabel: label found at offset 512 from sector 0 # /dev/wd0d: type: unknown disk: TRANSCEND label: flags: bytes/sector: 512 sectors/track: 63 tracks/cylinder: 16 sectors/cylinder: 1008 cylinders: 8150 total sectors: 8215200 rpm: 3600 interleave: 1 trackskew: 0 cylinderskew: 0 headswitch: 0 # microseconds track-to-track seek: 0 # microseconds drivedata: 0 16 partitions: # size offset fstype [fsize bsize cpg/sgs] a: 7863408 88517 4.2BSD 2048 16384 0 # (Cyl. 87*- =20 7888*) b: 263275 7951925 swap # (Cyl. 7888*- =20 8149) c: 8126683 88517 unused 0 0 # (Cyl. 87*- =20 8149) d: 8215200 0 unused 0 0 # (Cyl. 0 - =20 8149) e: 80325 8192 MSDOS # (Cyl. 8*- = =20 87*) > > For a variety of reasons different NetBSD ports keep the disklabel in > different places. > To allow media be moved at least some systems play 'hunt the disklabel'= . > > In this case it looks like exactly what you wanted - I guess you've > moved a disk from hparm to x86. I took a CF card that only had a FAT16 MBR partition and installed NetBSD on it. Using another hpcarm CF, I deleted the original FAT32 MBR partitio= n and created a small FAT16 partition for hpcboot.exe -- the Windows CE bootloader that starts hpcarm and an install kernel. Then within sysinst, I attempted to create a NetBSD MBR partition and then labelled the disk. If I boot from this card, then NetBSD finds the disklabel and the NetBSD partitions are accessible. If I boot a different CF card with NetBSD 5.1.= 2 and insert this CF card, then the disklabel isn't detected. So I guess 5.1.2 doesn't have the same code that looks for the disklabel. > > There is a problem with the partitions 'c' and 'd' though. 'c' is > traditionally the whole disk, the first x86 ports used mbr partition > relative sectors - so 'c' would refer to the 'netbsd part of the disk'. > Then it was changed to use absolute sectors and 'd' got pinched as well > for 'really all of the disk'. > This is a problem if you move a disk from sparc (where 'd' is a user > partition) to x86. > > David I guess the only problem is that an MBR partition isn't created even though sysinst claims it is. That might cause problems if the CF is inserted while another OS is running (although it doesn't cause problems under Windows CE). Unfortunately, there's no way to install NetBSD without first having a DO= S partition to hold the boot loader and kernel. I just took a new flash car= d with the same partition scheme (4G FAT16) and repartitioned it on a Linux box. Sysinst is running now. I'll report on the results when it finishes (it will be a while). Also, hpcboot.exe sometimes has trouble with gzipped kernels. Could we make the 6.0 kernel for hpcarm uncompressed by default? For googlers from the future, the d partition is a user partition on hpcsh, IIRC. Jason M.