Building boot2 for ixp425
sam at freebsd.org
Fri May 15 19:03:11 UTC 2009
Jon Loeliger wrote:
>>> So, I did the above buildworld. That's KERNCONF agnostic, right?
>>> And then I did the "buildenv/cd/make" above, and created a
>>> boot2 image finally. Cool. However, it is not UFS-kosher
>>> Onto the Avila board, stuff in flash, and "go" it:
>>> RedBoot> go
>>> FreeBSD ARM (Gateworks Avila) boot2 v0.4
>>> Not ufs
>> The boot2 loader is only for booting when the kernel is on flash (ie
>> compat flash card plugged in).
> There is a nanobsd built image on the compact flash card,
> which is plugged in.
A bit of searching shows "Not ufs" comes from boot/common/ufsread.c and
indicates the magic number read from the superblock didn't match
anything known. This points at your CF image.
>> Are you sure you have flash storage plugged in
boot2 would've complained differently if there was no CF plugged
>> with a ufs bootable filesystem on it?
> Maybe. I think I successfully built that image using
> the nanobsd.sh script with the G2348 kernel via the
> tools/tools/nanobsd/gateworks/avila conf file.
> Is there a tool that will take nanobsd's "full disk" image,
> inspect it, and itemize what is really in it?
Unfortunately no; we're lacking bi-endian UFS support so the big-endian
image you probably made on an x86 box won't be readable. The nanobsd
logs files should provide everything you need to verify the
construction. It's possible however you transferred the data to the
part wasn't right but my experience is that when that's broken you get
different symptoms like the boot process just stopping w/o console output.
>> If you get your root filesystem from some other means (nfs) then you can
>> just write the kernel itself to redboot.
> If possible, I specifically want to avoid the use of NFS in this
> bootstrap process. That's why I think I am trying to use CF.
People do this all the time so not sure why you're having so much
trouble. My usual process is:
1. run nanobsd.sh to construct image
2. dd if=/usr/obj/mumble/_.disk.full of=/dev/da0 bs=63b (or similar)
3. move CF part and boot
(this is for a CF part in a usb reader/writer).
More information about the freebsd-current