[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Debian on Synology Armada 370/XP NAS boxes



On 16/05/2014 19:51, Alexander Pohl wrote:
> On 15/05/14 01:09, Paul Wise wrote:
>> Have you attempted an install? The new Debian buildds/porterboxen have
>> Marvell Armada 370/XP CPUs and are running
>> linux-image-3.13-1-armmp-lpae with minimal config differences to
>> wheezy-backports.
> Yes, I tried to load many different kernel images but no luck. After "Starting kernel ..." nothing happens. I added the u-boot header with this command:
> 
> $ mkimage -A arm -O linux -T kernel -C none -a 0x00008000 -e 0x00008000 -n "vmlinuz-3.13-1-armmp-lpae" -d vmlinuz-3.13-1-armmp-lpae uImg
> 
> Then I transferred the image with tftpboot and booted with "bootm"
> 
> ## Booting kernel from Legacy Image at 02000000 ...
>    Image Name:   vmlinuz-3.13-1-armmp-lpae
>    Created:      2014-05-16  17:21:51 UTC
>    Image Type:   ARM Linux Kernel Image (uncompressed)
>    Data Size:    2785152 Bytes = 2.7 MiB
>    Load Address: 00008000
>    Entry Point:  00008000
>    Verifying Checksum ... OK
>    Loading Kernel Image ... OK
> OK
> 
> Starting kernel ...
> 
> I didn't provide an initrd image or device tree blob. I think the version of u-boot Synology provides is not capable of booting a device tree enabled kernel. The source of u-boot is available in their GPL download, but I do not know how to make it work or what the device tree blob is for.
> 
> When the DS213j boots with syno kernel and initrd it looks like this:
> 
> ## Booting kernel from Legacy Image at f40c0000 ...
>    Image Name:   Linux-3.2.40
>    Created:      2013-08-16  18:17:29 UTC
>    Image Type:   ARM Linux Kernel Image (uncompressed)
>    Data Size:    1860000 Bytes = 1.8 MiB
>    Load Address: 00008000
>    Entry Point:  00008000
>    Verifying Checksum ... OK
> ## Loading init Ramdisk from Legacy Image at f4390000 ...
>    Image Name:   synology_armada370_213j 3776
>    Created:      2013-08-23  14:11:07 UTC
>    Image Type:   ARM Linux RAMDisk Image (gzip compressed)
>    Data Size:    2903840 Bytes = 2.8 MiB
>    Load Address: 08000000
>    Entry Point:  08000000
>    Verifying Checksum ... OK
>    Loading Kernel Image ... OK
> OK
> 
> Starting kernel ...
> 
> Uncompressing Linux... done, booting the kernel.
> [    0.000000] Linux version 3.2.40 (root@build4) (gcc version 4.6.4 (Linaro GCC branch-4.6.4. Marve
> ll GCC Dev 201307-2124.aa2fad08 ) ) #3776 Sat Aug 17 02:17:23 CST 2013
> [    0.000000] CPU: Marvell PJ4Bv7 Processor [561f5811] revision 1 (ARMv7), cr=18c53c7d
> [    0.000000] CPU: PIPT / VIPT nonaliasing data cache, PIPT instruction cache
> [    0.000000] Machine: Marvell Armada-370
> [    0.000000] Using UBoot passing parameters structure
> [    0.000000] >>>>>>>Tag MAC 00:02:02:43:50:00
> [    0.000000] >>>>>>>Tag MAC 00:00:00:00:00:00
> [    0.000000] Memory policy: ECC disabled, Data cache writealloc
> 
> etc.
> 
> Any ideas how to make the stock u-boot to accept a Debian kernel?

You can try to append the dtb to the kernel.

Adapt the correct dtb file for you need.

$ cat ./vmlinuz ./armada-370-mirabox.dtb >> ./zImage-mirabox
$ mkimage -A arm -O linux -T kernel -C none -a 0x00008000 -e 0x00008000 -n linux+dtb -d ./zImage-mirabox ./uImage
$ mkimage -A arm -O linux -T ramdisk -C none -a 0x00000000 -e 0x00000000 -n "debian installer ramdisk" -d ./initrd.gz ./9016-4EF8/uInitrd

Then do the boot as usual.

Attachment: 0xF56ADD32.asc
Description: application/pgp-keys


Reply to: