nanoBSD CF card issue in 9.0

I am trying to update my nanoBSD Soekris 4501 NTP time servers using FreeBSD 9.0. I'd previously been running 5.0 (these machines had been running a *long* time) so this is a major step forward! I've finally gotten nanoBSD to successfully build a disk image on the host machine, but am now running into problems that I suspect may be due to the change from traditional MBR disk handling.

When I try to copy (on the host machine) the _.disk.full file to a CF card using dd, after the write completes I get this error: GEOM_PART: integrity check failed (da0, MBR).

If I then put the card into the Soekris and boot, I get a normal kernel boot but a failure to mount the root filesystem, with the same GEOM_PART error message as above as well as the message "Mounting from ufs:/dev/ad0s1a failed with error 19."

I'd appreciate any suggestions on how to fix this. I've been working (off and on) for a couple of months to do this upgrade, and it's painful to be so close yet so far from having the system working!

Thanks,

John
 
It looks as though my problem was flash card geometry. My "1GB" and "2GB" Sandisk Ultra CF cards are not 1024 or 2048 MB, but instead the 2GB is more like 1904 -- I suspect this is the old binary vs. decimal interpretation of "MB" etc.

I'm still working to debug the rest of the system, and will post if there are any further learnings, but the cure for now was to create a new CF definition with the right size. I am still seeing head/sector mismatch errors, but they don't seem to cause anything to fail.
 
Back
Top