Solved RCC-DFF-2220 Can't boot mfsbsd (root mount failure)

Hello,

After endless trying, searching google, I can't find the solution to my problem. I hope there is someone on the forums who can point me in the right direction. I got a device from netgate (www.netgate.com) device type RCC-DFF-2220. I need to boot this device via ipxe with mfsbsd. The ipxe part is working, i have created a iso image with the tutorial on the mfsbsd website. The device boot's up, loads the kernel, and tries to mount the root on md0. This is where it fails. I have tested this image, with a Virtualbox virtual machine, also via ipxe, this boots just fine, no failure on the root mount. The console output is via serial.Below is the boot process. Anyone got a clue why this fails?

Code:
iPXE> chain http://192.168.0.200/bsd.ipxe
http://192.168.0.200/bsd.ipxe... ok
http://192.168.0.200/memdisk... ok
http://192.168.0.200/image.iso... ok
MEMDISK 5.01 2013-01-28  Copyright 2001-2013 H. Peter Anvin et al
e820: 0000000000000000 000000000009f000 1
e820: 000000000009f000 0000000000001000 2
e820: 00000000000f0000 0000000000010000 2
e820: 0000000000100000 000000007faa0000 1
e820: 000000007fba0000 0000000000260000 2
e820: 00000000e0000000 0000000010000000 2
e820: 00000000fee00000 0000000000001000 2
Ramdisk at 0x01aa5000, length 0x0255b000
command line: iso raw
MEMDISK: Image seems to have fractional end cylinder
MEMDISK: Image appears to be truncated
Disk is hd96, 9563 K, C/H/S = 65535/255/15 (El Torito/El Torito), EDD on, rw
Using raw access to high memory
Code 1860, meminfo 192, cmdline 8, stack 512
Total size needed = 2572 bytes, allocating 3K
\/boot/kernel/kernel text=0xf79f95 data=0xdb7e8+0x160f88 syms=[0x4+0xd7fa0+0x4+0x15f0e8]
-588: 0x6694  15E801: 0x3c00 0x00aa
Hit [Enter] to boot immediately, or any other key for command prompt.
Booting [/boot/kernel/kernel]...
Copyright (c) 1992-2015 The FreeBSD Project.1e = f0009fd8
Copyright (c) 1979, 1980, 1983, 1986, 1988, 1989, 1991, 1992, 1993, 1994
Loading The Regents of the University of California. All rights reserved.
FreeBSD is a registered trademark of The FreeBSD Foundation.
FreeBSD 10.2-RELEASE #0 r286666: Wed Aug 12 19:31:38 UTC 2015
    root@releng1.nyi.freebsd.org:/usr/obj/usr/src/sys/GENERIC i386
FreeBSD clang version 3.4.1 (tags/RELEASE_34/dot1-final 208032) 20140512
CPU: Intel(R) Atom(TM) CPU  C2338  @ 1.74GHz (1750.05-MHz 686-class CPU)
  Origin="GenuineIntel"  Id=0x406d8  Family=0x6  Model=0x4d  Stepping=8
  Features=0xbfebfbff<FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR,PGE,MCA,CMOV,PAT,PSE36,CLFLUSH,DTS,ACPI,MMX,FXSR,SSE,SS
E2,SS,HTT,TM,PBE>
  Features2=0x43d8e3bf<SSE3,PCLMULQDQ,DTES64,MON,DS_CPL,VMX,EST,TM2,SSSE3,CX16,xTPR,PDCM,SSE4.1,SSE4.2,MOVBE,POPCNT,TSCDLT,AES
NI,RDRAND>
  AMD Features=0x28100000<NX,RDTSCP,LM>
  AMD Features2=0x101<LAHF,Prefetch>
  Structured Extended Features=0x2282<TSCADJ,SMEP,ERMS,NFPUSG>
  VT-x: PAT,HLT,MTF,PAUSE,EPT,UG,VPID
  TSC: P-state invariant, performance statistics
