[SOLVED] Can't boot with NanoBSD on a FabiaTech FX5622


  • Hello!

    Does anybody know if this problem is solved?

    http://forum.pfsense.org/index.php/topic,17830.0.html

    I would like to buy a FabiaTech FX5622 box …

    Regards,

    Josep Pujadas


  • I think I know what you're seeing, a few Intel boards have a hardware bug in the serial implementation that prevents booting if displaying the boot menu on a serial console. You can work around it by not displaying the boot menu on serial. Put the CF/hard drive into a functional pfSense system, hit 8 to get a command prompt, and run:

    boot0cfg -v -B ad0

    where ad0 is the CF/HD. Put it back into that system, and it should work fine. But you won't be able to switch between partitions 1 and 2 unless the BIOS has serial redirection that allows you to get that prompt.


  • Chris,

    Thanks!

    I understand you told me to rewrite the Boot Manager for non interactive booting:

    http://www.freebsd.org/cgi/man.cgi?query=boot0cfg

    However, I can't test now. People near me that they have these boxes said they are in production, using Embedded.

    I encouraged them to make the test … in order to have upgrading available.

    Regards,

    Josep Pujadas


  • Nanobsd usually uses boot0sio, which displays the F1/F2 boot prompt on the serial console. That switches it to boot0, which shows that on VGA instead.


  • This means that after that NanoBSD will be VGA+keyboard ?

    Tried to run the command on an ALIX box running NanoBSD … and got an error ...

    boot0cfg: /dev/ad0: Class not found
    boot0cfg: /dev/ad0: ioctl DIOCSMBR: Inappropriate ioctl for device

    Rebooting…
    ûûKûÛòðû}°ÿûYÛm°o–I€Ùð(·¤®þù
    1 FreeBSD
    2 FreeBSD

    Boot: 1
    /boot.config: -h
    Consoles: serial port
    BIOS drive C: is disk0
    BIOS 640kB/261120kB available memory

    FreeBSD/i386 bootstrap loader, Revision 1.1
    (sullrich@FreeBSD_7.2_pfSense_1.2.3_snaps.pfsense.org, Mon Dec 7
    23:00:35 EST 2
    009)
    Loading /boot/defaults/loader.conf
    /boot/kernel/kernel text=0x739788 data=0x13cf6c+0x51c80 /

    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.2-RELEASE-p5 #0: Mon Dec 7 23:21:27 EST 2009
    sullrich@FreeBSD_7.2_pfSense_1.2.3_snaps.pfsense.org:/usr/obj.pfSense/usr/pf
    Sensesrc/src/sys/pfSense_wrap.7.i386
    Timecounter "i8254" frequency 1193182 Hz quality 0
    CPU: Geode(TM) Integrated Processor by AMD PCS (498.05-MHz 586-class CPU)
    Origin = "AuthenticAMD" Id = 0x5a2 Stepping = 2
    Features=0x88a93d <fpu,de,pse,tsc,msr,cx8,sep,pge,cmov,clflush,mmx>AMD Features=0xc0400000 <mmx+,3dnow!+,3dnow!>real memory = 268435456 (256 MB)
    avail memory = 248639488 (237 MB)
    pnpbios: Bad PnP BIOS data checksum
    wlan: mac acl policy registered
    K6-family MTRR support enabled (2 registers)
    ACPI Error (tbxfroot-0308): A valid RSDP was not found [20070320]
    ACPI: Table initialisation failed: AE_NOT_FOUND
    ACPI: Try disabling either ACPI or apic support.
    cryptosoft0: <software crypto="">on motherboard
    padlock0: No ACE support.
    pcib0: <host to="" pci="" bridge="">pcibus 0 on motherboard
    pci0: <pci bus="">on pcib0
    Geode LX: PC Engines ALIX.2 v0.99h tinyBIOS V1.4a (C)1997-2007
    pci0: <encrypt decrypt,="" entertainment="" crypto="">at device 1.2 (no driver
    attached)

    vr0: <via 10="" vt6105m="" rhine="" iii="" 100basetx="">port 0x1000-0x10ff mem
    0xe0000000-0xe0
    0000ff irq 10 at device 9.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:0d:b9:18:72:a4
    vr0: [ITHREAD]
    vr1: <via 10="" vt6105m="" rhine="" iii="" 100basetx="">port 0x1400-0x14ff mem
    0xe0040000-0xe0
    0400ff irq 11 at device 10.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:0d:b9:18:72:a5
    vr1: [ITHREAD]
    vr2: <via 10="" vt6105m="" rhine="" iii="" 100basetx="">port 0x1800-0x18ff mem
    0xe0080000-0xe0
    0800ff irq 15 at device 11.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:0d:b9:18:72:a6
    vr2: [ITHREAD]
    isab0: <pci-isa bridge="">port
    0x6000-0x6007,0x6100-0x61ff,0x6200-0x623f,0x9d00-0x
    9d7f,0x9c00-0x9c3f at device 15.0 on pci0
    isa0: <isa bus="">on isab0
    atapci0: <amd cs5536="" udma100="" controller="">port
    0x1f0-0x1f7,0x3f6,0x170-0x177,0x37
    6,0xff00-0xff0f at device 15.2 on pci0
    ata0: <ata 0="" channel="">on atapci0
    ata0: [ITHREAD]
    ata1: <ata 1="" channel="">on atapci0
    ata1: [ITHREAD]
    ohci0: <ohci (generic)="" usb="" controller="">mem 0xefffe000-0xefffefff irq 12
    at devic
    e 15.4 on pci0
    ohci0: [GIANT-LOCKED]
    ohci0: [ITHREAD]
    usb0: OHCI version 1.0, legacy support
    usb0: <ohci (generic)="" usb="" controller="">on ohci0
    usb0: USB revision 1.0
    uhub0: <amd 1="" 9="" ohci="" root="" hub,="" class="" 0,="" rev="" 1.00="" 1.00,="" addr="">on usb0
    uhub0: 4 ports with 4 removable, self powered
    ehci0: <amd cs5536="" (geode)="" usb="" 2.0="" controller="">mem 0xefffd000-0xefffdfff
    irq 12
    at device 15.5 on pci0
    ehci0: [GIANT-LOCKED]
    ehci0: [ITHREAD]
    usb1: EHCI version 1.0
    usb1: companion controller, 4 ports each: usb0
    usb1: <amd cs5536="" (geode)="" usb="" 2.0="" controller="">on ehci0
    usb1: USB revision 2.0
    uhub1: <amd 1="" 9="" ehci="" root="" hub,="" class="" 0,="" rev="" 2.00="" 1.00,="" addr="">on usb1
    uhub1: 4 ports with 4 removable, self powered
    cpu0 on motherboard
    orm0: <isa option="" rom="">at iomem 0xe0000-0xea7ff pnpid ORM0000 on isa0
    ppc0: parallel port not found.
    sio0 at port 0x3f8-0x3ff irq 4 flags 0x10 on isa0
    sio0: type 16550A, console
    sio0: [FILTER]
    sio1 at port 0x2f8-0x2ff irq 3 on isa0
    sio1: type 16550A
    sio1: [FILTER]
    Timecounter "TSC" frequency 498054755 Hz quality 800
    Timecounters tick every 10.000 msec
    IPsec: Initialized Security Association Processing.
    ad0: 983MB <cf card="" ver1.27="">at ata0-master PIO4
    WARNING: Expected rawoffset 0, found 63
    WARNING: Expected rawoffset 0, found 922383
    Trying to mount root from ufs:/dev/ufs/pfsense0
    Setting up embedded specific environment… done.


    / f
    / p _
    / Sense
    _
    /
    _
    _/

    Welcome to pfSense 1.2.3-RELEASE...

    Mounting filesystems... done.
    Creating symlinks......done.
    Launching the init system... done.
    Initializing.................. done.
    Starting device manager (devd)...done.
    Loading configuration......done.
    Updating configuration...done.
    Cleaning backup cache...done.
    glxsb0: <amd geode="" lx="" security="" block="" (aes-128-cbc,="" rng)="">mem
    0xefff4000-0xefff7f
    ff irq 9 at device 1.2 on pci0
    Setting up extended sysctls...done.
    Syncing user passwords...done.
    Starting Secure Shell Services...done.
    Setting timezone...done.
    Setting up microcode and tx/rx ovffloading...r1: link state changed to DOWN
    vr0: link state changed to DOWN
    done.
    Configuring LAN interface...done.
    Configuring WAN interface...done.
    Configuring OPT vinterfaces...rdone.
    2: link state changed to DOWN
    Configuring CARP interfaces...done.
    Starting syslog...done.
    Starting OpenNTP time client...done.
    Configuring firewall......done.
    Starting webConfigurator...done.
    Starting DNS forwarder...done.
    Starting FTP helpers...done.
    Final filter pass......done.
    Generating RRD graphs...done.
    Starting CRON... done.
    Executing rc.d items...
    Starting /usr/local/etc/rc.d/*.sh...done.
    appending output to nohup.out
    Bootup complete

    FreeBSD/i386 (pfSense.local) (console)

    *** Welcome to pfSense 1.2.3-RELEASE-nanobsd on pfSense ***

    LAN -> vr0 -> 192.168.10.27
    WAN -> vr1 -> NONE(DHCP)

    pfSense console setup


    1. Logout (SSH only)
    2. Assign Interfaces
    3. Set LAN IP address
    4. Reset webConfigurator password
    5. Reset to factory defaults
    6. Reboot system
    7. Halt system
    8. Ping host
       Shell
    9. PFtop
    10. Filter Logs
    11. Restart webConfigurator
    12. pfSense Developer Shell
    13. Upgrade from console
    14. Enable Secure Shell (sshd)

    Enter an option: 8

    [1.2.3-RELEASE] [root@pfSense.local]/root(1): boot0cfg -v -B ad0
    boot0cfg: /dev/ad0: Class not found
    boot0cfg: /dev/ad0: ioctl DIOCSMBR: Inappropriate ioctl for device
    [1.2.3-RELEASE] [root@pfSense.local]/root(2):</amd></cf></isa></amd></amd></amd></amd></ohci></ohci></ata></ata></amd></isa></pci-isa></generic></mii></via></generic></mii></via></generic></mii></via></encrypt></pci></host></software></mmx+,3dnow!+,3dnow!></fpu,de,pse,tsc,msr,cx8,sep,pge,cmov,clflush,mmx>


  • I found

    http://arkiv.netbsd.se/?ml=freebsd-stable&a=2008-11&t=9160032

    where it says that

    sysctl kern.geom.debugflags=16
    

    is needed before attempting boot0cfg


  • Finally, it worked!

    1. Modify the CF on a running box:

    sysctl kern.geom.debugflags=16
    boot0cfg -v -B ad0

    2. Go with the modified CF to FX5622

    Booting … serial ...

    Limitation: No possible to boot from the second slice, as you said.

    Regards,

    Josep Pujadas


  • Hi,

    now we have this problem, does it mean that we need another pfsense box, boot from the nano distro, and then modify it with

    sysctl kern.geom.debugflags=16
    boot0cfg -v -B ad0

    and finally put it in the fabiatech  FX5622.

    are this steps correct?

    thanks



  • oooh  :(

    we only have our FX5622, we will try to boot from a multicard reader in a standard PC,

    when I'll get it, I'll let you know.

    Many thanks!