Jul 232015

There are some kernels for this NAS on the web (binaries and configs), but everything I could find was super old (like kernel 3.6.9 old). Because I’ve been able to successfully build current longterm version of Linus tree kernel, here is me sharing my solution.

It is based on this instruction. The kirkwood_defconfig was merged with mvebu_v5_defconfig so we are using the second one instead. I’ve pushed my config, patches and cross-compilation script to my github: https://github.com/sc0ty/nsa310-kernel. There is everything explained in README.md, I won’t repeat myself here. I’ll try to keep this repository up to date with Linus kernel as long as I am using this NAS myself.

And here are binaries (uImage with modules):

  10 Responses to “Kernel for NAS ZyXEL NSA310”

  1. dzięki! 🙂

  2. Hello.

    I am sorry for bothering you, but i have big problem with my NSA-310.
    I have try to install linux on this device, so i need newer kernel. I have downloaded your precompilled image and boot as describet here: http://forum.nas-central.org/viewtopic.php?f=249&t=5145
    Unfortunatelly, i got this message:
    ## Booting image at 00800000 …
    Image Name: Linux-3.18.18
    Created: 2015-11-13 6:26:22 UTC
    Image Type: ARM Linux Kernel Image (uncompressed)
    Data Size: 4183944 Bytes = 4 MB
    Load Address: 00008000
    Entry Point: 00008000
    Verifying Checksum … Bad Data CRC

    I have tried to crosscompile my own uImage as you describe, there were no problems with it, bud after loading same error message was shown.

    Can you help me with this problem?
    Thank you.


  3. That strange. Maybe you have some strange u-boot version installed? Did you try to boot this uImage in a different way? Maybe different partition on pendrive (FAT and EXT2/3 should be supported) or by TFTP?

  4. Thanx for answwer.
    Unfortunately I dont know, how to boot uImage in a different way. I have tried another pendrives (FAT or EXT formatted) but without success.
    I am not shure, but i think, that NAND flash is corrupted.
    The best way will be reflash whole NAND to orginal, but i dont know why.
    Only way, that I can boot NAS is from flash with old 3.2 or 3.5.1 uImage and initrd.gz file on it and manual boot. But I cannt install linux due to old kernel :-/
    Can you compile new kernel with standard settings for me? Maybe i make some mistake with compiling, but dont know where…


  5. Ah, sorry for mistakes.
    “The best way will be reflash whole NAND to orginal, but i dont know why.” Have to by dont know HOW 🙂


  6. So did you flashed your NAND? Why don’t you install it on HDD?
    Did you made a backup of your NAND?

  7. I didint want to flash my NAND, but something bad happened :-/
    I dont have backup of my NAND, cause I didnt want to do anything with it.
    I stil dont understand why I can boot old uImages on http://forum.nas-central.org/viewtopic.php?f=249&t=5145&sid=0ceedbd6207181bd531db9e7e78b2cd8, but no my own (or yours) uImage.

  8. Nie da się wrzucić nowego kernela od razu bo większy niż ten 3.5.1. Wydaje mi się że wrzucając initrd.gz nadpisuje się końcówka kernela 3.18.21, dlatego później przy ładowaniu wyskakuje błąd CRC.

    PS. Na 3.18.21 nie działa fancontrol. Jak sterować wiatraczkiem?

  9. That’s right, this instruction advice is to load uImage at 0x800000 and initrd at 0xb00000 – there is about 3 MB for uImage. That must be corrected to load bigger kernel.
    I am using sensors, don’t know fancontrol.

  10. Great job, thank you

 Leave a Reply

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>