nanobsd image boot issues

Paul Schenkeveld fb-embedded at psconsult.nl
Tue May 5 08:14:28 UTC 2009


Hello,

On Sun, May 03, 2009 at 02:20:18PM +0200, Rick van der Zwet wrote:
> 2009/4/24 M. Warner Losh <imp at bsdimp.com>:
> > In message: <5aaae08a0904231438v5b655056g8852dc11f1e83987 at mail.gmail.com>
> >            Rick van der Zwet <info at rickvanderzwet.nl> writes:
> > : Boot delay and fail issues on various hardware using nanobsd generated
> > : RELENG_7_1 images on a sandisk 2gb CF (SDCFH2-002G). For example while
> > : trying to run a image on a soekris net4521 (bios 1.33) it seems to
> > : take ages (up to a minute) to start booting. Same image supplied to a
> > : PC (intel Pentium 1 & award bios) using a CF->IDE converter does not
> > : seems to boot at all, neither does a net4801 (bios 1.33). Just seems
> > : trying to find a boot loader. The net4801 even bails out after a
> > : while. Output of fdisk of image list as follows:
> [snip: fdisk outputs]
> 
> > Have you enabled packet mode for boot in boot0 with boot0cfg?
> 
> I did. The problems turned out to be something completely different.
> Starting from soekris bios version 1.31 and upwards boot0sio does not
> work anymore, freezing forever while trying to boot initially e.g. not
> showing the following output:
>    F1   FreeBSD
>    F2   FreeBSD
> 
>    Default: F1

Yesterday I did a complete nanobsd build from scratch, sources checked
out with RELENG_7_1 tag (gave me 7.1p5) and with the default boot loader
(boot0sio), packet mode is on.

The resulting _.disk.full was put on a Kingston CF/256 compact flash and
put in a Soekris net4801-50 with bios 1.33.  No problem at all.

Haven't tried with net4521 yet, can try upgrade of my net4521 WiFi AP
soon if time permits.

Output of a boot (truncated):

| POST: 012345689bcefghipsajklnopqr,,,tvwxy
| 
| 
| 
| 
| 
| 
| 
| 
| comBIOS ver. 1.33  20080103  Copyright (C) 2000-2007 Soekris Engineering.
| 
| net4801
| 
| 0128 Mbyte Memory                        CPU Geode SC1100 267 Mhz
| 
| Pri Mas  Hitachi XX.V.3.4.0.0            LBA 695-15-48  250 Mbyte
| 
| Slot   Vend Dev  ClassRev Cmd  Stat CL LT HT  Base1    Base2   Int
| -------------------------------------------------------------------
| 0:00:0 1078 0001 06000000 0107 0280 00 00 00 00000000 00000000
| 0:06:0 100B 0020 02000000 0107 0290 00 3F 00 0000E101 A0000000 10
| 0:07:0 100B 0020 02000000 0107 0290 00 3F 00 0000E201 A0001000 10
| 0:08:0 100B 0020 02000000 0107 0290 00 3F 00 0000E301 A0002000 10
| 0:10:0 104C AC23 06040002 0107 0210 08 3F 01 00000000 00000000
| 0:18:2 100B 0502 01018001 0005 0280 00 00 00 00000000 00000000
| 0:19:0 0E11 A0F8 0C031008 0117 0280 08 38 00 A0003000 00000000 11
| 1:00:0 100B 0020 02000000 0107 0290 00 3F 00 0000D001 A4000000 05
| 1:01:0 100B 0020 02000000 0107 0290 00 3F 00 0000D101 A4001000 11
| 
|  1 Seconds to automatic boot.   Press Ctrl-P for entering Monitor.
| 
| 1   FreeBSD
| 2   FreeBSD
| 
| Default: 1
| /boot.config:  -h
| Consoles: serial port
| BIOS drive C: is disk0
| BIOS 639kB/130048kB available memory
| 
| FreeBSD/i386 bootstrap loader, Revision 1.1
| (xxxx at xxxxxx.xxxxxxxxx.xx, Mon May  4 12:11:37 CEST 2009)
| Loading /boot/defaults/loader.conf
| /boot/kernel/kernel text=0x2be700 data=0x2f200+0x1b32c syms=[0x4+0x3af80+0x4+0x4c39b]
| \
| Hit [Enter] to boot immediately, or any other key for command prompt.
| Booting [/boot/kernel/kernel]...
| Copyright (c) 1992-2009 The FreeBSD Project.
| Copyright (c) 1979, 1980, 1983, 1986, 1988, 1989, 1991, 1992, 1993, 1994
|         The Regents of the University of California. All rights reserved.
| FreeBSD is a registered trademark of The FreeBSD Foundation.
| FreeBSD 7.1-RELEASE-p5 #1: Mon May  4 14:05:05 CEST 2009
|     xxxx at xxxxxx.xxxxxxxxx.xx:/usr/obj/usr/src/sys/XXXX
| Timecounter "i8254" frequency 1193182 Hz quality 0

Total boot takes ~ 1 min.

> I generated my images like this:
>    $ fdisk -i -f _.fdisk da0
>    $ boot0cfg -B -b /boot/boot0sio -o packet -s 1 -m 3 da0
>    $ bsdlabel -w -B -b /boot/boot da0s1
>    $ bsdlabel -w -B -b /boot/boot da0s2
>    $ newfs /dev/da0s1a
>    $ newfs /dev/da0s2a
>    $ newfs /dev/da0s3
>    $ cat _.fdisk
>    # 1000944 2 63 16 0 8192 0
>    g c993 h16 s63
>    p 1 165 63 495873
>    p 2 165 495999 495873
>    p 3 165 991872 9072
> 
> When using /boot/boot0 instead of /boot/boot0sio all seems to work
> perfectly fine on all Soekris boards I could test it on (net4521,
> net4801, net5501).
> 
> Next comes the interesting question when I use the some CF card in PC
> is does _not_ work. I did get the output on the screen, but when
> trying to press F1 or F2 or CR. All I got was a beep and no progress
> forward, but just remain in the same section. Default behavior or
> something off?

The boot0sio uses "1" and "2" instead of "F1" and "F2".  I accidently
found out on a server that "1" and "2" work for the standard boot0 too
but am not sure if I used the FB7 or FB8 boot0 on that machine.

> /Rick (reply-to-all button is sometimes hard to find)
> --
> http://rickvanderzwet.nl

-- Paul Schenkeveld


More information about the freebsd-embedded mailing list