Nanobsd & /boot/loader

Brandon Gooch jamesbrandongooch at gmail.com
Mon Nov 22 04:00:47 UTC 2010


On Sun, Nov 21, 2010 at 8:33 PM, Douglas K. Rand
<rand at meridian-enviro.com> wrote:
> I'm having problems getting a 8.1 nanobsd image to boot on a Soekris
> 5501. It is perhaps easiest to show what happens when I power on the
> 5510 with the compact flas installed:
>
> POST: 012345689bcefghips1234ajklnopqr,,,tvwxy
>
> comBIOS ver. 1.33  20070103  Copyright (C) 2000-2007 Soekris Engineering.
>
> net5501
>
> 0512 Mbyte Memory                        CPU Geode LX 500 Mhz
>
> Pri Mas  SanDisk SDCFH-002G              LBA Xlt 974-64-63  1964 Mbyte
>
> Slot   Vend Dev  ClassRev Cmd  Stat CL LT HT  Base1    Base2   Int
> -------------------------------------------------------------------
> 0:01:2 1022 2082 10100000 0006 0220 08 00 00 A0000000 00000000 10
> 0:06:0 1106 3053 02000096 0117 0210 08 40 00 0000E101 A0004000 11
> 0:07:0 1106 3053 02000096 0117 0210 08 40 00 0000E201 A0004100 05
> 0:08:0 1106 3053 02000096 0117 0210 08 40 00 0000E301 A0004200 09
> 0:09:0 1106 3053 02000096 0117 0210 08 40 00 0000E401 A0004300 12
> 0:20:0 1022 2090 06010003 0009 02A0 08 40 80 00006001 00006101
> 0:20:2 1022 209A 01018001 0005 02A0 08 00 00 00000000 00000000
> 0:21:0 1022 2094 0C031002 0006 0230 08 00 80 A0005000 00000000 15
> 0:21:1 1022 2095 0C032002 0006 0230 08 00 00 A0006000 00000000 15
>
>  1 Seconds to automatic boot.   Press Ctrl-P for entering Monitor.
> /boot.config:  -h
> Consoles: serial port
> BIOS drive C: is disk0
> BIOS 639kB/523264kB available memory
>
> FreeBSD/i386 bootstrap loader, Revision 1.1
> (rand at bygland.randomlights.org, Wed Nov 17 21:01:10 CST 2010)
>> \
> \: unknown command
> -
> /boot/kernel/kernel text=0x8c9a23 data=0xde2b4+0xa3fb0 syms=[0x4+0x98450+0x4+0xd0405]
> Hit [Enter] to boot immediately, or any other key for command prompt.
> Booting [/boot/kernel/kernel] in 8 seconds...
>
> Type '?' for a list of commands, 'help' for more detailed help.
> OK boot -s
> \
>
> And then here it simply hangs. I've let it sit for hours and it never
> does anything.
>
> One thing I noticed is that /boot/loader on the nanobsd image is
> different from /boot/loader on my workstation. If I copy /boot/loader
> from my FreeBSD 8.1 workstaiton onto the CF nanobsd image then I get
> alot further. Clearly NanoBSD is building the loader differently,
> mostly because before I never got the beastie loader menu, and now I
> do. But I also get the kernel to actually start, or at least emit
> messages as it starts:
>
> POST: 012345689bcefghips1234ajklnopqr,,,tvwxy
>
> comBIOS ver. 1.33  20070103  Copyright (C) 2000-2007 Soekris Engineering.
>
> net5501
>
> 0512 Mbyte Memory                        CPU Geode LX 500 Mhz
>
> Pri Mas  SanDisk SDCFH-002G              LBA Xlt 974-64-63  1964 Mbyte
>
>
>  ???????????????????????????????????????????
>  ?                                         ?
>  ?                                         ?      ______
>  ?                                         ?     |  ____| __ ___  ___
>  ?          Welcome to FreeBSD!            ?     | |__ | '__/ _ \/ _ \
>  ?                                         ?     |  __|| | |  __/  __/
>  ?                                         ?     | |   | | |    |    |
>  ?  1. Boot FreeBSD [default]              ?     |_|   |_|  \___|\___|
>  ?  2. Boot FreeBSD with ACPI enabled      ?      ____   _____ _____
>  ?  3. Boot FreeBSD in Safe Mode           ?     |  _ \ / ____|  __ \
>  ?  4. Boot FreeBSD in single user mode    ?     | |_) | (___ | |  | |
>  ?  5. Boot FreeBSD with verbose logging   ?     |  _ < \___ \| |  | |
>  ?  6. Escape to loader prompt             ?     | |_) |____) | |__| |
>  ?  7. Reboot                              ?     |     |      |      |
>  ?                                         ?     |____/|_____/|_____/
>  ?                                         ?
>  ?                                         ?
>  ?                                         ?
>  ?  Select option, [Enter] for default     ?
>  ?  or [Space] to pause timer  6           ?
>  ???????????????????????????????????????????
>
> Copyright (c) 1992-2010 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 8.1-RELEASE-p1 #0: Wed Nov 17 21:12:13 CST 2010
>    rand at bygland.randomlights.org:/project/obj/usr/src/sys/GENERIC i386
> Timecounter "i8254" frequency 1193182 Hz quality 0
> CPU: Geode(TM) Integrated Processor by AMD PCS (499.90-MHz 586-class CPU)
>  Origin = "AuthenticAMD"  Id = 0x5a2  Family = 5  Model = a  Stepping = 2
>  Features=0x88a93d<FPU,DE,PSE,TSC,MSR,CX8,SEP,PGE,CMOV,CLFLUSH,MMX>
>  AMD Features=0xc0400000<MMX+,3DNow!+,3DNow!>
> real memory  = 536870912 (512 MB)
> avail memory = 510734336 (487 MB)
> kbd1 at kbdmux0
> K6-family MTRR support enabled (2 registers)
> ACPI Error: A valid RSDP was not found (20100331/tbxfroot-309)
> ACPI: Table initialisation failed: AE_NOT_FOUND
> ACPI: Try disabling either ACPI or apic support.
> pcib0: <Host to PCI bridge> pcibus 0 on motherboard
> pci0: <PCI bus> on pcib0
> pci0: <encrypt/decrypt, entertainment crypto> at device 1.2 (no driver attached)
> vr0: <VIA VT6105M Rhine III 10/100BaseTX> port 0xe100-0xe1ff mem 0xa0004000-0xa00040ff irq 11 at device 6.0 on pci0
> vr0: Quirks: 0x2
> vr0: Revision: 0x96
> miibus0: <MII bus> on vr0
> ukphy0: <Generic IEEE 802.3u media interface> PHY 1 on miibus0
> ukphy0:  10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, auto
> vr0: Ethernet address: 00:00:24:cd:7d:04
> vr0: [ITHREAD]
> vr1: <VIA VT6105M Rhine III 10/100BaseTX> port 0xe200-0xe2ff mem 0xa0004100-0xa00041ff irq 5 at device 7.0 on pci0
> vr1: Quirks: 0x2
> vr1: Revision: 0x96
> miibus1: <MII bus> on vr1
> ukphy1: <Generic IEEE 802.3u media interface> PHY 1 on miibus1
> ukphy1:  10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, auto
> vr1: Ethernet address: 00:00:24:cd:7d:05
> vr1: [ITHREAD]
> vr2: <VIA VT6105M Rhine III 10/100BaseTX> port 0xe300-0xe3ff mem 0xa0004200-0xa00042ff irq 9 at device 8.0 on pci0
> vr2: Quirks: 0x2
> vr2: Revision: 0x96
> miibus2: <MII bus> on vr2
> ukphy2: <Generic IEEE 802.3u media interface> PHY 1 on miibus2
> ukphy2:  10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, auto
> vr2: Ethernet address: 00:00:24:cd:7d:06
> vr2: [ITHREAD]
> vr3: <VIA VT6105M Rhine III 10/100BaseTX> port 0xe400-0xe4ff mem 0xa0004300-0xa00043ff irq 12 at device 9.0 on pci0
> vr3: Quirks: 0x2
> vr3: Revision: 0x96
> miibus3: <MII bus> on vr3
> ukphy3: <Generic IEEE 802.3u media interface> PHY 1 on miibus3
> ukphy3:  10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, auto
> vr3: Ethernet address: 00:00:24:cd:7d:07
> vr3: [ITHREAD]
> isab0: <PCI-ISA bridge> at device 20.0 on pci0
> isa0: <ISA bus> on isab0
> atapci0: <AMD CS5536 UDMA100 controller> port 0x1f0-0x1f7,0x3f6,0x170-0x177,0x376,0xe000-0xe00f at device 20.2 on pci0
> ata0: <ATA channel 0> on atapci0
> ata0: [ITHREAD]
> ata1: <ATA channel 1> on atapci0
> ata1: [ITHREAD]
> ohci0: <OHCI (generic) USB controller> mem 0xa0005000-0xa0005fff irq 15 at device 21.0 on pci0
> ohci0: [ITHREAD]
> usbus0: <OHCI (generic) USB controller> on ohci0
> ehci0: <AMD CS5536 (Geode) USB 2.0 controller> mem 0xa0006000-0xa0006fff irq 15 at device 21.1 on pci0
> ehci0: [ITHREAD]
> usbus1: EHCI version 1.0
> usbus1: <AMD CS5536 (Geode) USB 2.0 controller> on ehci0
> cpu0 on motherboard
> pmtimer0 on isa0
> orm0: <ISA Option ROM> at iomem 0xc8000-0xd27ff pnpid ORM0000 on isa0
> atkbdc0: <Keyboard controller (i8042)> at port 0x60,0x64 on isa0
> atkbd0: <AT Keyboard> irq 1 on atkbdc0
> kbd0 at atkbd0
> atkbd0: [GIANT-LOCKED]
> atkbd0: [ITHREAD]
> atrtc0: <AT Real Time Clock> at port 0x70 irq 8 on isa0
> ppc0: parallel port not found.
> uart0: <16550 or compatible> at port 0x3f8-0x3ff irq 4 flags 0x10 on isa0
> uart0: [FILTER]
> uart0: console (9600,n,8,1)
> uart1: <16550 or compatible> at port 0x2f8-0x2ff irq 3 on isa0
> uart1: [FILTER]
> Timecounter "TSC" frequency 499904784 Hz quality 800
> Timecounters tick every 1.000 msec
> usbus0: 12Mbps Full Speed USB v1.0
> usbus1: 480Mbps High Speed USB v2.0
> ad0: 1918MB <SanDisk SDCFH-002G HDX 5.04> at ata0-master WDMA2
> ugen0.1: <AMD> at usbus0
> uhub0: <AMD OHCI root HUB, class 9/0, rev 1.00/1.00, addr 1> on usbus0
> ugen1.1: <AMD> at usbus1
> uhub1: <AMD EHCI root HUB, class 9/0, rev 2.00/1.00, addr 1> on usbus1
> Root mount waiting for: usbus1 usbus0
> uhub0: 4 ports with 4 removable, self powered
> Root mount waiting for: usbus1
> uhub1: 4 ports with 4 removable, self powered
> Trying to mount root from ufs:/dev/ad1s1a
> ROOT MOUNT ERROR:
> If you have invalid mount options, reboot, and first try the following from
> the loader prompt:
>
>     set vfs.root.mountfrom.options=rw
>
> and then remove invalid mount options from /etc/fstab.
>
> Loader variables:
> vfs.root.mountfrom=ufs:/dev/ad1s1a
> vfs.root.mountfrom.options=ro
>
> Manual root filesystem specification:
>  <fstype>:<device>  Mount <device> using filesystem <fstype>
>                       eg. ufs:/dev/da0s1a
>                       eg. cd9660:/dev/acd0
>                       This is equivalent to: mount -t cd9660 /dev/acd0 /
>
>  ?                  List valid disk boot devices
>  <empty line>       Abort manual input
>

It seems your /etc/fstab is pointing to /dev/ad1s1a for your root filesystem:

vfs.root.mountfrom=ufs:/dev/ad1s1a

...but according to the dmesg output, the only disk detected is /dev/ad0:

ad0: 1918MB <SanDisk SDCFH-002G HDX 5.04> at ata0-master WDMA2

>From the prompt try entering 'ufs:/dev/ad0s1a' and see if it will
boot. If so, after the system is up, change the entry in your
/etc/fstab for the root filesystem mount from /dev/ad1s1a to
/dev/ad0s1a.

Others may have more insight into the particulars of using FreeBSD in
this sort of environment, so I'll leave it open for discussion
regarding stuff disk labeling and such...

-Brandon


More information about the freebsd-embedded mailing list