Search this site


Metadata

Articles

Projects

Presentations

Soekris net4501 upgrade to FreeBSD 7.0

I've definitely spent 10+ hours in the past 2 days trying to get this system upgraded from 6.0 to 7.0...

Why? First, I was using the wrong power supply, so it would randomly reboot during startup (4 hours, after before I figured that one out, after compiling zillions of kernels, even trying GENERIC from 6.2, 6.3, and 7.0). Then, I couldn't get a stable system image that would boot successfully. It would halt trying to run /sbin/init. Not sure why.

I was initially making my own image with mdconfig, and rsyncing the entire system into a file-backed fs. Then I dd'd this image to my compactflash and put it in the net4501. I gave up on that after several hours, and did this instead:

  1. Bring up a new vmware instance with 2 disks. 1 800mb disk and 1 5gb disk.
  2. Install 7.0-RC1, only install kernel and base.
  3. Mount the 5gb disk (newfs /dev/sd1, mount /dev/sd1 /usr/src) and unpack the kernel sources there. Build kernel (For the soekris box).
  4. Make any necessary config changes (serial console, etc)
  5. Shutdown machine
  6. Use qemu-img to convert the vmware disk into a raw disk image
  7. dd the new image to compact flash.
  8. Rejoice. I have a working net4501 now.
In testing in qemu, I get random timeouts talking to ad0. On the soekris board, I get random timeouts to ad0. wtf :(

Boot into safe-mode, and everything seems find. (Safe mode turns off DMA, iirc)