real memory  = 2142896128 (2043 MB)
avail memory = 2041823232 (1947 MB)
Event timer "LAPIC" quality 600
ACPI APIC Table: <CORE   COREBOOT>
FreeBSD/SMP: Multiprocessor System Detected: 2 CPUs
FreeBSD/SMP: 1 package(s) x 2 core(s)
cpu0 (BSP): APIC ID:  0
cpu1 (AP): APIC ID:  2
random device not loaded; using insecure entropy
ioapic0 <Version 2.0> irqs 0-23 on motherboard
kbd0 at kbdmux0
random: <Software, Yarrow> initialized
module_register_init: MOD_LOAD (vesa, 0xc0fbe2b0, 0) error 19
acpi0: <CORE COREBOOT> on motherboard
acpi0: Power Button (fixed)
hpet0: invalid period
device_attach: hpet0 attach returned 6
cpu0: <ACPI CPU> on acpi0
cpu1: <ACPI CPU> on acpi0
hpet0: invalid period
device_attach: hpet0 attach returned 6
atrtc0: <AT realtime clock> port 0x70-0x77 on acpi0
Event timer "RTC" frequency 32768 Hz quality 0
attimer0: <AT timer> port 0x40-0x43,0x50-0x53 irq 0 on acpi0
Timecounter "i8254" frequency 1193182 Hz quality 0
Event timer "i8254" frequency 1193182 Hz quality 100
Timecounter "ACPI-safe" frequency 3579545 Hz quality 850
acpi_timer0: <24-bit timer at 3.579545MHz> port 0x408-0x40b on acpi0
pcib0: <ACPI Host-PCI bridge> port 0xcf8-0xcff on acpi0
pci0: <ACPI PCI bus> on pcib0
pcib1: <ACPI PCI-PCI bridge> mem 0xdfee0000-0xdfefffff irq 16 at device 1.0 on pci0
pci1: <ACPI PCI bus> on pcib1
pcib2: <ACPI PCI-PCI bridge> mem 0xdff00000-0xdff1ffff irq 19 at device 2.0 on pci0
pci2: <ACPI PCI bus> on pcib2
pcib3: <ACPI PCI-PCI bridge> mem 0xdff20000-0xdff3ffff irq 20 at device 3.0 on pci0
pci3: <ACPI PCI bus> on pcib3
pcib4: <ACPI PCI-PCI bridge> mem 0xdff40000-0xdff5ffff irq 23 at device 4.0 on pci0
pci4: <ACPI PCI bus> on pcib4
pci0: <base peripheral, IOMMU> at device 15.0 (no driver attached)
igb0: <Intel(R) PRO/1000 Network Connection version - 2.4.0> port 0x1000-0x101f mem 0xdff60000-0xdff7ffff,0xdffe0000-0xdffe3ff
f irq 18 at device 20.0 on pci0
igb0: Using MSIX interrupts with 3 vectors
igb0: Ethernet address: 00:08:a2:09:80:cc
igb0: Bound queue 0 to cpu 0
igb0: Bound queue 1 to cpu 1
igb1: <Intel(R) PRO/1000 Network Connection version - 2.4.0> port 0x1020-0x103f mem 0xdff80000-0xdff9ffff,0xdffe4000-0xdffe7ff
f irq 19 at device 20.1 on pci0
igb1: Using MSIX interrupts with 3 vectors
igb1: Ethernet address: 00:08:a2:09:80:cd
igb1: Bound queue 0 to cpu 0
igb1: Bound queue 1 to cpu 1
igb2: <Intel(R) PRO/1000 Network Connection version - 2.4.0> port 0x1040-0x105f mem 0xdffa0000-0xdffbffff,0xdffe8000-0xdffebff
f irq 20 at device 20.2 on pci0
igb2: Using MSIX interrupts with 3 vectors
igb2: Setup of Shared code failed
device_attach: igb2 attach returned 6
igb2: <Intel(R) PRO/1000 Network Connection version - 2.4.0> port 0x1060-0x107f mem 0xdffc0000-0xdffdffff,0xdffec000-0xdffefff
f irq 21 at device 20.3 on pci0
igb2: Using MSIX interrupts with 3 vectors
igb2: Setup of Shared code failed
device_attach: igb2 attach returned 6
ehci0: <Intel Avoton USB 2.0 controller> mem 0xdfff1400-0xdfff17ff irq 22 at device 22.0 on pci0
usbus0: EHCI version 1.0
usbus0 on ehci0
ahci0: <Intel Avoton AHCI SATA controller> port 0x10c0-0x10c7,0x10e0-0x10e3,0x10c8-0x10cf,0x10e4-0x10e7,0x1080-0x109f mem 0xdf
ff0000-0xdfff07ff irq 23 at device 23.0 on pci0
ahci0: AHCI v1.30 with 4 3Gbps ports, Port Multiplier not supported
ahcich0: <AHCI channel> at channel 0 on ahci0
ahcich1: <AHCI channel> at channel 1 on ahci0
ahcich2: <AHCI channel> at channel 2 on ahci0
ahcich3: <AHCI channel> at channel 3 on ahci0
ahci1: <Intel Avoton AHCI SATA controller> port 0x10d0-0x10d7,0x10e8-0x10eb,0x10d8-0x10df,0x10ec-0x10ef,0x10a0-0x10bf mem 0xdf
ff0800-0xdfff0fff irq 16 at device 24.0 on pci0
ahci1: AHCI v1.30 with 2 6Gbps ports, Port Multiplier not supported
ahcich4: <AHCI channel> at channel 0 on ahci1
ahcich5: <AHCI channel> at channel 1 on ahci1
isab0: <PCI-ISA bridge> at device 31.0 on pci0
isa0: <ISA bus> on isab0
pmtimer0 on isa0
orm0: <ISA Option ROM> at iomem 0xc0000-0xc0fff pnpid ORM0000 on isa0
ata0: <ATA channel> at port 0x1f0-0x1f7,0x3f6 irq 14 on isa0
ata1: <ATA channel> at port 0x170-0x177,0x376 irq 15 on isa0
ppc0: parallel port not found.
uart0: <16550 or compatible> at port 0x3f8-0x3ff irq 4 on isa0
uart1: <16550 or compatible> at port 0x2f8-0x2ff irq 3 flags 0x10 on isa0
uart1: console (115200,n,8,1)
est0: <Enhanced SpeedStep Frequency Control> on cpu0
est1: <Enhanced SpeedStep Frequency Control> on cpu1
Timecounters tick every 1.000 msec
random: unblocking device.
usbus0: 480Mbps High Speed USB v2.0
ugen0.1: <Intel> at usbus0
uhub0: <Intel EHCI root HUB, class 9/0, rev 2.00/1.00, addr 1> on usbus0
SMP: AP CPU #1 Launched!
Timecounter "TSC" frequency 1750046256 Hz quality 1000
Root mount waiting for: usbus0
Root mount waiting for: usbus0
Root mount waiting for: usbus0
Root mount waiting for: usbus0
uhub0: 8 ports with 8 removable, self powered
Root mount waiting for: usbus0
ugen0.2: <vendor 0x8087> at usbus0
uhub1: <vendor 0x8087 product 0x07db, class 9/0, rev 2.00/0.02, addr 2> on usbus0
uhub1: 4 ports with 4 removable, self powered
Root mount waiting for: usbus0
Root mount waiting for: usbus0
ugen0.3: <Generic> at usbus0
umass0: <Generic Ultra Fast Media, class 0/0, rev 2.00/1.98, addr 3> on usbus0
umass0:  SCSI over Bulk-Only; quirks = 0xc100
umass0:8:0:-1: Attached to scbus8
Trying to mount root from ufs:/dev/md0 []...
mountroot: waiting for device /dev/md0 ...
da0 at umass-sim0 bus 0 scbus8 target 0 lun 0
da0: <Generic Ultra HS-COMBO 1.98> Removable Direct Access SCSI device
da0: Serial Number 000000225001
da0: 40.000MB/s transfers
da0: 3776MB (7733248 512 byte sectors: 255H 63S/T 481C)
da0: quirks=0x2<NO_6_BYTE>
Mounting from ufs:/dev/md0 failed with error 19.

Loader variables:
  vfs.root.mountfrom=ufs:/dev/md0

Manual root filesystem specification:
  <fstype>:<device> [options]
      Mount <device> using filesystem <fstype>
      and with the specified (optional) option list.

    eg. ufs:/dev/da0s1a
        zfs:tank
        cd9660:/dev/acd0 ro
          (which is equivalent to: mount -t cd9660 -o ro /dev/acd0 /)

  ?               List valid disk boot devices
  .               Yield 1 second (for background tasks)
  <empty line>    Abort manual input

mountroot>
 
Error 19 is roughly "device not found". /dev/md0 is not being created. This can be caused by many things. It could be a USB problem, or a timing problem. What happens if you type a dot and Return a couple of times, then press Return to try it again?

The fractional end cylinder is probably just a warning. But if you are booting off USB, iso raw is maybe not correct. On an older version of Syslinux, I use harddisk raw.
 
Error 19 is roughly "device not found". /dev/md0 is not being created. This can be caused by many things. It could be a USB problem, or a timing problem. What happens if you type a dot and Return a couple of times, then press Return to try it again?

The fractional end cylinder is probably just a warning. But if you are booting off USB, iso raw is maybe not correct. On an older version of Syslinux, I use harddisk raw.

I have waited a couple of seconds, pressed ? to display know boot devices, the md0 device isnt listed. Also, tried with ufs:/dev/md0 on the mountroot command line a couple of times but with no luck. This system is booted from the network with ipxe. This setup boots just fine within a VirtualBox VirtualMachine, which is started with ipxe also.

I have created a .img based mfsBSD and used the harddisk raw option, the outcome is the same, and again does boot on the virtual machine. I guess it has something to do with the hardware of this device?

This was build on i386, just made a amd64 version, nothing changed in the outcome.
 
As far as I know, typing a dot and Return at that prompt actually lets USB devices be detected, where just waiting does not. Please try doing that at least a couple of times.
 
As far as I know, typing a dot and Return at that prompt actually lets USB devices be detected, where just waiting does not. Please try doing that at least a couple of times.

Hi again, thanks for helping me out. Did what you said, pressed . a couple of times, after that wait a few seconds and just pressed enter. It now says a error like kernel panic unable to mount or something, i'm not sure, cause it's only displayed a couple of ms and then the device reboots.
 
I got it to work! After searching and searching, iI came across this post http://forum.ipxe.org/showthread.php?tid=6790 it got me thinking, since my issue was with the memory. Tried the solution, get on the second ipxe shell of the network card, and the device now can boot mfsbsd. Apparently when using the first ipxe shell, the memory isn't initialized properly. I'm so happy! Thank you for your help. Hope this post can help someone out in the future =)
 
Back
Top