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

Re: Debian on Synology Armada 370/XP NAS boxes



On 16/05/14 19:57, drEagle wrote:
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.

I tried appending the dtb to the kernel. Unfortunately it does not make the kernel boot. I think I have to replace the crippled u-boot version with my own fully featured version without bricking my box.


Reply to: