[SOLUTION] DB-88F6XXX kernel on 88F6281_A0 (GoFlex Net)
Rasmus Liland
jensrasmus at gmail.com
Sat Apr 1 19:42:36 UTC 2017
On 2017-04-01 12:06 +0200, Rasmus Liland wrote:
> · 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
By browsing around the mailing list, I found this seven year old
email from Milan
https://lists.freebsd.org/pipermail/freebsd-arm/2010-October/002604.html
thus, I added his sata group to a new goflex.dts file based on
the old dockstar.dts (see attachment) which still has not evolved
much away from the sheevaplug file he edited back then.
I also ripped out ipfw and added dtrace.
This was such a lot of fun!
/Rasmus
-------------- next part --------------
U-Boot 2010.09 (Feb 16 2011 - 18:42:02)
UBIT v0.6 by Jeff Doozan and Peter Carmichael
SoC: Kirkwood 88F6281_A0
DRAM: 128 MiB
NAND: 256 MiB
In: serial
Out: serial
Err: serial
Net: egiga0
88E1116 Initialized on egiga0
Creating 1 MTD partitions on "nand0":
0x000002500000-0x000010000000 : "mtd=3"
UBI: attaching mtd1 to ubi0
UBI: physical eraseblock size: 131072 bytes (128 KiB)
UBI: logical eraseblock size: 129024 bytes
UBI: smallest flash I/O unit: 2048
UBI: sub-page size: 512
UBI: VID header offset: 512 (aligned 512)
UBI: data offset: 2048
UBI: fixable bit-flip detected at PEB 1750
UBI: attached mtd1 to ubi0
UBI: MTD device name: "mtd=3"
UBI: MTD device size: 219 MiB
UBI: number of good PEBs: 1752
UBI: number of bad PEBs: 0
UBI: max. allowed volumes: 128
UBI: wear-leveling threshold: 4096
UBI: number of internal volumes: 1
UBI: number of user volumes: 0
UBI: available PEBs: 1731
UBI: total number of reserved PEBs: 21
UBI: number of PEBs reserved for bad PEB handling: 17
UBI: max/mean erase counter: 2/1
UBIFS error (pid 0): ubifs_get_sb: cannot open "ubi:silent", error -19
Error reading superblock on volume 'ubi:silent'!
UBIFS not mounted, use ubifs mount to mount volume first!
Using egiga0 device
ping failed; host 10.10.10.5 is not alive
(Re)start USB...
USB: Register 10011 NbrPorts 1
USB EHCI 1.00
scanning bus for devices... 1 USB Device(s) found
scanning bus for storage devices... 0 Storage Device(s) found
Hit any key to stop autoboot: 0
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>> tftpboot $addr_rd goflex
Using egiga0 device
TFTP from server 10.6.6.1; our IP address is 10.6.6.26
Filename 'goflex'.
Load address: 0x1100000
Loading: #################################################################
#################################################################
#################################################################
#################################################################
#################################################################
###########################################
done
Bytes transferred = 5392104 (5246e8 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 #11 r316330: Sat Apr 1 18:54:23 CEST 2017
root at node:/usr/obj/arm.arm/usr/src/stable/11/sys/GOFLEX 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 = 124002304 (118 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
nand0: <Marvell NAND controller> mem 0xf9300000-0xf93fffff on localbus0
nandbus0: <NAND bus> on nand0
onand0: <ONFI compliant NAND> on nandbus0
onand0: No BBT found. Prescan chip...
#onand0: Bad block(40)
onand0: Bad block(41)
onand0: Bad block(42)
onand0: Bad block(43)
onand0: Bad block(44)
onand0: Bad block(45)
onand0: Bad block(46)
onand0: Bad block(47)
onand0: Bad block(48)
onand0: Bad block(49)
onand0: Bad block(50)
onand0: Bad block(51)
onand0: Bad block(52)
onand0: Bad block(53)
onand0: Bad block(54)
onand0: Bad block(55)
onand0: Bad block(56)
onand0: Bad block(57)
onand0: Bad block(58)
onand0: Bad block(59)
onand0: Bad block(60)
onand0: Bad block(61)
onand0: Bad block(62)
onand0: Bad block(63)
onand0: Bad block(64)
onand0: Bad block(65)
onand0: Bad block(66)
onand0: Bad block(67)
onand0: Bad block(68)
onand0: Bad block(69)
onand0: Bad block(70)
onand0: Bad block(71)
onand0: Bad block(72)
onand0: Bad block(73)
onand0: Bad block(74)
onand0: Bad block(75)
onand0: Bad block(76)
onand0: Bad block(77)
onand0: Bad block(78)
onand0: Bad block(79)
onand0: Bad block(80)
onand0: Bad block(81)
onand0: Bad block(82)
onand0: Bad block(83)
onand0: Bad block(84)
onand0: Bad block(85)
onand0: Bad block(86)
onand0: Bad block(87)
onand0: Bad block(88)
onand0: Bad block(89)
onand0: Bad block(90)
onand0: Bad block(91)
onand0: Bad block(92)
onand0: Bad block(93)
onand0: Bad block(94)
onand0: Bad block(95)
onand0: Bad block(96)
onand0: Bad block(97)
onand0: Bad block(98)
onand0: Bad block(99)
onand0: Bad block(100)
#onand0: Bad block(101)
onand0: Bad block(102)
onand0: Bad block(103)
onand0: Bad block(104)
onand0: Bad block(105)
onand0: Bad block(106)
onand0: Bad block(107)
onand0: Bad block(108)
onand0: Bad block(109)
onand0: Bad block(110)
onand0: Bad block(111)
onand0: Bad block(112)
onand0: Bad block(113)
onand0: Bad block(114)
onand0: Bad block(115)
onand0: Bad block(116)
onand0: Bad block(117)
onand0: Bad block(118)
onand0: Bad block(119)
onand0: Bad block(120)
onand0: Bad block(121)
onand0: Bad block(122)
onand0: Bad block(123)
onand0: Bad block(124)
onand0: Bad block(125)
onand0: Bad block(126)
onand0: Bad block(127)
onand0: Bad block(128)
onand0: Bad block(129)
onand0: Bad block(130)
onand0: Bad block(131)
onand0: Bad block(132)
onand0: Bad block(133)
onand0: Bad block(134)
onand0: Bad block(135)
onand0: Bad block(136)
onand0: Bad block(137)
onand0: Bad block(138)
onand0: Bad block(139)
onand0: Bad block(140)
onand0: Bad block(141)
onand0: Bad block(142)
onand0: Bad block(143)
onand0: Bad block(144)
onand0: Bad block(145)
onand0: Bad block(146)
onand0: Bad block(147)
onand0: Bad block(148)
onand0: Bad block(149)
onand0: Bad block(150)
onand0: Bad block(151)
onand0: Bad block(152)
onand0: Bad block(153)
onand0: Bad block(154)
onand0: Bad block(155)
onand0: Bad block(156)
onand0: Bad block(157)
onand0: Bad block(158)
onand0: Bad block(159)
onand0: Bad block(160)
onand0: Bad block(161)
onand0: Bad block(162)
onand0: Bad block(163)
onand0: Bad block(164)
onand0: Bad block(165)
onand0: Bad block(166)
onand0: Bad block(167)
onand0: Bad block(168)
onand0: Bad block(169)
onand0: Bad block(170)
onand0: Bad block(171)
onand0: Bad block(172)
onand0: Bad block(173)
onand0: Bad block(174)
onand0: Bad block(175)
onand0: Bad block(176)
onand0: Bad block(177)
onand0: Bad block(178)
onand0: Bad block(179)
onand0: Bad block(180)
onand0: Bad block(181)
onand0: Bad block(182)
onand0: Bad block(183)
onand0: Bad block(184)
onand0: Bad block(185)
onand0: Bad block(186)
onand0: Bad block(187)
onand0: Bad block(188)
onand0: Bad block(189)
onand0: Bad block(190)
onand0: Bad block(191)
onand0: Bad block(192)
onand0: Bad block(193)
onand0: Bad block(194)
onand0: Bad block(195)
onand0: Bad block(196)
onand0: Bad block(197)
onand0: Bad block(198)
onand0: Bad block(199)
onand0: Bad block(200)
#onand0: Bad block(201)
onand0: Bad block(202)
onand0: Bad block(203)
onand0: Bad block(204)
onand0: Bad block(205)
onand0: Bad block(206)
onand0: Bad block(207)
onand0: Bad block(208)
onand0: Bad block(209)
onand0: Bad block(210)
onand0: Bad block(211)
onand0: Bad block(212)
onand0: Bad block(213)
onand0: Bad block(214)
onand0: Bad block(215)
onand0: Bad block(216)
onand0: Bad block(217)
onand0: Bad block(218)
onand0: Bad block(219)
onand0: Bad block(220)
onand0: Bad block(221)
onand0: Bad block(222)
onand0: Bad block(223)
onand0: Bad block(224)
onand0: Bad block(225)
onand0: Bad block(226)
onand0: Bad block(227)
onand0: Bad block(228)
onand0: Bad block(229)
onand0: Bad block(230)
onand0: Bad block(231)
onand0: Bad block(232)
onand0: Bad block(233)
onand0: Bad block(234)
onand0: Bad block(235)
onand0: Bad block(236)
onand0: Bad block(237)
onand0: Bad block(238)
onand0: Bad block(239)
onand0: Bad block(240)
onand0: Bad block(241)
onand0: Bad block(242)
onand0: Bad block(243)
onand0: Bad block(244)
onand0: Bad block(245)
onand0: Bad block(246)
onand0: Bad block(247)
onand0: Bad block(248)
onand0: Bad block(249)
onand0: Bad block(250)
onand0: Bad block(251)
onand0: Bad block(252)
onand0: Bad block(253)
onand0: Bad block(254)
onand0: Bad block(255)
onand0: Bad block(256)
onand0: Bad block(257)
onand0: Bad block(258)
onand0: Bad block(259)
onand0: Bad block(260)
onand0: Bad block(261)
onand0: Bad block(262)
onand0: Bad block(263)
onand0: Bad block(264)
onand0: Bad block(265)
onand0: Bad block(266)
onand0: Bad block(267)
onand0: Bad block(268)
onand0: Bad block(269)
onand0: Bad block(270)
onand0: Bad block(271)
onand0: Bad block(272)
onand0: Bad block(273)
onand0: Bad block(274)
onand0: Bad block(275)
onand0: Bad block(276)
onand0: Bad block(277)
onand0: Bad block(278)
onand0: Bad block(279)
onand0: Bad block(280)
onand0: Bad block(281)
onand0: Bad block(282)
onand0: Bad block(283)
onand0: Bad block(284)
onand0: Bad block(285)
onand0: Bad block(286)
onand0: Bad block(287)
onand0: Bad block(288)
onand0: Bad block(289)
onand0: Bad block(290)
onand0: Bad block(291)
onand0: Bad block(292)
onand0: Bad block(293)
onand0: Bad block(294)
onand0: Bad block(295)
##################
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
mvs0: <Marvell 88F6281 SATA controller> mem 0x80000-0x85fff irq 21 on simplebus0
mvs0: Gen-IIe, 2 3Gbps ports, Port Multiplier supported with FBS
mvsch0: <Marvell SATA channel> at channel 0 on mvs0
mvsch1: <Marvell SATA channel> at channel 1 on mvs0
cryptosoft0: <software crypto>
Timecounters tick every 10.000 msec
usbus0: 480Mbps High Speed USB v2.0
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
ada0 at mvsch1 bus 0 scbus1 target 0 lun 0
ada0: <WDC WD7500BPKX-00HPJT0 01.01A01> ATA8-ACS SATA 3.x device
ada0: Serial Number WD-WX61AB52YARF
ada0: 300.000MB/s transfers (SATA 2.x, UDMA6, PIO 8192bytes)
ada0: Command Queueing enabled
ada0: 715404MB (1465149168 512 byte sectors)
Trying to mount root from ufs:/dev/ufs/kirkwoodroot []...
uhub0: 1 port with 1 removable, self powered
/etc/rc: WARNING: hostid: unable to figure out a UUID from DMI data, generating a new one
Setting hostuuid: 65b98826-bfde-11d3-9568-001075266844.
Setting hostid: 0x68d9fd01.
Starting file system checks:
Mounting local filesystems:.
ELF ldconfig path: /lib /usr/lib /usr/lib/compat
random: unblocking device.
Setting hostname: uruk.
Setting up harvesting: [UMA],[FS_ATIME],SWI,INTERRUPT,NET_NG,NET_ETHER,NET_TUN,MOUSE,KEYBOARD,ATTACH,CACHED
Feeding entropy: .
mge0: link state changed to UP
Starting Network: lo0 mge0 enc0.
lo0: flags=8049<UP,LOOPBACK,RUNNING,MULTICAST> metric 0 mtu 16384
options=600003<RXCSUM,TXCSUM,RXCSUM_IPV6,TXCSUM_IPV6>
inet6 ::1 prefixlen 128
inet6 fe80::1%lo0 prefixlen 64 scopeid 0x2
inet 127.0.0.1 netmask 0xff000000
groups: lo
nd6 options=21<PERFORMNUD,AUTO_LINKLOCAL>
mge0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500
options=8000b<RXCSUM,TXCSUM,VLAN_MTU,LINKSTATE>
ether 00:10:75:26:68:44
media: Ethernet autoselect (1000baseT <full-duplex>)
status: active
nd6 options=29<PERFORMNUD,IFDISABLED,AUTO_LINKLOCAL>
enc0: flags=0<> metric 0 mtu 1536
groups: enc
nd6 options=29<PERFORMNUD,IFDISABLED,AUTO_LINKLOCAL>
Starting devd.
Starting Network: enc0.
enc0: flags=0<> metric 0 mtu 1536
groups: enc
nd6 options=29<PERFORMNUD,IFDISABLED,AUTO_LINKLOCAL>
Starting dhclient.
DHCPDISCOVER on mge0 to 255.255.255.255 port 67 interval 5
DHCPOFFER from 10.6.6.1
DHCPREQUEST on mge0 to 255.255.255.255 port 67
DHCPACK from 10.6.6.1
bound to 10.6.6.26 -- renewal in 21600 seconds.
add host 127.0.0.1: gateway lo0 fib 0: route already in table
add host ::1: gateway lo0 fib 0: route already in table
add net fe80::: gateway ::1
add net ff02::: gateway ::1
add net ::ffff:0.0.0.0: gateway ::1
add net ::0.0.0.0: gateway ::1
Generating host.conf.
Creating and/or trimming log files.
Starting syslogd.
Clearing /tmp (X related).
Updating motd:.
Mounting late filesystems:.
Starting ntpd.
Generating RSA host key.
2048 SHA256:SfFGKrfY+B+9YvNl1IAl/Ah16cBelwUP+ZrAEUhy3Ao root at uruk (RSA)
Generating ECDSA host key.
256 SHA256:/76LXsrpoZk06L8OCovaByaS8rbBi4pgImru0t/H0MQ root at uruk (ECDSA)
Generating ED25519 host key.
256 SHA256:wm6eeGoXMgnLsKGhL4cQuwRAZ3GUOTjvPrXe0xBuzOI root at uruk (ED25519)
Performing sanity check on sshd configuration.
Starting sshd.
Starting sendmail_submit.
Starting sendmail_msp_queue.
Starting cron.
Sat Jan 1 00:00
FreeBSD/arm (uruk) (ttyu0)
login:
-------------- next part --------------
--- DOCKSTAR 2017-03-31 12:30:26.752632000 +0200
+++ GOFLEX 2017-04-01 20:10:43.480437000 +0200
@@ -19,7 +19,7 @@
#
#NO_UNIVERSE
-ident DOCKSTAR
+ident GOFLEX
include "std.arm"
include "../mv/kirkwood/std.db88f6xxx"
@@ -31,9 +31,6 @@
options INET6 # IPv6 communications protocols
options FFS # Berkeley Fast Filesystem
options SOFTUPDATES # Enable FFS soft updates support
-options NFSCL # Network Filesystem Client
-options NFSLOCKD # Network Lock Manager
-#options NFS_ROOT # NFS usable as /, requires NFSCL
options MSDOSFS # MSDOS Filesystem
options CD9660 # ISO 9660 filesystem
options NULLFS # NULL filesystem
@@ -48,21 +45,10 @@
options SYSVSEM # SYSV-style semaphores
options _KPOSIX_PRIORITY_SCHEDULING # POSIX P1003_1B real-time extensions
-# Enable these options for nfs root configured via BOOTP.
-#options BOOTP
-#options BOOTP_NFSROOT
-#options BOOTP_NFSV3
-#options BOOTP_WIRED_TO=mge0
-
-# If not using BOOTP, use something like one of these...
-#options ROOTDEVNAME=\"ufs:/dev/da0a\"
-options ROOTDEVNAME=\"ufs:/dev/da0s1a\"
-#options ROOTDEVNAME=\"ufs:/dev/da0p10\"
-#options ROOTDEVNAME=\"nfs:192.168.0.254/dreamplug\"
+options ROOTDEVNAME=\"ufs:/dev/ufs/kirkwoodroot\"
# Misc pseudo devices
device bpf # Required for DHCP
-device firmware # firmware(9) required for USB wlan
device gif # IPv6 and IPv4 tunneling
device loop # Network loopback
device md # Memory/malloc disk
@@ -71,7 +57,6 @@
device tun # Packet tunnel.
device ether # Required for all ethernet devices
device vlan # 802.1Q VLAN support
-device wlan # 802.11 WLAN support
# cam support for umass and ahci
device scbus
@@ -92,23 +77,18 @@
device usb # Basic usb support
device ehci # USB host controller
device umass # Mass storage
-device uhid # Human-interface devices
-device rum # Ralink Technology RT2501USB wireless NICs
-device uath # Atheros AR5523 wireless NICs
-device ural # Ralink Technology RT2500USB wireless NICs
-device zyd # ZyDAS zb1211/zb1211b wireless NICs
-device urtw # Realtek RTL8187B/L USB
-device upgt # Conexant/Intersil PrismGT SoftMAC USB
-device u3g # USB-based 3G modems (Option, Huawei, Sierra)
# I2C (TWSI)
device iic
device iicbus
device twsi
-# Sound
-device sound
-device snd_uaudio
+# SATA
+device mvs
+device ahci
+
+# NAND
+#device nand
#crypto
device cesa # Marvell security engine
@@ -118,18 +98,13 @@
# IPSec
device enc
options IPSEC
-options IPSEC_NAT_T
options TCP_SIGNATURE # include support for RFC 2385
-# IPFW
-options IPFIREWALL
-options IPFIREWALL_DEFAULT_TO_ACCEPT
-options IPFIREWALL_VERBOSE
-options IPFIREWALL_VERBOSE_LIMIT=100
-options IPFIREWALL_NAT
-options LIBALIAS
-options DUMMYNET
-options IPDIVERT
+# DTrace
+options KDTRACE_HOOKS
+options DDB_CTF
+makeoptions DEBUG=-g
+makeoptions WITH_CTF=1
#PF
device pf
@@ -153,4 +128,4 @@
# Flattened Device Tree
options FDT # Configure using FDT/DTB data
options FDT_DTB_STATIC
-makeoptions FDT_DTS_FILE=dockstar.dts
+makeoptions FDT_DTS_FILE=goflex.dts
-------------- next part --------------
--- dockstar.dts 2017-03-31 12:28:49.296360000 +0200
+++ goflex.dts 2017-04-01 20:21:27.895671000 +0200
@@ -227,6 +227,13 @@
interrupts = <5 6 7 8>;
interrupt-parent = <&PIC>;
};
+
+ sata at 80000 {
+ compatible = "mrvl,sata";
+ reg = <0x80000 0x6000>;
+ interrupts = <21>;
+ interrupt-parent = <&PIC>;
+ };
};
SRAM: sram at fd000000 {
More information about the freebsd-arm
mailing list