[SOLUTION] DB-88F6XXX kernel on 88F6281_A0 (GoFlex Net)

Rasmus Liland jensrasmus at gmail.com
Sat Apr 1 10:07:27 UTC 2017


On 2017-04-01 01:42 +0200, Rasmus Liland wrote:
> 
> Unable to calculate the addresses myself, I found in U-boot 
> already stated address variables of Linux kernel /boot/uImage and 
> ramdisk /uInitrd to be respecively addr_kern=0x680000, and 
> addr_rd=0x1100000, which is an offset of 5568KiB.
> 
> As stated earlier, it is possible to load kernel.bin from address 
> 0x600000, perhaps 0x680000 is just enough. Will try this, 
> reporting back in some hours.

GUYS!!!
IT'S BOOTING!!!

The proper way of booting is:

 · Taking the DOCKSTAR kernel, ripping out the IPSEC_NAT_T to 
   make it compile at all (why this module does not compile on 
   TARGET_ARCH=arm despite being enabled in this stock kernel I 
   do not know)

 · Loading resulting kernel.bin to address 0x1100000, which is 
   the address already defined in $addr_rd to normally load the 
   Linux ramdisk uInitrd

/Rasmus
-------------- next part --------------
--- DOCKSTAR    2017-03-31 12:30:26.752632000 +0200
+++ DOCKSTARWOIPSECNATT 2017-04-01 10:33:02.845141000 +0200
@@ -118,7 +118,6 @@
 # IPSec
 device         enc
 options        IPSEC
-options        IPSEC_NAT_T
 options        TCP_SIGNATURE           # include support for RFC 2385
 
 # IPFW
-------------- next part --------------
Marvell>> dhcp
BOOTP broadcast 1
*** Unhandled DHCP Option in OFFER/ACK: 28
*** Unhandled DHCP Option in OFFER/ACK: 28
DHCP client bound to address 10.6.6.26
*** Warning: no boot file name; using '0A06061A.img'
Using egiga0 device
TFTP from server 10.6.6.1; our IP address is 10.6.6.26
Filename '0A06061A.img'.
Load address: 0x800000
Loading: *
TFTP error: 'File not found' (1)
Not retrying...
Marvell>> printenv addr_rd
addr_rd=0x1100000
Marvell>> tftpboot $addr_rd dockstarwoipsecnatt
Using egiga0 device
TFTP from server 10.6.6.1; our IP address is 10.6.6.26
Filename 'dockstarwoipsecnatt'.
Load address: 0x1100000
Loading: #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         ###########################################################
done
Bytes transferred = 6587876 (6485e4 hex)
Marvell>> go $addr_rd
## Starting application at 0x01100000 ...
Copyright (c) 1992-2017 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 11.0-STABLE #0 r316330: Sat Apr  1 10:45:38 CEST 2017
    root at node:/usr/obj/arm.arm/usr/src/stable/11/sys/DOCKSTARWOIPSECNATT arm
FreeBSD clang version 3.9.1 (tags/RELEASE_391/final 289601) (based on LLVM 3.9.1)
CPU: Feroceon 88FR131 rev 1 (**unknown 4** core)
  Little-endian DC enabled IC disabled WA disabled DC streaming enabled
  BTB disabled L2 enabled L2 prefetch enabled
  WB enabled LABT branch prediction disabled
  16KB/32B 4-way instruction cache
  16KB/32B 4-way write-back-locking-C data cache
real memory  = 134213632 (127 MB)
avail memory = 122802176 (117 MB)
SOC: Marvell 88F6281 rev A1, TClock 200MHz
  Instruction cache prefetch disabled, data cache prefetch disabled
  256KB 4-way set-associative write-through unified L2 cache
random: entropy device external interface
ofwbus0: <Open Firmware Device Tree>
simplebus0: <Flattened device tree simple bus> on ofwbus0
cpulist0: <Open Firmware CPU Group> on ofwbus0
cpu0: <Open Firmware CPU> on cpulist0
localbus0: <Marvell device bus> on ofwbus0
ic0: <Marvell Integrated Interrupt Controller> mem 0x20200-0x2023b on simplebus0
timer0: <Marvell CPU Timer> mem 0x20300-0x2032f irq 1 on simplebus0
Event timer "CPUTimer0" frequency 200000000 Hz quality 1000
Timecounter "CPUTimer1" frequency 200000000 Hz quality 1000
gpio0: <Marvell Integrated GPIO Controller> mem 0x10100-0x1011f irq 35,36,37,38,39,40,41 on simplebus0
rtc0: <Marvell Integrated RTC> mem 0x10300-0x10307 on simplebus0
twsi0: <Marvell Integrated I2C Bus Controller> mem 0x11000-0x1101f irq 43 on simplebus0
iicbus0: <Philips I2C bus> on twsi0
iic0: <I2C generic I/O> on iicbus0
mge0: <Marvell Gigabit Ethernet controller> mem 0x72000-0x73fff irq 12,13,14,11,46 on simplebus0
mge0: PHY0 attached, phy_sc points to mge0
mge0: Ethernet address: 00:10:75:26:68:44
miibus0: <MII bus> on mge0
e1000phy0: <Marvell 88E1116R Gigabit PHY> PHY 0 on miibus0
e1000phy0:  none, 10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, 1000baseT, 1000baseT-master, 1000baseT-FDX, 1000baseT-FDX-master, auto
uart0: <16550 or compatible> mem 0x12000-0x1201f irq 33 on simplebus0
uart0: console (1056,n,8,1)
uart1: <16550 or compatible> mem 0x12100-0x1211f irq 34 on simplebus0
cesa0: <Marvell Cryptographic Engine and Security Accelerator> mem 0x30000-0x30fff,0x3d000-0x3dfff irq 22 on simplebus0
ehci0: <Marvell Integrated USB 2.0 controller> mem 0x50000-0x50fff irq 48,19 on simplebus0
usbus0: EHCI version 1.0
usbus0 on ehci0
cryptosoft0: <software crypto>
Timecounters tick every 10.000 msec
ipfw2 (+ipv6) initialized, divert enabled, nat enabled, default to accept, logging disabled
DUMMYNET 0 with IPv6 initialized (100409)
load_dn_sched dn_sched PRIO loaded
load_dn_sched dn_sched QFQ loaded
load_dn_sched dn_sched RR loaded
load_dn_sched dn_sched WF2Q+ loaded
load_dn_sched dn_sched FIFO loaded
load_dn_sched dn_sched FQ_CODEL loaded
load_dn_sched dn_sched FQ_PIE loaded
load_dn_aqm dn_aqm CODEL loaded
load_dn_aqm dn_aqm PIE loaded
usbus0: 480Mbps High Speed USB v2.0
Trying to mount root from ufs:/dev/da0s1a []...
Root mount waiting for: usbus0
ugen0.1: <Marvell EHCI root HUB> at usbus0
uhub0: <Marvell EHCI root HUB, class 9/0, rev 2.00/1.00, addr 1> on usbus0
uhub0: 1 port with 1 removable, self powered
mountroot: waiting for device /dev/da0s1a...
Mounting from ufs:/dev/da0s1a failed with error 19.

Loader variables:

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/cd0 ro
          (which is equivalent to: mount -t cd9660 -o ro /dev/cd0 /)

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

mountroot>


More information about the freebsd-arm mailing list