From: Ben Peddell <klightspeed-aslSrjg9ejhWX4hkXwHRhw@public.gmane.org>
To: Andrew Lunn <andrew-g2DYL2Zd6BY@public.gmane.org>
Cc: Russell King - ARM Linux
<linux-lFZ/pmaqli7XmaaqVzeoHQ@public.gmane.org>,
Jason Cooper <jason-NLaQJdtUoK4Be96aLqz0jA@public.gmane.org>,
linux ARM
<linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org>,
devicetree-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
Subject: Re: [PATCH RFC RFT 0/2] ARM: Kirkwood: Synology DT files
Date: Sat, 11 Jan 2014 01:10:02 +1000 [thread overview]
Message-ID: <52D00D4A.6040707@killerwolves.net> (raw)
In-Reply-To: <20140110144346.GH9681-g2DYL2Zd6BY@public.gmane.org>
On 11/01/14 00:43, Andrew Lunn wrote:
> On Sat, Jan 11, 2014 at 12:38:25AM +1000, Ben Peddell wrote:
>> On 11/01/14 00:25, Andrew Lunn wrote:
>>> On Sat, Jan 11, 2014 at 12:09:11AM +1000, Ben Peddell wrote:
>>>> On 10/01/14 21:28, Russell King - ARM Linux wrote:
>>>>> On Fri, Jan 10, 2014 at 11:01:06AM +1000, Ben Peddell wrote:
>>>>>> 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_COMPAT is 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 = 200Mhz
>>>>
>>>> DRAM CAS Latency = 6 tRP = 6 tRAS = 18 tRCD=6
>>>> DRAM CS[0] base 0x00000000 size 128MB
>>>> DRAM Total size 128MB 16bit width
>>>> [4096kB@f8000000] Flash: 4 MB
>>>> Addresses 8M - 0M are saved for the U-Boot usage.
>>>> Mem malloc Initialization (8M - 7M): Done
>>>> Using default environment
>>>>
>>>>
>>>> CPU : Marvell Feroceon (Rev 1)
>>>>
>>>> Streaming disabled
>>>> Write allocate disabled
>>>>
>>>> Module 1 is AUDIO
>>>>
>>>> USB 0: host mode
>>>>
>>>> Synology Model: DS211j
>>>> Fan Status: Good
>>>>
>>>> Net: egiga0 [PRIME]
>>>> Hit any key to stop autoboot: 0
>>>> 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
>>>
>>> So here you load the kernel into RAM at 0x0100 0000.
>>>
>>>
>>>> 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 earlyprintk
>>>
>>> I don't see you loading the initrd into RAM at 0x0080 0000.
>>
>> See below
>>
>>>
>>>> Marvell>> bootm 0x01000000 0xf8280000
>>>
>>> And here you tell it the initrd is at 0xf8280000.
>>
>> This is because I am using the initrd in flash.
>>
>>>
>>>> ## Booting image at 01000000 ...
>>>> Bad Magic Number
>>>> 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 = 1954800 (1dd3f0 hex)
>>>> Marvell>> bootm 0x01000000 0xf8280000
>>>> ## Booting image at 01000000 ...
>>>> Image Name: linux-3.13-rc7-ds211j+
>>>> Image Type: ARM Linux Kernel Image (uncompressed)
>>>> Data Size: 1954736 Bytes = 1.9 MB
>>>> Load Address: 00008000
>>>> Entry Point: 00008000
>>>> Verifying Checksum ... OK
>>>> OK
>>>> ## Loading Ramdisk Image at f8280000 ...
>>>> Image Name: altair-boot
>>>> Image Type: ARM Linux RAMDisk Image (unknown compression)
>>>> Data Size: 1022268 Bytes = 998.3 kB
>>>> Load Address: 00800000
>>>> Entry Point: 00800000
>>>> Verifying Checksum ... OK
>>
>> Here the bootloader copies the initrd to 0x00800040, yet passes
>> 0xf8280040 to the kernel.
>
> But does it pass 0xf8280040 because you used:
>
> bootm 0x01000000 0xf8280000
>
> What happens if you use
>
> bootm 0x01000000 0x00800000
=== 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=y
CONFIG_ARM_APPENDED_DTB=y
CONFIG_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@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
...
--
To unsubscribe from this list: send the line "unsubscribe devicetree" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
next prev parent reply other threads:[~2014-01-10 15:10 UTC|newest]
Thread overview: 16+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-01-06 23:47 [PATCH RFC RFT 0/2] ARM: Kirkwood: Synology DT files Andrew Lunn
[not found] ` <1389052027-16819-1-git-send-email-andrew-g2DYL2Zd6BY@public.gmane.org>
2014-01-06 23:47 ` [PATCH RFC RFT 1/2] Power: Reset: Generalize qnap-poweroff to with on Synology devices Andrew Lunn
2014-01-06 23:47 ` [PATCH RFC RFT 2/2] ARM: Kirkwood: Add support for many Synology NAS devices Andrew Lunn
2014-01-09 2:05 ` Ben Peddell
2014-01-09 5:18 ` [PATCH RFC RFT 0/2] ARM: Kirkwood: Synology DT files Ben Peddell
[not found] ` <52CE312B.3060108-aslSrjg9ejhWX4hkXwHRhw@public.gmane.org>
2014-01-09 16:55 ` Andrew Lunn
[not found] ` <20140109165557.GB9681-g2DYL2Zd6BY@public.gmane.org>
2014-01-10 1:01 ` Ben Peddell
[not found] ` <52CF4652.3030207-aslSrjg9ejhWX4hkXwHRhw@public.gmane.org>
2014-01-10 11:28 ` Russell King - ARM Linux
[not found] ` <20140110112846.GG27432-l+eeeJia6m9vn6HldHNs0ANdhmdF6hFW@public.gmane.org>
2014-01-10 14:09 ` Ben Peddell
[not found] ` <52CFFF07.5080806-aslSrjg9ejhWX4hkXwHRhw@public.gmane.org>
2014-01-10 14:25 ` Andrew Lunn
[not found] ` <20140110142548.GG9681-g2DYL2Zd6BY@public.gmane.org>
2014-01-10 14:37 ` Sebastian Hesselbarth
2014-01-10 14:38 ` Ben Peddell
2014-01-10 14:43 ` Andrew Lunn
[not found] ` <20140110144346.GH9681-g2DYL2Zd6BY@public.gmane.org>
2014-01-10 15:10 ` Ben Peddell [this message]
2014-01-10 14:58 ` Russell King - ARM Linux
[not found] ` <20140110145841.GF15937-l+eeeJia6m9vn6HldHNs0ANdhmdF6hFW@public.gmane.org>
2014-01-10 15:48 ` Ben Peddell
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=52D00D4A.6040707@killerwolves.net \
--to=klightspeed-aslsrjg9ejhwx4hkxwhrhw@public.gmane.org \
--cc=andrew-g2DYL2Zd6BY@public.gmane.org \
--cc=devicetree-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
--cc=jason-NLaQJdtUoK4Be96aLqz0jA@public.gmane.org \
--cc=linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org \
--cc=linux-lFZ/pmaqli7XmaaqVzeoHQ@public.gmane.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).