RFC ARM: Kirkwood: Synology DT files
Get series with b4
b4 am [email protected]Versions newest first
- v1 RFC Latest0 of 2 patches 0 repliesNew
Patches in v1 No applies recorded yet
None of the 2 patches the cover letter announces are in this archive.
Reviews trailers per patch
No Reviewed-by, Acked-by or Tested-by trailers for v1 yet.
Cover letter [PATCH RFC RFT 0/2] ARM: Kirkwood: Synology DT files
Quoted 128 lines · Andrew Lunn
Quoted 124 lines · Ben Peddell
Quoted 73 lines · Andrew Lunn
Quoted 65 lines · Ben Peddell
Quoted 8 lines · Russell King - ARM Linux
Quoted 4 lines · Ben Peddell
It appears the initrd address in the devicetree structure (which is filled in from what is passed by the bootloader when
CONFIG_ARM_ATAG_DTB_COMPATis set) is processed _after_ the address in the initrd= kernel parameter is processed.That's wrong. Kernel parameters should always override what's passed by boot loaders etc.
In that case, what I saw was a bug - note that this only occurs when DeviceTree is enabled:
__ __ _ _ | \/ | __ _ _ ____ _____| | | | |\/| |/ _` | '__\ \ / / _ \ | | | | | | (_| | | \ V / __/ | | |_| |_|\__,_|_| \_/ \___|_|_| _ _ ____ _ | | | | | __ ) ___ ___ | |_ | | | |___| _ \ / _ \ / _ \| __| | |_| |___| |_) | (_) | (_) | |_ \___/ |____/ \___/ \___/ \__| ** LOADER **** MARVELL BOARD: Synology Disk Station LE
U-Boot 1.1.4 (Jul 6 2010 - 19:26:08) Marvell version: 3.4.4
U-Boot code: 00600000 -> 0067FFF0 BSS: -> 0068B43C
Soc: 88F6281 A1 (DDR2)
CPU running @ 1200Mhz L2 running @ 480Mhz SysClock = 400Mhz , TClock = 200MhzDRAM CAS Latency = 6 tRP = 6 tRAS = 18 tRCD=6
DRAM CS[0] base0x00000000size 128MB
DRAM Total size 128MB 16bit width [4096kB atf8000000] Flash: 4 MB Addresses 8M - 0M are saved for the U-Boot usage. Mem malloc Initialization (8M - 7M): Done Using default environmentCPU : Marvell Feroceon (Rev 1)
Streaming disabled
Write allocate disabledModule 1 is AUDIO
USB 0: host mode
Synology Model: DS211j
Fan Status: GoodNet: egiga0 [PRIME] Hit any key to stop autoboot: 0Marvell>> setenv ipaddr 192.168.200.62
Marvell>> setenv serverip 192.168.200.16
Marvell>> tftp0x01000000uImage-3.13-rc7-ds211j-git-fdt
Using egiga0 device
TFTP from server 192.168.200.16; our IP address is 192.168.200.62 Filename 'uImage-3.13-rc7-ds211j-git-fdt'.
Load address:0x1000000
Loading: #################################################################Quoted 6 lines
################################################################# ################################################################# ################################################################# ################################################################# #########################################################done
Quoted 7 lines
So here you load the kernel into RAM at
0x01000000.Quoted 2 lines
Bytes transferred = 1954736 (1dd3b0 hex)
Marvell>> setenv bootargs console=ttyS0,115200 ip=off initrd=0x00800040,0x0013FFC0 root=/dev/md0 rw syno_hw_version=DS211j ihd_num=2 netif_num=1 earlyprintkI don't see you loading the initrd into RAM at
0x00800000.See below
Quoted 4 lines
Quoted 2 lines
Marvell>> bootm
0x010000000xf8280000And here you tell it the initrd is at
0xf8280000.This is because I am using the initrd in flash.
Quoted 24 lines
Quoted 24 lines
## Booting image at 01000000 ...
Bad Magic Number
Marvell>> tftp0x01000000uImage-3.13-rc7-ds211j-git-fdt
Using egiga0 device
TFTP from server 192.168.200.16; our IP address is 192.168.200.62 Filename 'uImage-3.13-rc7-ds211j-git-fdt'.
Load address:0x1000000
Loading: ################################################################################################################################## ################################################################# ################################################################# ################################################################# #########################################################done
Bytes transferred = 1954800 (1dd3f0 hex) Marvell>> bootm0x010000000xf8280000## Booting image at 01000000 ...Image Name: linux-3.13-rc7-ds211j+ Image Type: ARM Linux Kernel Image (uncompressed) Data Size: 1954736 Bytes = 1.9 MBLoad Address: 00008000
Entry Point: 00008000
Verifying Checksum ... OKQuoted 8 lines
Quoted 8 lines
OK
## Loading Ramdisk Image atf8280000...Image Name: altair-boot Image Type: ARM Linux RAMDisk Image (unknown compression) Data Size: 1022268 Bytes = 998.3 kBLoad Address: 00800000
Entry Point: 00800000
Verifying Checksum ... OKQuoted 2 lines
Here the bootloader copies the initrd to
0x00800040, yet passes0xf8280040to the kernel.
Quoted 7 lines
But does it pass
0xf8280040because you used:bootm
0x010000000xf8280000What happens if you use
bootm
0x010000000x00800000
=== Boot without loading ramdisk from TFTP ===
Marvell>> setenv ipaddr 192.168.200.62
Marvell>> setenv serverip 192.168.200.16
Marvell>> tftp 0x01000000 uImage-3.13-rc7-ds211j-git-fdt
Using egiga0 device
TFTP from server 192.168.200.16; our IP address is 192.168.200.62 Filename 'uImage-3.13-rc7-ds211j-git-fdt'.
Load address: 0x1000000
Loading: #################################################################
#################################################################
#################################################################
#################################################################
#################################################################
#############################################################done
Bytes transferred = 1973892 (1e1e84 hex) Marvell>> bootm 0x01000000 0x00800000 ## Booting image at 01000000 ...
Image Name: linux-3.13-rc7-ds211j+ Image Type: ARM Linux Kernel Image (uncompressed) Data Size: 1973828 Bytes = 1.9 MB
Load Address: 00008000
Entry Point: 00008000 Verifying Checksum ... OK
OK
## Loading Ramdisk Image at 00800000 ... Bad Magic Number
Bad Header C??
=== End of boot ===
Note below that I have set the following options:
CONFIG_CMDLINE="initrd=0x00800040,0x0013FFC0 earlyprintk panic=5" CONFIG_CMDLINE_EXTEND=yCONFIG_ARM_APPENDED_DTB=yCONFIG_ARM_ATAG_DTB_COMPAT=n
=== Boot with loading ramdisk from TFTP with CONFIG_CMDLINE ===
Marvell>> setenv ipaddr 192.168.200.62
Marvell>> setenv serverip 192.168.200.16
Marvell>> tftp 0x01000000 uImage-3.13-rc7-ds211j-git-fdt
Using egiga0 device
TFTP from server 192.168.200.16; our IP address is 192.168.200.62 Filename 'uImage-3.13-rc7-ds211j-git-fdt'.
Load address: 0x1000000
Loading: #################################################################
#################################################################
#################################################################
#################################################################
#################################################################
#############################################################done
Bytes transferred = 1973892 (1e1e84 hex)
Marvell>> tftp 0x00800000 initramfs-20140109
Using egiga0 device
TFTP from server 192.168.200.16; our IP address is 192.168.200.62 Filename 'initramfs-20140109'.
Load address: 0x800000
Loading: #################################################################
#################################################################
#################################################################
##############################################################done
Bytes transferred = 1310720 (140000 hex) Marvell>> bootm 0x01000000 0x00800000 ## Booting image at 01000000 ...
Image Name: linux-3.13-rc7-ds211j+ Image Type: ARM Linux Kernel Image (uncompressed) Data Size: 1973828 Bytes = 1.9 MB
Load Address: 00008000
Entry Point: 00008000 Verifying Checksum ... OK
OK
## Loading Ramdisk Image at 00800000 ...
Image Name: altair-boot Image Type: ARM Linux RAMDisk Image (unknown compression) Data Size: 1310656 Bytes = 1.2 MB
Load Address: 00800000
Entry Point: 00800000 Verifying Checksum ... OK
Starting kernel ...
Uncompressing Linux... done, booting the kernel.
[ 0.000000] Booting Linux on physical CPU 0x0 [ 0.000000] Linux version 3.13.0-rc7-ds211j+ (klightspeed at lurch) (gcc version 4.8.2 (Gentoo 4.8.2 p1.3, pie-0.5.8) ) #1 Fri Jan 10 14:03:45 EST 2014 [ 0.000000] CPU: Feroceon 88FR131 [56251311] revision 1 (ARMv5TE), cr=00053977 [ 0.000000] CPU: VIVT data cache, VIVT instruction cache [ 0.000000] Machine model: Synology DS210 v10, v20, v30, DS211j [ 0.000000] Memory policy: Data cache writeback [ 0.000000] Built 1 zonelists in Zone order, mobility grouping on. Total pages: 32512 [ 0.000000] Kernel command line: console=ttyS0,115200n8
...