Welcome! Log In Create A New Profile

Advanced

Linux Kernel 6.11.6 MVEBU package and Debian armhf rootfs

Posted by bodhi 
Linux Kernel 6.11.6 MVEBU package and Debian armhf rootfs
January 19, 2017 02:33AM
Linux Kernel 6.11.x MVEBU package and Debian rootfs for Zyxel NAS326, WD MyCloud EX4100, WD My Cloud Mirror Gen 2, Thecus N2350, Dell Wyse T50/T10, HP T5335z, Chip PC LXD8941, GTI Mirabox (special kernel, see installation below), Synology RS816/DS218j, Linksys WRT1900AC v1, WD MyCloud Ex2 Ultra, Netgear RN102 (special kernel, see installation below), Synology DS116, RTNAS V3, Shuttle Omninas KS10, Ctera C200 V2 (special kernel, see installation instruction below), Synology DS214, Dell Wyse 3020, Netgear RN2120, Synology DS216, Synology DS414, and other MVEBU Armada and MMP3 NAS in Linux mainline (armada-xp, armada-39x, armada-38x, armada-37x).

If you try this kernel and rootfs with other Marvell MVEBU Armada and MMP3 boards please report your finding so it can be added to list of support boxes.

Latest released kernel: linux-6.11.6-mvebu-tld-1-bodhi.tar.bz2 (12 Nov 2024)
Latest released rootfs: Debian-6.6.2-mvebu-tld-1-rootfs-bodhi.tar.bz2 (16 Dec 2023)

Note: If this is your first time installation, then you need rootfs Debian-6.6.2-mvebu-tld-1-rootfs-bodhi.tar.bz2 (this has kernel 6.6.2-mvebu-tld-1 already installed). Please scroll down to the 16 Dec 2021 section to install this rootfs. After you've booted the box with this rootfs, you can proceed to install the latest kernel.

Installation Instruction for specific boxes (in chronological order):

Zyxel NAS326 (Armada 380) Installation: see this thread.
WD My Cloud EX2100 (Armada 385) Installation: see this thread.
GlobalScale Technologies Mirabox (Armada 370) Installation: see this thread
Thecus N2350 (Armada 385) Installation: see this thread.
Synolgy RS816 (Armada 385) Installation: see Installation with USB rootfs (Section I). And see Installation with HDD rootfs (Section II).
Netgear RN102 and RN104 (Armada 370) Installation: see this thread
Synolgy DS116 (Armada 385) Installation: see Installation with USB rootfs (Section I). And see Installation with HDD rootfs (Section II)
HP Thin Client T5335z and Dell Wyse T10/T50 (Armada 510, aka Dove) Installation: see this thread for T5335z and also this thread for Wyse T10/T50.
WD MyCloud Gen2 (Glacier, Armada 375) Installation: see this post (work-in-progress)
Ctera C200 V2 (Armada 370) Installation & Kernel Upgrade: see this post.
Synology DS214 (Armada XP) Installation:see this post
Netgear RN2120 Installation: See this thread
WD MyCloud EX4100 Installation: see this thread (work-in-progress)

Summary description:

The released tarball linux-x.xx.x-mvebu-tld-x-bodhi.tar.bz2 includes everything you need to build your own kernel from mainline kernel source tree (patches and config file are all that needed). The kernel image is included in it for users who just want to install kernel.

The released tarball Debian-x.xx.x-mvebu-tld-xx-rootfs-bodhi.tar.bz2 is a basic armhf rootfs (a completed Debian system with kernel already installed) for Marvell EBU (MVEBU) boxes ready to be used. It is a basic system where you can build upon by installing packages. This rootfs was created by Debian debootstrap and then a few packages were installed for user’s convenience. This rootfs is dedicated for the purpose of upgrading and release distribution.

Credits:

- Thanks to rr4m, hean01, musv, Kirsch, and others who developed and tested in Zyxel NAS326 - Debian / Boot from USB thread. In this thread, a lot of good works have been done to build a basic kernel for Ubuntu server, Arch, and Gentoo.
- Thanks to saschadd and hmartin who have contributed in testing, and investigation in: Debian on WD MyCloud EX 4100. The installation instruction for this box will be available in the future.
- Thanks to MM and Peacemaker who have developed and tested the mcm-daemon in: WD MyCloud Mirror Gen2 (BWVZ, GrandTeton). I plan to investigate and make use of MM and Peacemaker works, hopefully for all of WD Mycloud boxes.
- Thanks to mcmg2 and hmartin who have contributed in testing and investigation in: WD My Cloud Mirror Gen2 u-boot. The installation instruction for this box will be available in the future.
- Thanks to hmartin who has contributed in developing, testing, and investigation in: Debian on WD MyCloud EX2100. The installation instruction for this box is available in the top of this post.
- Thanks to Manuel (lordzahl) who has collaborated with me in developing, and testing in bringing up the Thecus N2350 box in Debian Installation on Thecus N2350 (Marvell Armada 385). The installation instruction for this box will be available in the near future. In the mean time, see working thread for instruction.
- Thanks to Koen who has contributed in developing, research, and testing in bringing up the Dell Wyse T50/T10 box in Debian on Dell Wyse T10 / T50.
- Thanks to Koen and Gravelrash who has contributed in research and testing in bringing up the HP T5335z box in Debian on HP Thin Client T5335z.
- Thanks to Koen who has contributed in research and testing in bringing up the Chip PC LXD8941 box in Debian on Chip PC LXD8941.
- Thanks to Richard and Zifxify who have collaborated with me in developing, and testing in bringing up the Synology RS816 box in Debian on Synology RS816 (Armada 385). The installation instruction for this box will be available in the near future. In the mean time, see working thread for instruction.
- Thanks fsonnlei for all the works in testing to bring up the Linksys WRT1900AC box.
- Thanks osa for working on the new DTS for this box to boot with the Glacier model variation for MyCloud Gen2.
- Thanks vzhilov, dtd.2512, CyberPK, mcmg2 for the works in testing to finalize the DTS for the WD MyCloud Ex2 Ultra. And Storm for the finding about MBR vs GPT for the WD MyCloud Ex2 here.. Thanks i5Js for testing and finding some quirks about the WD MyCloud Ex2 Ultra that nobody has encountered before.
- Thanks whitepawn and tme for all the testing efforts to bring up the Netgear RN102 box.
- Thanks bonk1990 for all the testing efforts to bring up the Synology DS116
- Thanks osa for installation efforts to bring up WD MyCloud Gen2 (Glacier, Armada 375)
- Thanks wacke for supporting RTNAS V3 (Armada 370) box. And also see the modified stock u-boot image here (needed to boot Debian).
- Thanks salahuddin for bring up the Synology DS218j.
- Thanks Mijzelf for the effort bring up the Shuttle Omninas KS10 (Armada 370).
- Thanks chkdsk88 for the effort to bring up the Ctera C200 V2 (Armada 370). see this post .
- Thanks i5Js for testing and finding some quirks about the WD MyCloud Ex2 Ultra that nobody has encountered before. But do not use the installation procedure by i5Js as is (there are wrong steps that I annotated).
- Thanks Martin (lonestar) for the effort to bring up the Synology DS214.
- Thanks spiderdijon for the efforts to bring up the Netgear ReadyNAS RN2120.
- Thanks Robin for the efforts to bring up the Synology DS216.
- Thanks Mischif, kaze, and gravelrash, mmm, and ksuszka for doing all the testing in bringing up the Dell Wyse 3020.
- Thanks eep for working on the MyCloud EX4100 Installation Instruction

========================================================================
Updated 12 Nov 2024:

Kernel 6.11.6-mvebu-tld-1 package has been uploaded.

New/Updated in this release:

- General kernel upgrade.
- Loadable modules are now compressed with xz
- See Important Note in Step 5 about uInitrd size

Latest Linux kernel 6.x general release information can be found at:
LinuxChanges log

Download at Dropbox

linux-6.11.6-mvebu-tld-1-bodhi.tar.bz2
md5:
506ec707df33ad4a13dcf7e5306d8815
sha256:
c95fee031164113f840b3362bcc9a39eafa31ad855b731e325cc7551c2f92f15

As always, please check the hash of your download!

There are 6 files in this tarball:
linux-image-6.11.6-mvebu-tld-1_1_armhf.deb
linux-headers-6.11.6-mvebu-tld-1_1_armhf.deb
zImage-6.11.6-mvebu-tld-1
config-6.11.6-mvebu-tld-1
linux-dtb-6.11.6-mvebu-tld-1.tar
linux-6.11.6-mvebu-tld-1.patch

Installation

NOTE: the following steps are for a general kernel upgrade. For initial installation, please see "Installation Instruction for specific boxes" in the thread description at the top of this release thread.

1. Backup your current zImage, uImage, and uInitrd. In the /boot directory, these are files for your current kernel (xx.xx.xx is the version number):
uInitrd 
uImage
zImage-xx.xx.xx-mvebu-xxx
initrd.img-xx.xx.xx-mvebu-xxx
System.map-xx.xx.xx-mvebu-xxx
vmlinuz-xx.xx.xx-mvebu-xxx
config-xx.xx.xx-mvebu-xxx
dts/

2. Extract the kernel and the DTB files in the archive:

cd /boot
tar -xjf linux-6.11.6-mvebu-tld-1-bodhi.tar.bz2
tar -xf  linux-dtb-6.11.6-mvebu-tld-1.tar

3. And install it with dpkg. Remove flash-kernel first to avoid potential problem (if flash-kernel was not installed then you'll see some error output):

cd /boot
apt-get remove flash-kernel 
dpkg -i linux-image-6.11.6-mvebu-tld-1_1_armhf.deb

4. Create uImage and uInitrd (kernel file initrd.img-6.11.6-mvebu-tld-1 was generated by dpkg in step 3). I am using the Zyxel NAS326 as an example here. Please replace armada-380-zyxel-nas326.dtb below with the appropriate DTB name for your box (see /boot/dts directory).

cd /boot
cp -a zImage-6.11.6-mvebu-tld-1 zImage.fdt 
cat dts/armada-380-zyxel-nas326.dtb >> zImage.fdt
mkimage -A arm -O linux -T kernel -C none -a 0x00008000 -e 0x00008000 -n Linux-6.11.6-mvebu-tld-1 -d zImage.fdt uImage
mkimage -A arm -O linux -T ramdisk -C gzip -a 0x00000000 -e 0x00000000 -n initramfs-6.11.6-mvebu-tld-1 -d initrd.img-6.11.6-mvebu-tld-1 uInitrd

5. The new uImage and uInitrd files should be created in /boot directory now.

5.a (Optional) Shrink your initramfs size.

For boxes that need to have a smaller initramfs. For example, you are trying to fit it in a limited sized NAND partition. See here for tutorial: HowTo Shrink initramfs

5.b You're ready to reboot the system:
sync 
sync
shutdown -r now

========================================================================
Updated 26 Sep 2024:

Kernel 6.10.11-mvebu-tld-1 package has been uploaded.

New/Updated in this release:

- General kernel upgrade.
- Move MVEBU Ethernet drivers to loadable modules
- Remove unused Ethernet drivers

Note: The Thin Client HP T5335z has problem with updating u-boot envs in Linux. Possibly a SPI driver problem. Please use serial console to do this in u-boot.

Latest Linux kernel 6.x general release information can be found at:
LinuxChanges log

Download at Dropbox

linux-6.10.11-mvebu-tld-1-bodhi.tar.bz2
md5:
7ce8ecae1afc900de1bd795ddf63281f
sha256:
70b56e5ff0871bf4fafaaa66b8062cb8d55b58dacbc6035c15f7e02198f194e2

As always, please check the hash of your download!

There are 6 files in this tarball:
linux-image-6.10.11-mvebu-tld-1_1_armhf.deb
linux-headers-6.10.11-mvebu-tld-1_1_armhf.deb
zImage-6.10.11-mvebu-tld-1
config-6.10.11-mvebu-tld-1
linux-dtb-6.10.11-mvebu-tld-1.tar
linux-6.10.11-mvebu-tld-1.patch

Installation

NOTE: the following steps are for a general kernel upgrade. For initial installation, please see "Installation Instruction for specific boxes" in the thread description at the top of this release thread.

1. Backup your current zImage, uImage, and uInitrd. In the /boot directory, these are files for your current kernel (xx.xx.xx is the version number):
uInitrd 
uImage
zImage-xx.xx.xx-mvebu-xxx
initrd.img-xx.xx.xx-mvebu-xxx
System.map-xx.xx.xx-mvebu-xxx
vmlinuz-xx.xx.xx-mvebu-xxx
config-xx.xx.xx-mvebu-xxx
dts/

2. Extract the kernel and the DTB files in the archive:

cd /boot
tar -xjf linux-6.10.11-mvebu-tld-1-bodhi.tar.bz2
tar -xf  linux-dtb-6.10.11-mvebu-tld-1.tar

3. And install it with dpkg. Remove flash-kernel first to avoid potential problem (if flash-kernel was not installed then you'll see some error output):

cd /boot
apt-get remove flash-kernel 
dpkg -i linux-image-6.10.11-mvebu-tld-1_1_armhf.deb

4. Create uImage and uInitrd (kernel file initrd.img-6.10.11-mvebu-tld-1 was generated by dpkg in step 3). I am using the Zyxel NAS326 as an example here. Please replace armada-380-zyxel-nas326.dtb below with the appropriate DTB name for your box (see /boot/dts directory).

cd /boot
cp -a zImage-6.10.11-mvebu-tld-1 zImage.fdt 
cat dts/armada-380-zyxel-nas326.dtb >> zImage.fdt
mkimage -A arm -O linux -T kernel -C none -a 0x00008000 -e 0x00008000 -n Linux-6.10.11-mvebu-tld-1 -d zImage.fdt uImage
mkimage -A arm -O linux -T ramdisk -C gzip -a 0x00000000 -e 0x00000000 -n initramfs-6.10.11-mvebu-tld-1 -d initrd.img-6.10.11-mvebu-tld-1 uInitrd

5. The new uImage and uInitrd files should be created in /boot directory now.

5.a (Optional) Shrink your initramfs size.

For boxes that need to have a smaller initramfs. For example, you are trying to fit it in a limited sized NAND partition. See here for tutorial: HowTo Shrink initramfs

5.b You're ready to reboot the system:
sync 
sync
shutdown -r now

========================================================================
Updated 27 Jun 2024:

Kernel 6.9.6-mvebu-tld-1 package has been uploaded.

New/Updated in this release:

- General kernel upgrade.
- Minor change in SPI max frequency in Thecus N2350 DTS.
- Remove CONFIG_REISERFS_FS, CONFIG_SOLARIS_X86_PARTITION, CONFIG_SUN_PARTITION, and CONFIG_NET_VENDOR_CAVIUM.
- Move CONFIG_8139CP to loadable module.


Latest Linux kernel 6.x general release information can be found at:
LinuxChanges log

Download at Dropbox

linux-6.9.6-mvebu-tld-1-bodhi.tar.bz2
md5:
4b664dc8a5af473baa3859856e6877cd
sha256:
cb65009382cb69b6cfb0b2b0411fe207f99645a636502f91ee72a06cc3423426

As always, please check the hash of your download!

There are 6 files in this tarball:
linux-image-6.9.6-mvebu-tld-1_1_armhf.deb
linux-headers-6.9.6-mvebu-tld-1_1_armhf.deb
zImage-6.9.6-mvebu-tld-1
config-6.9.6-mvebu-tld-1
linux-dtb-6.9.6-mvebu-tld-1.tar
linux-6.9.6-mvebu-tld-1.patch

Installation

NOTE: the following steps are for a general kernel upgrade. For initial installation, please see "Installation Instruction for specific boxes" in the thread description at the top of this release thread.

1. Backup your current zImage, uImage, and uInitrd. In the /boot directory, these are files for your current kernel (xx.xx.xx is the version number):
uInitrd 
uImage
zImage-xx.xx.xx-mvebu-xxx
initrd.img-xx.xx.xx-mvebu-xxx
System.map-xx.xx.xx-mvebu-xxx
vmlinuz-xx.xx.xx-mvebu-xxx
config-xx.xx.xx-mvebu-xxx
dts/

2. Extract the kernel and the DTB files in the archive:

cd /boot
tar -xjf linux-6.9.6-mvebu-tld-1-bodhi.tar.bz2
tar -xf  linux-dtb-6.9.6-mvebu-tld-1.tar

3. And install it with dpkg. Remove flash-kernel first to avoid potential problem (if flash-kernel was not installed then you'll see some error output):

cd /boot
apt-get remove flash-kernel 
dpkg -i linux-image-6.9.6-mvebu-tld-1_1_armhf.deb

4. Create uImage and uInitrd (kernel file initrd.img-6.8.7-mvebu-tld-1 was generated by dpkg in step 3). I am using the Zyxel NAS326 as an example here. Please replace armada-380-zyxel-nas326.dtb below with the appropriate DTB name for your box.

cd /boot
cp -a zImage-6.9.6-mvebu-tld-1 zImage.fdt 
cat dts/armada-380-zyxel-nas326.dtb >> zImage.fdt
mkimage -A arm -O linux -T kernel -C none -a 0x00008000 -e 0x00008000 -n Linux-6.9.6-mvebu-tld-1 -d zImage.fdt uImage
mkimage -A arm -O linux -T ramdisk -C gzip -a 0x00000000 -e 0x00000000 -n initramfs-6.9.6-mvebu-tld-1 -d initrd.img-6.9.6-mvebu-tld-1 uInitrd

5. The new uImage and uInitrd files should be created in /boot directory now.

5.a (Optional) Shrink your initramfs size.

For boxes that need to have a smaller initramfs. For example, you are trying to fit it in a limited sized NAND partition. See here for tutorial: HowTo Shrink initramfs

5.b You're ready to reboot the system:
sync 
sync
shutdown -r now

========================================================================
Updated 19 Apr 2024:

Kernel 6.8.7-mvebu-tld-1 package has been uploaded.

New/Updated in this release:

- General kernel upgrade.
- Add support for Synology DS216.
- Reconfigure SENSORS_W83795, NLS_ISO8859_1, NLS_ISO8859_2,Overlay_fs to loadable module to shrink kernel size
- Minor binding changes in DTS for Synology RS816, Synology DS218j, and Thecus N2350.

Credits:

- Thanks Robin for the efforts to bring up the Synology DS216.

Latest Linux kernel 6.x general release information can be found at:
LinuxChanges log

Download at Dropbox

linux-6.8.7-mvebu-tld-1-bodhi.tar.bz2
md5:
5951038c3cc5c899ae703d6dafdde561
sha256:
8dea0631573192d130482d405ad9ad75c4e7d28fa0e184d8e79011a9b44d87e9

As always, please check the hash of your download!

There are 6 files in this tarball:
linux-image-6.8.7-mvebu-tld-1_1_armhf.deb
linux-headers-6.8.7-mvebu-tld-1_1_armhf.deb
zImage-6.8.7-mvebu-tld-1
config-6.8.7-mvebu-tld-1
linux-dtb-6.8.7-mvebu-tld-1.tar
linux-6.8.7-mvebu-tld-1.patch

Installation

NOTE: the following steps are for a general kernel upgrade. For initial installation, please see "Installation Instruction for specific boxes" in the thread description at the top of this release thread.

1. Backup your current zImage, uImage, and uInitrd. In the /boot directory, these are files for your current kernel (xx.xx.xx is the version number):
uInitrd 
uImage
zImage-xx.xx.xx-mvebu-xxx
initrd.img-xx.xx.xx-mvebu-xxx
System.map-xx.xx.xx-mvebu-xxx
vmlinuz-xx.xx.xx-mvebu-xxx
config-xx.xx.xx-mvebu-xxx
dts/

2. Extract the kernel and the DTB files in the archive:

cd /boot
tar -xjf linux-6.8.7-mvebu-tld-1-bodhi.tar.bz2
tar -xf  linux-dtb-6.8.7-mvebu-tld-1.tar

3. And install it with dpkg. Remove flash-kernel first to avoid potential problem (if flash-kernel was not installed then you'll see some error output):

cd /boot
apt-get remove flash-kernel 
dpkg -i linux-image-6.8.7-mvebu-tld-1_1_armhf.deb

4. Create uImage and uInitrd (kernel file initrd.img-6.8.7-mvebu-tld-1 was generated by dpkg in step 3). I am using the Zyxel NAS326 as an example here. Please replace armada-380-zyxel-nas326.dtb below with the appropriate DTB name for your box.

cd /boot
cp -a zImage-6.8.7-mvebu-tld-1 zImage.fdt 
cat dts/armada-380-zyxel-nas326.dtb >> zImage.fdt
mkimage -A arm -O linux -T kernel -C none -a 0x00008000 -e 0x00008000 -n Linux-6.8.7-mvebu-tld-1 -d zImage.fdt uImage
mkimage -A arm -O linux -T ramdisk -C gzip -a 0x00000000 -e 0x00000000 -n initramfs-6.8.7-mvebu-tld-1 -d initrd.img-v-mvebu-tld-1 uInitrd

5. The new uImage and uInitrd files should be created in /boot directory now.

5.a (Optional) Shrink your initramfs size.

For boxes that need to have a smaller initramfs. For example, you are trying to fit it in a limited sized NAND partition. See here for tutorial: HowTo Shrink initramfs

5.b You're ready to reboot the system:
sync 
sync
shutdown -r now

========================================================================
Updated 23 Feb 2024:

Kernel 6.7.5-mvebu-tld-1 package has been uploaded.

New/Updated in this release:

- General kernel upgrade.
- Add support for booting with eMMC rootfs.

Latest Linux kernel 6.x general release information can be found at:
LinuxChanges log

Download at Dropbox

linux-6.7.5-mvebu-tld-1-bodhi.tar.bz2
md5:
b8f151ecc4951cd5df0c5c24487cb34d
sha256:
68828fdc348404f412a96359be69f4b71c16565ab9b2146356a6179bbc09a801

As always, please check the hash of your download!

There are 6 files in this tarball:
linux-image-6.7.5-mvebu-tld-1_1_armhf.deb
linux-headers-6.7.5-mvebu-tld-1_1_armhf.deb
zImage-6.7.5-mvebu-tld-1
config-6.7.5-mvebu-tld-1
linux-dtb-6.7.5-mvebu-tld-1.tar
linux-6.7.5-mvebu-tld-1.patch

Installation

NOTE: the following steps are for a general kernel upgrade. For initial installation, please see "Installation Instruction for specific boxes" in the thread description at the top of this release thread.

1. Backup your current zImage, uImage, and uInitrd. In the /boot directory, these are files for your current kernel (xx.xx.xx is the version number):
uInitrd 
uImage
zImage-xx.xx.xx-mvebu-xxx
initrd.img-xx.xx.xx-mvebu-xxx
System.map-xx.xx.xx-mvebu-xxx
vmlinuz-xx.xx.xx-mvebu-xxx
config-xx.xx.xx-mvebu-xxx
dts/

2. Extract the kernel and the DTB files in the archive:

cd /boot
tar -xjf linux-6.7.5-mvebu-tld-1-bodhi.tar.bz2
tar -xf  linux-dtb-6.7.5-mvebu-tld-1.tar

3. And install it with dpkg. Remove flash-kernel first to avoid potential problem (if flash-kernel was not installed then you'll see some error output):

cd /boot
apt-get remove flash-kernel 
dpkg -i linux-image-6.7.5-mvebu-tld-1_1_armhf.deb

4. Create uImage and uInitrd (kernel file initrd.img-6.7.5-mvebu-tld-1 was generated by dpkg in step 3). I am using the Zyxel NAS326 as an example here. Please replace armada-380-zyxel-nas326.dtb below with the appropriate DTB name for your box.

cd /boot
cp -a zImage-6.7.5-mvebu-tld-1 zImage.fdt 
cat dts/armada-380-zyxel-nas326.dtb >> zImage.fdt
mkimage -A arm -O linux -T kernel -C none -a 0x00008000 -e 0x00008000 -n Linux-6.7.5-mvebu-tld-1 -d zImage.fdt uImage
mkimage -A arm -O linux -T ramdisk -C gzip -a 0x00000000 -e 0x00000000 -n initramfs-6.7.5-mvebu-tld-1 -d initrd.img-6.7.5-mvebu-tld-1 uInitrd

5. The new uImage and uInitrd files should be created in /boot directory now.

5.a (Optional) Shrink your initramfs size.

For boxes that need to have a smaller initramfs. For example, you are trying to fit it in a limited sized NAND partition. See here for tutorial: HowTo Shrink initramfs

5.b You're ready to reboot the system:
sync 
sync
shutdown -r now

========================================================================
Updated 16 Dec 2023:

Rootfs Debian-6.6.2-mvebu-tld-1-rootfs-bodhi.tar.bz2 has been uploaded.

Basic Debian bookworm armhf rootfs for most MVEBU Armada NAS:

- tarball size: 295MB
- install size: 777MB
- The init system used in this rootfs is sysvinit . To boot with systemd, see Note 5 below.
- Installed packages: openssh-server, nano, avahi, libnss-mdns, ntp, busybox-syslogd (log to RAM), htop, isc-dhcp-client, locales, dialog, bzip2, nfs-kernel-server, nfs-common, iperf, ethtool, sysvinit-core, sysvinit, and sysvinit-utils, mtd-utils, u-boot-tools, libubootenv-tool, rsync, pmount, i2c-tools, qemu-arm-static (x86 version).

- see LED controls in /etc/rc.local, and /etc/init.d/halt
- see some useful aliases in /root/.profile
- root password: root

Download at Dropbox:

Debian-6.6.2-mvebu-tld-1-rootfs-bodhi.tar.bz2
md5:
009d315ebc813868344ce9221bcc3c70
sha256:
50ceb6465c46399901ab52406e15fd6406d53ec9d682d066f9fe9a87f779077f

And remember to check the hash of what you download, as always.

Installation:

Installation can be done on any Linux box, with a fresh USB drive (or HDD would work fine too).

Important: all steps below must be done while logging in as root user (not sudo). If you are not the root user then don't continue, because the rootfs will not work.

1. Format a new USB drive with a single Ext3 partition, and label it rootfs. This step should be done at Linux command line using fdisk, mkfs.ext3 (don't use GUI or gparted). Once you have booted the box, then you could try GPT partition and/or Ext4 (Ext4 might work for some MVEBU box).

2. Mount the drive on a Linux box. Go to top level directory and extract the rootfs. Assuming the USB drive is mounted at /media/sdb1
cd /media/sdb1 
tar -xjf Debian-6.6.2-mvebu-tld-1-rootfs-bodhi.tar.bz2

3. Create uImage with DTB appended. I am using the Zyxel NAS326 as an example here. Please replace armada-380-zyxel-nas326.dtb below with the appropriate DTB name for your box (find it in the rootfs /boot/dts directory).

cd /media/sdb1/boot
cp -a uImage uImage.orig
cp -a zImage-6.6.2-mvebu-tld-1 zImage.fdt 
cat dts/armada-380-zyxel-nas326.dtb >> zImage.fdt
mkimage -A arm -O linux -T kernel -C none -a 0x00008000 -e 0x00008000 -n Linux-6.6.2-mvebu-tld-1 -d zImage.fdt uImage

4. Adjust fstab (optional)

Edit /media/sdb1/etc/fstab entry for root device, it it is not Ext3.
# /etc/fstab: static file system information.
#
# <file system> <mount point>   <type>  <options>       <dump>  <pass>
LABEL=rootfs    /               ext3    noatime,errors=remount-ro 0 1

5. Sync, umount, and Done.

sync
sync
umount /media/sdb1

Take this USB rootfs to your NAS and cold start. Note that from kernel version 5.2.9-mvebu-tld-1, we need to boot with uImage (as prepared by Step 3). Depending on the flavor of MVEBU boxes you have, further u-boot envs setup is needed to boot this rootfs. Instruction are provided at the top of this thread for each MVEBU box, or a group of boxes that use the same u-boot.

After booted into Debian, see Notes 1-7 below.

Note 1. (Strongly Recommended):

To keep the rootfs extremely basic and small, there is no swap space set up for it. The first thing you should do after the 1st boot is to set up a swap file to make the system run better. In fact, system upgrades oftently fail to run without swap. Please see here for instruction how to do that.

Note 2. (Optional):

The rootfs will automatically generate new SSH keys at 1st boot (see /etc/rc.local). However, if you would like to generate the keys again then do:
rm /etc/ssh/ssh_host*
ssh-keygen -A

Note 3. (Optional):

Update your rootfs to get the latest Debian package security updates (if the installation is done at a much later date than the time of this release).

Check the system clock to make sure it is the current time before upgrade (boxes without RTC is using NTP so quite slow to update the clock).
date
And upgrade
apt-get update
apt-get upgrade

Warning: Watch the apt-get upgrade progress. If the apt-get upgrade results in a new initramfs, the log would shows this message:
update-initramfs: Generating /boot/initrd.img-5.13.8-mvebu-tld-1

Then you need to regenerate the uInitrd boot file:
cd /boot
mkimage -A arm -O linux -T ramdisk -C gzip -a 0x00000000 -e 0x00000000 -n initramfs 6.6.2-mvebu-tld-1 -d initrd.img-6.6.2-mvebu-tld-1 uInitrd

Note 4. (Optional):

Some network environment is not very robust in propagating the host name advertised by avahi. If you cannot find the host name (debian.local) of this rootfs in your network, or you cannot find the other hosts by name, you need to install libnss-mdns.

apt-get install libnss-mdns

Note 5. (Optional):

Note 5.1. To boot with systemd

After loged into Debian, run:

apt-get install systemd
And then add parameter init=/usr/bin/systemd to your u-boot env bootargs.

- For example,
fw_setenv set_bootargs 'setenv bootargs console=ttyS0,115200 root=LABEL=rootfs rootdelay=10 $mtdparts init=/usr/bin/systemd'

Note 5.2. To boot back to sysvinit

Reverse the env setting (there is no need to remove systemd, you can switch back and forth from/to sysvinit and systemd):
fw_setenv set_bootargs 'setenv bootargs console=ttyS0,115200 root=LABEL=rootfs rootdelay=10 $mtdparts'

Note 6. Persistent MAC address (Optional):

To enable the network dynamic IP to stay consistent after each reboot, and also for faster boot. In this rootfs, a script is executed during kernel booting (in /etc/rc.local), to detect if a local MAC address was assigned during boot, and then set the persistent MAC address to what is currently defined in u-boot env ethaddr.

/root/set_persistent_mac_address

To keep using the kernel generated local MAC address (if local MAC address was generated in your box) then chmod this script to non-executable.
chmod -x /root/set_persistent_mac_address

Further improvement: after releasing this rootfs, I realized I've forgot to implement an improvement for this. Please see here for more info.

Note 7. Shrink initramfs to smaller size (Optional):

In Debian bookworm, the default compression is zstd. However, to keep it simple, the initramfs (initrd.img-6.6.2-mvebu-tld-1) in this rootfs was compressed using gzip, which is perfectly OK. If you need to have a smaller initramfs (for example, you are trying to fit it in a limited sized NAND partition), see here for tutorial: HowTo Shrink initramfs.

Note 8. Ethernet Naming Issue (Optional):

In Debian 12.4, the ethernet "Predictable Names" scheme is enabled. So the ethernet device assigned is no longer "eth0", but is "end0". This "predictable naming" scheme broke a lot of existing applications that still relying on "eth0" is the network device name. So in this rootfs, the network is renamed to the way it was in /etc/network/interfaces.

cat /etc/network/interfaces
rename /end0=eth0
auto lo eth0
iface lo inet loopback
iface eth0 inet dhcp
Beware of software apps, such as OMV, that do not respect users' configuration and so wiping out this change during its installation! I'd suggest to make a backup of this file, so you can compare that with any new /etc/network/interfaces after installing OMV, and restore the rename command.

There are also many other ways to force the eth0 name. However, it is more cumbersome to do than just watching out for this file being changed by OMV or other major apps installation. Also, other methods might not survive a future Debian upgrade :)


========================================================================

Updated 21 Nov 2023:

Kernel 6.6.2-mvebu-tld-1 package has been uploaded.

New/Updated in this release:

- General kernel upgrade.
- Fixed NAND driver problem for ZyXEL NAS326. This was the indirect cause for the random MAC address issue.

Latest Linux kernel 6.x general release information can be found at:
LinuxChanges log

Download at Dropbox

linux-6.6.2-mvebu-tld-1-bodhi.tar.bz2
md5:
da257c4ecbc3eb5e39c11728dc85bacd
sha256:
394a3cb7a4dcd3b06fc22af68e2dc5734e1badac5ef3c09330ecdfe9dd61f326

As always, please check the hash of your download!

There are 6 files in this tarball:
linux-image-6.6.2-mvebu-tld-1_1_armhf.deb
linux-headers-6.6.2-mvebu-tld-1_1_armhf.deb
zImage-6.6.2-mvebu-tld-1
config-6.6.2-mvebu-tld-1
linux-dtb-6.6.2-mvebu-tld-1.tar
linux-6.6.2-mvebu-tld-1.patch

Installation

NOTE: the following steps are for a general kernel upgrade. For initial installation, please see "Installation Instruction for specific boxes" in the thread description at the top of this release thread.

1. Backup your current zImage, uImage, and uInitrd. In the /boot directory, these are files for your current kernel (xx.xx.xx is the version number):
uInitrd 
uImage
zImage-xx.xx.xx-mvebu-xxx
initrd.img-xx.xx.xx-mvebu-xxx
System.map-xx.xx.xx-mvebu-xxx
vmlinuz-xx.xx.xx-mvebu-xxx
config-xx.xx.xx-mvebu-xxx
dts/

2. Extract the kernel and the DTB files in the archive:

cd /boot
tar -xjf linux-6.6.2-mvebu-tld-1-bodhi.tar.bz2
tar -xf  linux-dtb-6.6.2-mvebu-tld-1.tar

3. And install it with dpkg. Remove flash-kernel first to avoid potential problem (if flash-kernel was not installed then you'll see some error output):

cd /boot
apt-get remove flash-kernel 
dpkg -i linux-image-6.6.2-mvebu-tld-1_1_armhf.deb

4. Create uImage and uInitrd (kernel file initrd.img-6.6.2-mvebu-tld-1 was generated by dpkg in step 3). I am using the Zyxel NAS326 as an example here. Please replace armada-380-zyxel-nas326.dtb below with the appropriate DTB name for your box.

cd /boot
cp -a zImage-6.6.2-mvebu-tld-1 zImage.fdt 
cat dts/armada-380-zyxel-nas326.dtb >> zImage.fdt
mkimage -A arm -O linux -T kernel -C none -a 0x00008000 -e 0x00008000 -n Linux-6.6.2-mvebu-tld-1 -d zImage.fdt uImage
mkimage -A arm -O linux -T ramdisk -C gzip -a 0x00000000 -e 0x00000000 -n initramfs-6.6.2-mvebu-tld-1 -d initrd.img-6.6.2-mvebu-tld-1 uInitrd

5. The new uImage and uInitrd files should be created in /boot directory now.

5.a (Optional) Shrink your initramfs size.

For boxes that need to have a smaller initramfs. For example, you are trying to fit it in a limited sized NAND partition. See here for tutorial: HowTo Shrink initramfs

5.b You're ready to reboot the system:
sync 
sync
shutdown -r now

========================================================================

Updated 21 Oct 2023:

Kernel 6.5.7-mvebu-tld-1 package has been uploaded.

New/Updated in this release:

- General kernel upgrade.
- Add GPIO SPI (CONFIG_GPIO_74X164) for Iomega ix4-300d
- Add eMMC and SD card for Chip PC LXD8941

Warning: If you have the ZyXEL NAS326 NAS please stay with kernel 6.4.11. There is some problem with NAND controller in this NAS326 box running this kernel.. Other MVEBU boxes seem to be fine. The problem is in mainline kernel, so I will fix this at a later kernel version. Update: I've fixed this problem for the NAS326, probably will release the kernel 6.6.x-mvebu-tld-1 a bit earlier than my usual time.

Credits:

-Thanks Ray for adding support for eMMC and SD card for Chip PC LXD8941

Latest Linux kernel 6.x general release information can be found at:
LinuxChanges log

Download at Dropbox
linux-6.5.7-mvebu-tld-1-bodhi.tar.bz2
md5:
f972f4bf0e99859c9281bf67c361185d
sha256:
57800d83ad7a6db4f96cfd7416f6cec9ece69b4f5e5bfd99052d1b978d8aebf3

As always, please check the hash of your download!

There are 6 files in this tarball:
linux-image-6.5.7-mvebu-tld-1_1_armhf.deb
linux-headers-6.5.7-mvebu-tld-1_1_armhf.deb
zImage-6.5.7-mvebu-tld-1
config-6.5.7-mvebu-tld-1
linux-dtb-6.5.7-mvebu-tld-1.tar
linux-6.5.7-mvebu-tld-1.patch

Installation

NOTE: the following steps are for a general kernel upgrade. For initial installation, please see "Installation Instruction for specific boxes" in the thread description at the top of this release thread.

1. Backup your current zImage, uImage, and uInitrd. In the /boot directory, these are files for your current kernel (xx.xx.xx is the version number):
uInitrd 
uImage
zImage-xx.xx.xx-mvebu-xxx
initrd.img-xx.xx.xx-mvebu-xxx
System.map-xx.xx.xx-mvebu-xxx
vmlinuz-xx.xx.xx-mvebu-xxx
config-xx.xx.xx-mvebu-xxx
dts/

2. Extract the kernel and the DTB files in the archive:

cd /boot
tar -xjf linux-6.5.7-mvebu-tld-1-bodhi.tar.bz2
tar -xf  linux-dtb-6.5.7-mvebu-tld-1.tar

3. And install it with dpkg. Remove flash-kernel first to avoid potential problem (if flash-kernel was not installed then you'll see some error output):

cd /boot
apt-get remove flash-kernel 
dpkg -i linux-image-6.5.7-mvebu-tld-1_1_armhf.deb

4. Create uImage and uInitrd (kernel file initrd.img-6.5.7-mvebu-tld-1 was generated by dpkg in step 3). I am using the Zyxel NAS326 as an example here. Please replace armada-380-zyxel-nas326.dtb below with the appropriate DTB name for your box.

cd /boot
cp -a zImage-6.5.7-mvebu-tld-1 zImage.fdt 
cat dts/armada-380-zyxel-nas326.dtb >> zImage.fdt
mkimage -A arm -O linux -T kernel -C none -a 0x00008000 -e 0x00008000 -n Linux-6.5.7-mvebu-tld-1 -d zImage.fdt uImage
mkimage -A arm -O linux -T ramdisk -C gzip -a 0x00000000 -e 0x00000000 -n initramfs-6.5.7-mvebu-tld-1 -d initrd.img-6.5.7-mvebu-tld-1 uInitrd

5. The new uImage and uInitrd files should be created in /boot directory now.

5.a (Optional) Shrink your initramfs size.

For boxes that need to have a smaller initramfs. For example, you are trying to fit it in a limited sized NAND partition. See here for tutorial: HowTo Shrink initramfs

5.b You're ready to reboot the system:
sync 
sync
shutdown -r now

========================================================================
Updated 21 Aug 2023:

Kernel 6.4.11-mvebu-tld-1 package has been uploaded.

New/Updated in this release:

- General kernel upgrade.
- Added supports for docker (SECCOMP, SECCOMP_FILTER, CGROUP_BPF, BPFILTER).
- Removed support for running old binaries (OABI_COMPAT).

Latest Linux kernel 6.x general release information can be found at:
LinuxChanges log

Download at Dropbox

linux-6.4.11-mvebu-tld-1-bodhi.tar.bz2
md5:
821cb995d0f6e02c11c807a93ab38bd9
sha256:
74831e5b939b760e279f7a451921483600d89d6a536ce38a7542410063932475

As always, please check the hash of your download!

There are 6 files in this tarball:
linux-image-6.4.11-mvebu-tld-1_1_armhf.deb
linux-headers-6.4.11-mvebu-tld-1_1_armhf.deb
zImage-6.4.11-mvebu-tld-1
config-6.4.11-mvebu-tld-1
linux-dtb-6.4.11-mvebu-tld-1.tar
linux-6.4.11-mvebu-tld-1.patch

Installation

NOTE: the following steps are for a general kernel upgrade. For initial installation, please see "Installation Instruction for specific boxes" in the thread description at the top of this release thread.

1. Backup your current zImage, uImage, and uInitrd. In the /boot directory, these are files for your current kernel (xx.xx.xx is the version number):
uInitrd 
uImage
zImage-xx.xx.xx-mvebu-xxx
initrd.img-xx.xx.xx-mvebu-xxx
System.map-xx.xx.xx-mvebu-xxx
vmlinuz-xx.xx.xx-mvebu-xxx
config-xx.xx.xx-mvebu-xxx
dts/

2. Extract the kernel and the DTB files in the archive:

cd /boot
tar -xjf linux-6.4.11-mvebu-tld-1-bodhi.tar.bz2
tar -xf  linux-dtb-6.4.11-mvebu-tld-1.tar

3. And install it with dpkg. Remove flash-kernel first to avoid potential problem (if flash-kernel was not installed then you'll see some error output):

cd /boot
apt-get remove flash-kernel 
dpkg -i linux-image-6.4.11-mvebu-tld-1_1_armhf.deb

4. Create uImage and uInitrd (kernel file initrd.img-6.4.11-mvebu-tld-1 was generated by dpkg in step 3). I am using the Zyxel NAS326 as an example here. Please replace armada-380-zyxel-nas326.dtb below with the appropriate DTB name for your box.

cd /boot
cp -a zImage-6.4.11-mvebu-tld-1 zImage.fdt 
cat dts/armada-380-zyxel-nas326.dtb >> zImage.fdt
mkimage -A arm -O linux -T kernel -C none -a 0x00008000 -e 0x00008000 -n Linux-6.4.11-mvebu-tld-1 -d zImage.fdt uImage
mkimage -A arm -O linux -T ramdisk -C gzip -a 0x00000000 -e 0x00000000 -n initramfs-6.4.11-mvebu-tld-1 -d initrd.img-6.4.11-mvebu-tld-1 uInitrd

5. The new uImage and uInitrd files should be created in /boot directory now.

5.a (Optional) Shrink your initramfs size.

For boxes that need to have a smaller initramfs. For example, you are trying to fit it in a limited sized NAND partition. See here for tutorial: HowTo Shrink initramfs

5.b You're ready to reboot the system:
sync 
sync
shutdown -r now

========================================================================
Updated 02 Jun 2023:

Kernel 6.3.5-mvebu-tld-1 package has been uploaded.

New/Updated in this release:

Warning: PCI is broken (in mainline Linux) therefore it might be problematic (also USB 3.0 is broken only if it is on PCI bus). Also, for boxes with 4 SATA slots (2 slots are usually PCI, so 2 of the SATA slots wil not work). Please stay with kernel 6.2.8-mvebu-tld-1 for now if you need these capabilities.

- General kernel upgrade. Some code and DTS rebase were needed in the patch.
- Add support for Mavell MMP3 SoC (CONFIG_ARCH_MMP and assiocated configs).
- Add support for Dell Wyse 3020. For the latest DTB (updated after this kernel has been released, see here).
-Add CONFIG_SENSORS_W83795 for Thecus N2350

Credits:

- Thanks Mischif for doing all the testing in bringing up the Dell Wyse 3020.

Latest Linux kernel 6.x general release information can be found at:
LinuxChanges log

Download at Dropbox

linux-6.3.5-mvebu-tld-1-bodhi.tar.bz2
md5:
793348a81530d5055102a875ba3440c3
sha256:
cd5c48073e65411b7f9702a1d590027366b99ff06a57f43f4b6336c5571310e3
As always, please check the hash of your download!

There are 6 files in this tarball:
linux-image-6.3.5-mvebu-tld-1_1_armhf.deb
linux-headers-6.3.5-mvebu-tld-1_1_armhf.deb
zImage-6.3.5-mvebu-tld-1
config-6.3.5-mvebu-tld-1
linux-dtb-6.3.5-mvebu-tld-1.tar
linux-6.3.5-mvebu-tld-1.patch

Installation

NOTE: the following steps are for a general kernel upgrade. For initial installation, please see "Installation Instruction for specific boxes" in the thread description at the top of this release thread.

1. Backup your current zImage, uImage, and uInitrd. In the /boot directory, these are files for your current kernel (xx.xx.xx is the version number):
uInitrd 
uImage
zImage-xx.xx.xx-mvebu-xxx
initrd.img-xx.xx.xx-mvebu-xxx
System.map-xx.xx.xx-mvebu-xxx
vmlinuz-xx.xx.xx-mvebu-xxx
config-xx.xx.xx-mvebu-xxx
dts/

2. Extract the kernel and the DTB files in the archive:

cd /boot
tar -xjf linux-6.3.5-mvebu-tld-1-bodhi.tar.bz2
tar -xf  linux-dtb-6.3.5-mvebu-tld-1.tar

3. And install it with dpkg. Remove flash-kernel first to avoid potential problem (if flash-kernel was not installed then you'll see some error output):

cd /boot
apt-get remove flash-kernel 
dpkg -i linux-image-6.3.5-mvebu-tld-1_1_armhf.deb

4. Create uImage and uInitrd (kernel file initrd.img-6.3.5-mvebu-tld-1 was generated by dpkg in step 3). I am using the Zyxel NAS326 as an example here. Please replace armada-380-zyxel-nas326.dtb below with the appropriate DTB name for your box.

cd /boot
cp -a zImage-6.3.5-mvebu-tld-1 zImage.fdt 
cat dts/armada-380-zyxel-nas326.dtb >> zImage.fdt
mkimage -A arm -O linux -T kernel -C none -a 0x00008000 -e 0x00008000 -n Linux-6.3.5-mvebu-tld-1 -d zImage.fdt uImage
mkimage -A arm -O linux -T ramdisk -C gzip -a 0x00000000 -e 0x00000000 -n initramfs-6.3.5-mvebu-tld-1 -d initrd.img-6.3.5-mvebu-tld-1 uInitrd

5. The new uImage and uInitrd files should be created in /boot directory now.

5.a (Optional) Shrink your initramfs size.

For boxes that need to have a smaller initramfs. For example, you are trying to fit it in a limited sized NAND partition. See here for tutorial: HowTo Shrink initramfs

5.b You're ready to reboot the system:
sync 
sync
shutdown -r now

========================================================================
Updated 26 Mar 2023:

Kernel 6.2.8-mvebu-tld-1 package has been uploaded.

New/Updated in this release:

- General kernel upgrade.
- Added LCD display capabilty for Netgear RN104 (thanks Trond for testing).
- Added USBIP
- Added 2nd SATA port for Synology RS816 (thanks emvivre for testing).
- Added SPI lock to mx25l3205d
- Moved FAT file ssytem to loadable module.
- Removed Marvell BERLIN SoC.
- Disabled FTRACE (stack trace is still enable).

Latest Linux kernel 6.x general release information can be found at:
LinuxChanges log

Download at Dropbox

linux-6.2.8-mvebu-tld-1-bodhi.tar.bz2

md5:
8b11cb40c5c362d24a5981fd7020e348
sha256:
91e9c50a6c5173c3c086c3db48e6dec7e39b2333a8f297910afd768437363329

As always, please check the hash of your download!

There are 6 files in this tarball:

Quote

linux-image-6.2.8-mvebu-tld-1_1.0_armhf.deb
linux-headers-6.2.8-mvebu-tld-1_1.0_armhf.deb
zImage-6.2.8-mvebu-tld-1
config-6.2.8-mvebu-tld-1
linux-dtb-6.2.8-mvebu-tld-1.tar
linux-6.2.8-mvebu-tld-1.patch

Installation

NOTE: the following steps are for a general kernel upgrade. For initial installation, please see "Installation Instruction for specific boxes" in the thread description at the top of this release thread.

1. Backup your current zImage, uImage, and uInitrd. In the /boot directory, these are files for your current kernel (xx.xx.xx is the version number):
uInitrd 
uImage
zImage-xx.xx.xx-mvebu-xxx
initrd.img-xx.xx.xx-mvebu-xxx
System.map-xx.xx.xx-mvebu-xxx
vmlinuz-xx.xx.xx-mvebu-xxx
config-xx.xx.xx-mvebu-xxx
dts/

2. Extract the kernel and the DTB files in the archive:

cd /boot
tar -xjf linux-6.2.8-mvebu-tld-1-bodhi.tar.bz2
tar -xf  linux-dtb-6.2.8-mvebu-tld-1.tar

3. And install it with dpkg. Remove flash-kernel first to avoid potential problem (if flash-kernel was not installed then you'll see some error output):

cd /boot
apt-get remove flash-kernel 
dpkg -i linux-image-6.2.8-mvebu-tld-1_1.0_armhf.deb

4. Create uImage and uInitrd (kernel file initrd.img-6.2.8-mvebu-tld-1 was generated by dpkg in step 3). I am using the Zyxel NAS326 as an example here. Please replace armada-380-zyxel-nas326.dtb below with the appropriate DTB name for your box.

cd /boot
cp -a zImage-6.2.8-mvebu-tld-1 zImage.fdt 
cat dts/armada-380-zyxel-nas326.dtb >> zImage.fdt
mkimage -A arm -O linux -T kernel -C none -a 0x00008000 -e 0x00008000 -n Linux-6.2.8-mvebu-tld-1 -d zImage.fdt uImage
mkimage -A arm -O linux -T ramdisk -C gzip -a 0x00000000 -e 0x00000000 -n initramfs-6.2.8-mvebu-tld-1 -d initrd.img-6.2.8-mvebu-tld-1 uInitrd

5. The new uImage and uInitrd files should be created in /boot directory now. You're ready to reboot the system:
sync 
sync
shutdown -r now

========================================================================
Updated 25 Jan 2023:

Kernel 6.1.8-mvebu-tld-1 package has been uploaded.

New/Updated in this release:

- General kernel upgrade.
- Add support for Synology DS214.
- Added USER_NS and MEMCG
- Updated Globalscale D2Plug DTS to fix SPI flash initialization.
- Moved EXFAT_FS and UBIFS_FS to loadable module (if you are running UBIFS rootfs, please post feedbacks).
- Updated Netgear RN102 and RN104 DTS to add eSATA capability.

Credits:

- Thanks i5Js for testing and finding some quirks about the WD MyCloud Ex2 Ultra.
- Thanks Martin (lonestar) for the effort to bring up the Synology DS214.
- Thanks Trond Melen (tme) for working on eSATA booting on Netgear RN102 and RN104.

Latest Linux kernel 6.x general release information can be found at:
LinuxChanges log

Download at Dropbox

linux-6.1.8-mvebu-tld-1-bodhi.tar.bz2

md5:
3b72df24f6e934b6c950aa0bd6baa592
sha256:
8b7d0ed43d8b01b2aa8ad49629c8a82c8d386179da01fb0b55beb995d8000cc2

As always, please check the hash of your download!

There are 6 files in this tarball:

Quote

linux-image-6.1.8-mvebu-tld-1_1.0_armhf.deb
linux-headers-6.1.8-mvebu-tld-1_1.0_armhf.deb
zImage-6.1.8-mvebu-tld-1
config-6.1.8-mvebu-tld-1
linux-dtb-6.1.8-mvebu-tld-1.tar
linux-6.1.8-mvebu-tld-1.patch

Installation

NOTE: the following steps are for a general kernel upgrade. For initial installation, please see "Installation Instruction for specific boxes" in the thread description at the top of this release thread.

1. Backup your current zImage, uImage, and uInitrd. In the /boot directory, these are files for your current kernel (xx.xx.xx is the version number):
uInitrd 
uImage
zImage-xx.xx.xx-mvebu-xxx
initrd.img-xx.xx.xx-mvebu-xxx
System.map-xx.xx.xx-mvebu-xxx
vmlinuz-xx.xx.xx-mvebu-xxx
config-xx.xx.xx-mvebu-xxx
dts/

2. Extract the kernel and the DTB files in the archive:

cd /boot
tar -xjf linux-6.1.8-mvebu-tld-1-bodhi.tar.bz2
tar -xf  linux-dtb-6.1.8-mvebu-tld-1.tar

3. And install it with dpkg. Remove flash-kernel first to avoid potential problem (if flash-kernel was not installed then you'll see some error output):

cd /boot
apt-get remove flash-kernel 
dpkg -i linux-image-6.1.8-mvebu-tld-1_1.0_armhf.deb

4. Create uImage and uInitrd (kernel file initrd.img-6.1.8-mvebu-tld-1 was generated by dpkg in step 3). I am using the Zyxel NAS326 as an example here. Please replace armada-380-zyxel-nas326.dtb below with the appropriate DTB name for your box.

cd /boot
cp -a zImage-6.1.8-mvebu-tld-1 zImage.fdt 
cat dts/armada-380-zyxel-nas326.dtb >> zImage.fdt
mkimage -A arm -O linux -T kernel -C none -a 0x00008000 -e 0x00008000 -n Linux-6.1.8-mvebu-tld-1 -d zImage.fdt uImage
mkimage -A arm -O linux -T ramdisk -C gzip -a 0x00000000 -e 0x00000000 -n initramfs-6.1.8-mvebu-tld-1 -d initrd.img-6.1.8-mvebu-tld-1 uInitrd

5. The new uImage and uInitrd files should be created in /boot directory now. You're ready to reboot the system:
sync 
sync
shutdown -r now

========================================================================
Some older kernel were removed here.

========================================================================
Updated 28 Sept 2021:

Rootfs Debian-5.13.8-mvebu-tld-1-rootfs-bodhi.tar.bz2 has been uploaded.

Basic Debian bullseye armhf rootfs for most MVEBU Armada NAS:

- tarball size: 268M
- install size: 764M
- The init system used in this rootfs is sysvinit . To boot with systemd, see Note 5 below.
- Installed packages: openssh-server, nano, avahi, libnss-mdns, ntp, busybox-syslogd (log to RAM), htop, isc-dhcp-client, locales, dialog, bzip2, nfs-kernel-server, nfs-common, iperf, ethtool, sysvinit-core, sysvinit, and sysvinit-utils, mtd-utils, u-boot-tools, libubootenv-tool, rsync, pmount, i2c-tools, qemu-arm-static (x86 version).

- see LED controls in /etc/rc.local, and /etc/init.d/halt
- see some useful aliases in /root/.profile
- root password: root

Important Correction:

There was an obsolete source in /etc/apt/source.list. Please change the old security repo in the rootfs to:
deb https://security.debian.org/debian-security bullseye-security main contrib non-free


Download at Dropbox:

Debian-5.13.8-mvebu-tld-1-rootfs-bodhi.tar.bz2 (Shorten bitly link)
Debian-5.13.8-mvebu-tld-1-rootfs-bodhi.tar.bz2 (Direct Dropbox URL)
md5:
ed620916e376a3b3fa58594e8efccaa1
sha256:
7579b8d41f8fac2cb030c0cfe9ecc91bf4dc90682b7a013683e0c28c5bdd8523

And remember to check the hash of what you download, as always.

Installation:

Installation can be done on any Linux box, with a fresh USB drive (or HDD would work fine too).

Important: all steps below must be done while logging in as root user (not sudo). If you are not the root user then don't continue, because the rootfs will not work.

1. Format a new USB drive with a single Ext3 partition, and label it rootfs (Ext4 might work for some MVEBU box).

2. Mount the drive on a Linux box. cd to top level directory and extract the rootfs. Assuming the USB drive is mounted at /media/sdb1
cd /media/sdb1 
tar -xjf Debian-5.13.8-mvebu-tld-1-rootfs-bodhi.tar.bz2

3. Create uImage with DTB appended. I am using the Zyxel NAS326 as an example here. Please replace armada-380-zyxel-nas326.dtb below with the appropriate DTB name for your box.

cd /media/sdb1/boot
cp -a zImage-5.13.8-mvebu-tld-1 zImage.fdt 
cat dts/armada-380-zyxel-nas326.dtb >> zImage.fdt
mkimage -A arm -O linux -T kernel -C none -a 0x00008000 -e 0x00008000 -n Linux-5.13.8-mvebu-tld-1 -d zImage.fdt uImage

4. Adjust fstab (optional)

Edit /media/sdb1/etc/fstab entry for root device, it it is not Ext3.
# /etc/fstab: static file system information.
#
# <file system> <mount point>   <type>  <options>       <dump>  <pass>
LABEL=rootfs    /               ext3    noatime,errors=remount-ro 0 1

5. Sync, umount, and Done.

sync
sync
umount /media/sdb1

Take this USB rootfs to your NAS and cold start. Note that from kernel version 5.2.9-mvebu-tld-1, we need to boot with uImage (as prepared by Step 3). Depending on the flavor of MVEBU boxes you have, further u-boot envs setup is needed to boot this rootfs. Instruction are provided at the top of this thread for each MVEBU box, or a group of boxes that use the same u-boot.

After booted into Debian, see Notes 1-6 below.

Note 1 (Strongly Recommended):

To keep the rootfs extremely basic and small, there is no swap space set up for it. The first thing you should do after the 1st boot is to set up a swap file to make the system run better. In fact, system upgrades oftently fail to run without swap. Please see here for instruction how to do that.

Note 2 (Optional):

The rootfs will automatically generate new SSH keys at 1st boot (see /etc/rc.local). However, if you would like to generate the keys again then do:
rm /etc/ssh/ssh_host*
ssh-keygen -A

Note 3 (Optional):

Update your rootfs to get the latest Debian package security updates (if the installation is done at a much later date than the time of this release).

Check the system clock to make sure it is the current time (boxes without RTC is using NTP so quite slow to update the clock).
date
And upgrade
apt-get update
apt-get upgrade

Warning: Watch the apt-get upgrade progress. If the apt-get upgrade results in a new initramfs, the log would shows this message:
update-initramfs: Generating /boot/initrd.img-5.13.8-mvebu-tld-1

Then you need to regenerate the uInitrd boot file:
cd /boot
mkimage -A arm -O linux -T ramdisk -C gzip -a 0x00000000 -e 0x00000000 -n initramfs 5.13.8-mvebu-tld-1 -d initrd.img-5.13.8-mvebu-tld-1 uInitrd

Note 4 (Optional):

Some network environment is not very robust in propagating the host name advertised by avahi. If you cannot find the host name of this rootfs in your network, you might need to install libnss-mdns.

apt-get install libnss-mdns

Note 5 (Optional):

To boot with systemd, add parameter init=/bin/systemd to your u-boot env bootargs (beware that in later Debian distribution, the location of systemd binary might have changed).

- For example,
fw_setenv set_bootargs 'setenv bootargs console=ttyS0,115200 root=LABEL=rootfs rootdelay=10 $mtdparts init=/bin/systemd'

If that's still not possible to run systemd, you might want to install it again:
apt-get install systemd

Note 6 (Optional):

To enable the network dynamic IP to stay consistent after each reboot, and also for faster boot. In this rootfs, a script is executed during kernel booting (in /etc/rc.local), to detect if a local MAC address was assigned during boot, and then set the persistent MAC address to what is currently defined in u-boot env ethaddr.

/root/set_persistent_mac_address

To keep using the kernel generated local MAC address (if local MAC address was generated in your box) then remove or rename this script.

========================================================================
Please see next post for older kernel releases.
======================================================================

-bodhi
===========================
Forum Wiki
bodhi's corner (buy bodhi a beer)



Edited 226 time(s). Last edit at 11/22/2024 01:41PM by bodhi.
Re: Linux Kernel 4.9.0 MVEBU package and Debian rootfs
January 19, 2017 02:34AM
Old kernel and rootfs releases.

========================================================================
Updated 22 Aug 2022:

Kernel 5.19.2-mvebu-tld-1 package has been uploaded.

New/Updated in this release:

- General kernel upgrade.

Latest Linux kernel 5.x general release information can be found at:
LinuxChanges log

Download at Dropbox

linux-5.19.2-mvebu-tld-1-bodhi.tar.bz2 (Please let me know if this link does not work for you at your location)
md5:
c84328b5def603e96d6cdc2c96719e96 linux-5.19.2-mvebu-tld-1-bodhi.tar.bz2
sha256:
748f2dd419ae8a5399bce4276242d253cc1591b3e18b918259668882c3707e67 linux-5.19.2-mvebu-tld-1-bodhi.tar.bz2

As always, please check the hash of your download!

There are 6 files in this tarball:

Quote

linux-image-5.19.2-mvebu-tld-1_1.0_armhf.deb
linux-headers-5.19.2-mvebu-tld-1_1.0_armhf.deb
zImage-5.19.2-mvebu-tld-1
config-5.19.2-mvebu-tld-1
linux-dtb-5.19.2-mvebu-tld-1.tar
linux-5.19.2-mvebu-tld-1.patch

Installation

NOTE: the following steps are for a general kernel upgrade. For initial installation, please see "Installation Instruction for specific boxes" in the thread description at the top of this release thread.

1. Backup your current zImage, uImage, and uInitrd. In the /boot directory, these are files for your current kernel (xx.xx.xx is the version number):
uInitrd 
uImage
zImage-xx.xx.xx-mvebu-xxx
initrd.img-xx.xx.xx-mvebu-xxx
System.map-xx.xx.xx-mvebu-xxx
vmlinuz-xx.xx.xx-mvebu-xxx
config-xx.xx.xx-mvebu-xxx
dts/

2. Extract the kernel and the DTB files in the archive:

cd /boot
tar -xjf linux-5.19.2-mvebu-tld-1-bodhi.tar.bz2
tar -xf  linux-dtb-5.19.2-mvebu-tld-1.tar

3. And install it with dpkg. Remove flash-kernel first to avoid potential problem (if flash-kernel was not installed then you'll see some error output):

cd /boot
apt-get remove flash-kernel 
dpkg -i linux-image-5.19.2-mvebu-tld-1_1.0_armhf.deb

4. Create uImage and uInitrd (kernel file initrd.img-5.19.2-mvebu-tld-1 was generated by dpkg in step 3). I am using the Zyxel NAS326 as an example here. Please replace armada-380-zyxel-nas326.dtb below with the appropriate DTB name for your box.

cd /boot
cp -a zImage-5.19.2-mvebu-tld-1 zImage.fdt 
cat dts/armada-380-zyxel-nas326.dtb >> zImage.fdt
mkimage -A arm -O linux -T kernel -C none -a 0x00008000 -e 0x00008000 -n Linux-5.19.2-mvebu-tld-1 -d zImage.fdt uImage
mkimage -A arm -O linux -T ramdisk -C gzip -a 0x00000000 -e 0x00000000 -n initramfs-5.19.2-mvebu-tld-1 -d initrd.img-5.19.2-mvebu-tld-1 uInitrd

5. The new uImage and uInitrd files should be created in /boot directory now. You're ready to reboot the system:
sync 
sync
shutdown -r now

========================================================================
Updated 27 Jun 2022:

Kernel 5.18.6-mvebu-tld-1 package has been uploaded.

New/Updated in this release:

- General kernel upgrade.

Latest Linux kernel 5.x general release information can be found at:
LinuxChanges log

Download at Dropbox

linux-5.18.6-mvebu-tld-1-bodhi.tar.bz2 (please let me know if this link does not work for you from your location)

md5:
bf5dc3f7b62c1d8e5a3cb599235681e4 linux-5.18.6-mvebu-tld-1-bodhi.tar.bz2
sha256:
300374e64c4eb4a8a8afe3b88d2fb43adf37a4dc0fcc5beaa0b225a1462b57e2 linux-5.18.6-mvebu-tld-1-bodhi.tar.bz2

As always, please check the hash of your download!

There are 6 files in this tarball:

Quote

linux-image-5.18.6-mvebu-tld-1_1.0_armhf.deb
linux-headers-5.18.6-mvebu-tld-1_1.0_armhf.deb
zImage-5.18.6-mvebu-tld-1
config-5.18.6-mvebu-tld-1
linux-dtb-5.18.6-mvebu-tld-1.tar
linux-5.18.6-mvebu-tld-1.patch

Installation

NOTE: the following steps are for a general kernel upgrade. For initial installation, please see "Installation Instruction for specific boxes" in the thread description at the top of this release thread.

1. Backup your current zImage, uImage, and uInitrd. In the /boot directory, these are files for your current kernel (xx.xx.xx is the version number):
uInitrd 
uImage
zImage-xx.xx.xx-mvebu-xxx
initrd.img-xx.xx.xx-mvebu-xxx
System.map-xx.xx.xx-mvebu-xxx
vmlinuz-xx.xx.xx-mvebu-xxx
config-xx.xx.xx-mvebu-xxx
dts/

2. Extract the kernel and the DTB files in the archive:

cd /boot
tar -xjf linux-5.18.6-mvebu-tld-1-bodhi.tar.bz2
tar -xf  linux-dtb-5.18.6-mvebu-tld-1.tar

3. And install it with dpkg. Remove flash-kernel first to avoid potential problem (if flash-kernel was not installed then you'll see some error output):

cd /boot
apt-get remove flash-kernel 
dpkg -i linux-image-5.18.6-mvebu-tld-1_1.0_armhf.deb

4. Create uImage and uInitrd (kernel file initrd.img-5.18.6-mvebu-tld-1 was generated by dpkg in step 3). I am using the Zyxel NAS326 as an example here. Please replace armada-380-zyxel-nas326.dtb below with the appropriate DTB name for your box.

cd /boot
cp -a zImage-5.18.6-mvebu-tld-1 zImage.fdt 
cat dts/armada-380-zyxel-nas326.dtb >> zImage.fdt
mkimage -A arm -O linux -T kernel -C none -a 0x00008000 -e 0x00008000 -n Linux-5.18.6-mvebu-tld-1 -d zImage.fdt uImage
mkimage -A arm -O linux -T ramdisk -C gzip -a 0x00000000 -e 0x00000000 -n initramfs-5.18.6-mvebu-tld-1 -d initrd.img-5.18.6-mvebu-tld-1 uInitrd

5. The new uImage and uInitrd files should be created in /boot directory now. You're ready to reboot the system:
sync 
sync
shutdown -r now

========================================================================
Updated 20 Apr 2022:

Kernel 5.17.4-mvebu-tld-1 package has been uploaded.

New/Updated in this release:

- General kernel upgrade.

Latest Linux kernel 5.x general release information can be found at:
LinuxChanges log

Download at Dropbox

linux-5.17.4-mvebu-tld-1-bodhi.tar.bz2
md5:
533e94848a8f50d3b572c81f6d0fe3b4
sha256:
2a35fe907d438a16cd3a5b1dc5f942e34b63e18adb690d60ff2ee4af44522e3b

As always, please check the hash of your download!

There are 6 files in this tarball:

Quote

linux-image-5.17.4-mvebu-tld-1_1.0_armhf.deb
linux-headers-5.17.4-mvebu-tld-1_1.0_armhf.deb
zImage-5.17.4-mvebu-tld-1
config-5.17.4-mvebu-tld-1
linux-dtb-5.17.4-mvebu-tld-1.tar
linux-5.17.4-mvebu-tld-1.patch

Installation

NOTE: the following steps are for a general kernel upgrade. For initial installation, please see "Installation Instruction for specific boxes" in the thread description at the top of this release thread.

1. Backup your current zImage, uImage, and uInitrd. In the /boot directory, these are files for your current kernel (xx.xx.xx is the version number):
uInitrd 
uImage
zImage-xx.xx.xx-mvebu-xxx
initrd.img-xx.xx.xx-mvebu-xxx
System.map-xx.xx.xx-mvebu-xxx
vmlinuz-xx.xx.xx-mvebu-xxx
config-xx.xx.xx-mvebu-xxx
dts/

2. Extract the kernel and the DTB files in the archive:

cd /boot
tar -xjf linux-5.17.4-mvebu-tld-1-bodhi.tar.bz2
tar -xf  linux-dtb-5.17.4-mvebu-tld-1.tar

3. And install it with dpkg. Remove flash-kernel first to avoid potential problem (if flash-kernel was not installed then you'll see some error output):

cd /boot
apt-get remove flash-kernel 
dpkg -i linux-image-5.17.4-mvebu-tld-1_1.0_armhf.deb

4. Create uImage and uInitrd (kernel file initrd.img-5.17.4-mvebu-tld-1 was generated by dpkg in step 3). I am using the Zyxel NAS326 as an example here. Please replace armada-380-zyxel-nas326.dtb below with the appropriate DTB name for your box.

cd /boot
cp -a zImage-5.17.4-mvebu-tld-1 zImage.fdt 
cat dts/armada-380-zyxel-nas326.dtb >> zImage.fdt
mkimage -A arm -O linux -T kernel -C none -a 0x00008000 -e 0x00008000 -n Linux-5.17.4-mvebu-tld-1 -d zImage.fdt uImage
mkimage -A arm -O linux -T ramdisk -C gzip -a 0x00000000 -e 0x00000000 -n initramfs-5.17.4-mvebu-tld-1 -d initrd.img-5.17.4-mvebu-tld-1 uInitrd

5. The new uImage and uInitrd files should be created in /boot directory now. You're ready to reboot the system:
sync 
sync
shutdown -r now

=======================

Updated 11 Feb 2022:

Kernel 5.16.5-mvebu-tld-1 package has been uploaded.

New/Updated in this release:

- General kernel upgrade.
- Add support for the Shuttle Omninas KS10 (Armada 370).
- Add CONFIG_USB_XHCI_PCI_RENESAS as kernel loadable module.

Credits:
- Thanks Mijzelf for the effort bring up the Shuttle Omninas KS10 (Armada 370).

Latest Linux kernel 5.x general release information can be found at:
LinuxChanges log

Download at Dropbox
linux-5.16.5-mvebu-tld-1-bodhi.tar.bz2

md5:
898e1eeaade63ef7589fb3299003bec6 linux-5.16.5-mvebu-tld-1-bodhi.tar.bz2
sha256:
7e8e2321f873717c636026e33845cf34c80256f874be553676bca3f7472479f2 linux-5.16.5-mvebu-tld-1-bodhi.tar.bz2

There are 6 files in this tarball:

Quote

linux-image-5.16.5-mvebu-tld-1_1.0_armhf.deb
linux-headers-5.16.5-mvebu-tld-1_1.0_armhf.deb
zImage-5.16.5-mvebu-tld-1
config-5.16.5-mvebu-tld-1
linux-dtb-5.16.5-mvebu-tld-1.tar
linux-5.16.5-mvebu-tld-1.patch

As always, please check the hash of your download!

Installation

NOTE: the following steps are for a general kernel upgrade. For initial installation, please see "Installation Instruction for specific boxes" in the thread description at the top of this release thread.

1. Backup your current zImage, uImage, and uInitrd. In the /boot directory, these are files for your current kernel (xx.xx.xx is the version number):
uInitrd 
uImage
zImage-xx.xx.xx-mvebu-xxx
initrd.img-xx.xx.xx-mvebu-xxx
System.map-xx.xx.xx-mvebu-xxx
vmlinuz-xx.xx.xx-mvebu-xxx
config-xx.xx.xx-mvebu-xxx
dts/

2. Extract the kernel and the DTB files in the archive:

cd /boot
tar -xjf linux-5.16.5-mvebu-tld-1-bodhi.tar.bz2
tar -xf  linux-dtb-5.16.5-mvebu-tld-1.tar

3. And install it with dpkg. Remove flash-kernel first to avoid potential problem:

cd /boot
apt-get remove flash-kernel 
dpkg -i linux-image-5.16.5-mvebu-tld-1_1.0_armhf.deb

4. Create uImage and uInitrd (kernel file initrd.img-5.16.5-mvebu-tld-1 was generated by dpkg in step 3). I am using the Zyxel NAS326 as an example here. Please replace armada-380-zyxel-nas326.dtb below with the appropriate DTB name for your box.

cd /boot
cp -a zImage-5.16.5-mvebu-tld-1 zImage.fdt 
cat dts/armada-380-zyxel-nas326.dtb >> zImage.fdt
mkimage -A arm -O linux -T kernel -C none -a 0x00008000 -e 0x00008000 -n Linux-5.16.5-mvebu-tld-1 -d zImage.fdt uImage
mkimage -A arm -O linux -T ramdisk -C gzip -a 0x00000000 -e 0x00000000 -n initramfs-5.16.5-mvebu-tld-1 -d initrd.img-5.16.5-mvebu-tld-1 uInitrd

5. The new uImage and uInitrd files should be created in /boot directory now. You're ready to reboot the system:
sync 
sync
shutdown -r now

========================================================================

Updated 09 Aug 2021:

Kernel 5.13.8-mvebu-tld-1 package has been uploaded.

New/Updated in this release:

- General kernel upgrade.

Latest Linux kernel 5.x general release information can be found at:
LinuxChanges log

Download at Dropbox

linux-5.13.8-mvebu-tld-1-bodhi.tar.bz2

md5:
0873a79a607b45403770cec7a3689a49
sha256:
fc0e6a6a6a840c7e9a74ee2cbe91b40e3d5d078d530127bcf920e38058d46013

As always, please check the hash of your download!

There are 6 files in this tarball:

Quote

linux-image-5.13.8-mvebu-tld-1_1.0_armhf.deb
linux-headers-5.13.8-mvebu-tld-1_1.0_armhf.deb
zImage-5.13.8-mvebu-tld-1
config-5.13.8-mvebu-tld-1
linux-dtb-5.13.8-mvebu-tld-1.tar
linux-5.13.8-mvebu-tld-1.patch


Installation

NOTE: the following steps are for a general kernel upgrade. For initial installation, please see "Installation Instruction for specific boxes" in the thread description at the top of this release thread.

1. Backup your current zImage, uImage, and uInitrd. In the /boot directory, these are files for your current kernel (xx.xx.xx is the version number):
uInitrd 
uImage
zImage-xx.xx.xx-mvebu-xxx
initrd.img-xx.xx.xx-mvebu-xxx
System.map-xx.xx.xx-mvebu-xxx
vmlinuz-xx.xx.xx-mvebu-xxx
config-xx.xx.xx-mvebu-xxx
dts/

2. Extract the kernel and the DTB files in the archive:

cd /boot
tar -xjf linux-5.13.8-mvebu-tld-1-bodhi.tar.bz2
tar -xf  linux-dtb-5.13.8-mvebu-tld-1.tar

3. And install it with dpkg. Remove flash-kernel first to avoid potential problem:

cd /boot
apt-get remove flash-kernel 
dpkg -i linux-image-5.13.8-mvebu-tld-1_1.0_armhf.deb

4. Create uImage and uInitrd (kernel file initrd.img-5.13.8-mvebu-tld-1 was generated by dpkg in step 3). I am using the Zyxel NAS326 as an example here. Please replace armada-380-zyxel-nas326.dtb below with the appropriate DTB name for your box.

cd /boot
cp -a zImage-5.13.8-mvebu-tld-1 zImage.fdt 
cat dts/armada-380-zyxel-nas326.dtb >> zImage.fdt
mkimage -A arm -O linux -T kernel -C none -a 0x00008000 -e 0x00008000 -n Linux-5.13.8-mvebu-tld-1 -d zImage.fdt uImage
mkimage -A arm -O linux -T ramdisk -C gzip -a 0x00000000 -e 0x00000000 -n initramfs-5.13.8-mvebu-tld-1 -d initrd.img-5.13.8-mvebu-tld-1 uInitrd

5. The new uImage and uInitrd files should be created in /boot directory now. You're ready to reboot the system:
sync 
sync
shutdown -r now

========================================================================

Updated 10 Sep 2019:

Rootfs Debian-5.2.9-mvebu-tld-1-rootfs-bodhi.tar.bz2 has been uploaded.

Basic Debian buster armhf rootfs for most MVEBU Armada NAS:

- tarball size: 258M
- install size: 680M
- The init system used in this rootfs is sysvinit . To boot with systemd, see note 2 below.
- Installed packages: openssh-server, nano, avahi, libnss-mdns, ntp, busybox-syslogd (log to RAM), htop, isc-dhcp-client, locales, dialog, bzip2, nfs-kernel-server, nfs-common, iperf, ethtool, sysvinit-core, sysvinit, and sysvinit-utils, mtd-utils, u-boot-tools, rsync, pmount, i2c-tools, qemu-arm-static (x86 version).
- see LED controls in /etc/rc.local, and /etc/init.d/halt
- see some useful aliases in /root/.profile
- root password: root

Download at Dropbox:

Debian-5.2.9-mvebu-tld-1-rootfs-bodhi.tar.bz2
md5:
ffa864878dd797241c0bea05d563239a
sha256:
15d111a119aa1b1909b33178056c5d11d310a16f84d66f741f4dfd7c7e5d1b59
And remember to check the hash of what you download, as always.

Installation:

Installation can be done on any Linux box, with a fresh USB drive (or HDD would work fine too).

Important: all steps below must be done while logging in as root user (not sudo). If you are not the root user then don't continue, because the rootfs will not work.

1. Format a new USB drive with a single Ext3 partition, and label it rootfs.

2. Mount the drive on a Linux box. cd to top level directory and extract the rootfs. Assuming the USB drive is mounted at /media/sdb1
cd /media/sdb1 
tar -xjf Debian-5.2.9-mvebu-tld-1-rootfs-bodhi.tar.bz2

3. Create uImage with DTB appended. I am using the Zyxel NAS326 as an example here. Please replace armada-380-zyxel-nas326.dtb below with the appropriate DTB name for your box.

cd /media/sdb1/boot
cp -a zImage-5.2.9-mvebu-tld-1 zImage.fdt 
cat dts/armada-380-zyxel-nas326.dtb >> zImage.fdt
mkimage -A arm -O linux -T kernel -C none -a 0x00008000 -e 0x00008000 -n Linux-5.2.9-mvebu-tld-1 -d zImage.fdt uImage

3.a. Adjust fstab (optional)

Edit /media/sdb1/etc/fstab entry for root device, it it is not Ext3.
# /etc/fstab: static file system information.
#
# <file system> <mount point>   <type>  <options>       <dump>  <pass>
LABEL=rootfs    /               ext3    noatime,errors=remount-ro 0 1

4. Sync, umount, and Done.

sync
sync
umount /media/sdb1

Take this USB rootfs to your NAS and cold start. Note that from kernel version 5.2.9-mvebu-tld-1, we need to boot with uImage (as prepared by Step 4). Depending on the flavor of MVEBU boxes you have, further u-boot envs setup is needed to boot this rootfs. Instruction will be provided here for each MVEBU box, or a group of boxes that use the same u-boot.

After booted into Debian, see Note1, 2, and 3 below. It is very important that you do Note1 steps to secure your box..Note 3 is also important to read. Note 2 is optional.

Note1:

After logging in this rootf the first time, remember to generate new SSH key to make it your own unique rootfs. And also update your rootfs to get the latest Debian package security updates:
rm /etc/ssh/ssh_host*
ssh-keygen -A

apt-get update
apt-get upgrade

Warning: Watch the apt-get upgrade progress. If the apt-get upgrade results in a new initramfs, the log would shows this message:

update-initramfs: Generating /boot/initrd.img-5.2.9-mvebu-tld-1

Then you need to regenerate the uInitrd boot file:
cd /boot
mkimage -A arm -O linux -T ramdisk -C gzip -a 0x00000000 -e 0x00000000 -n initramfs-5.2.9-mvebu-tld-1 -d initrd.img-5.2.9-mvebu-tld-1 uInitrd

Note2:

To boot with systemd, add this parameter to your u-boot env bootargs:
init=/bin/systemd
For example,
fw_setenv usb_set_bootargs 'setenv bootargs "console=ttyS0,115200 root=LABEL=rootfs rootdelay=10 $mtdparts earlyprintk=serial init=/bin/systemd"'

If that's still not possible to run systemd, you might want to install it again:
apt-get install systemd

Note3:

To enable the network dynamic IP to stay consistent after each reboot, and also for faster boot. In this rootfs, a script is executed during kernel booting (in /etc/rc.local), to detect if a local MAC address was assigned during boot, and then set the persistent MAC address to what is currently defined in u-boot env ethaddr.

/root/set_persistent_mac_address

To keep using the kernel generated local MAC address (if local MAC address was generated in your box) then remove or rename this script.

========================================================================

Updated 04 Dec 2021:

Kernel 5.15.5-mvebu-tld-1 package has been uploaded.

New/Updated in this release:

- General kernel upgrade.
- F2FS file system has been reconfigured as kernel loadable module.
- NTFS3 (as kernel loadable module)
- SMB_SERVER (as kernel loadable module)

Note: I've moved my build enviroment to Linux Mint in this build, so the system version will show:

Quote

Linux version 5.15.5-mvebu-tld-1 (root@tldDebianVM) (arm-linux-gnueabihf-gcc (Ubuntu/Linaro 7.5.0-3ubuntu1~18.04) 7.5.0, GNU ld (GNU Binutils for Ubuntu) 2.30) #1.0 SMP PREEMPT Wed Dec 1 16:26:36 PST 2021


Latest Linux kernel 5.x general release information can be found at:
LinuxChanges log

Download at Dropbox

linux-5.15.5-mvebu-tld-1-bodhi.tar.bz2

md5:
16a085d9f817fcb1ea4f6585b36fe48d linux-5.15.5-mvebu-tld-1-bodhi.tar.bz2
sha256:
91447d395135cb4b7771a5f58bbdbd4261f147fdfc520b7a84d42eeb689006e8 linux-5.15.5-mvebu-tld-1-bodhi.tar.bz2

There are 6 files in this tarball:

Quote

linux-image-5.15.5-mvebu-tld-1_1.0_armhf.deb
linux-headers-5.15.5-mvebu-tld-1_1.0_armhf.deb
zImage-5.15.5-mvebu-tld-1
config-5.15.5-mvebu-tld-1
linux-dtb-5.15.5-mvebu-tld-1.tar
linux-5.15.5-mvebu-tld-1.patch

As always, please check the hash of your download!

Installation

NOTE: the following steps are for a general kernel upgrade. For initial installation, please see "Installation Instruction for specific boxes" in the thread description at the top of this release thread.

1. Backup your current zImage, uImage, and uInitrd. In the /boot directory, these are files for your current kernel (xx.xx.xx is the version number):
uInitrd 
uImage
zImage-xx.xx.xx-mvebu-xxx
initrd.img-xx.xx.xx-mvebu-xxx
System.map-xx.xx.xx-mvebu-xxx
vmlinuz-xx.xx.xx-mvebu-xxx
config-xx.xx.xx-mvebu-xxx
dts/

2. Extract the kernel and the DTB files in the archive:

cd /boot
tar -xjf linux-5.15.5-mvebu-tld-1-bodhi.tar.bz2
tar -xf  linux-dtb-5.15.5-mvebu-tld-1.tar

3. And install it with dpkg. Remove flash-kernel first to avoid potential problem:

cd /boot
apt-get remove flash-kernel 
dpkg -i linux-image-5.15.5-mvebu-tld-1_1.0_armhf.deb

4. Create uImage and uInitrd (kernel file initrd.img-5.15.5-mvebu-tld-1 was generated by dpkg in step 3). I am using the Zyxel NAS326 as an example here. Please replace armada-380-zyxel-nas326.dtb below with the appropriate DTB name for your box.

cd /boot
cp -a zImage-5.15.5-mvebu-tld-1 zImage.fdt 
cat dts/armada-380-zyxel-nas326.dtb >> zImage.fdt
mkimage -A arm -O linux -T kernel -C none -a 0x00008000 -e 0x00008000 -n Linux-5.15.5-mvebu-tld-1 -d zImage.fdt uImage
mkimage -A arm -O linux -T ramdisk -C gzip -a 0x00000000 -e 0x00000000 -n initramfs-5.15.5-mvebu-tld-1 -d initrd.img-5.15.5-mvebu-tld-1 uInitrd

5. The new uImage and uInitrd files should be created in /boot directory now. You're ready to reboot the system:
sync 
sync
shutdown -r now

========================================================================
Updated 07 Oct 2021:

Kernel 5.14.9-mvebu-tld-1 package has been uploaded.

New/Updated in this release:

- General kernel upgrade.
- Removed CONFIG_MVPP2_PTP from the kernel, since it is causing problem for Armada 37x boxes.
- Reconfigured Multi Media drivers to loadable modules.

Latest Linux kernel 5.x general release information can be found at:
LinuxChanges log

Download at Dropbox

linux-5.14.9-mvebu-tld-1-bodhi.tar.bz2

md5:
efba392e7d0a9961c98768337f8c3f54
sha256:
d2fbf755a0d114879f7d70cd5a0fb799cad5bd6cd2a240bec07c0352e17fe61c

There are 6 files in this tarball:

Quote

linux-image-5.14.9-mvebu-tld-1_1.0_armhf.deb
linux-headers-5.14.9-mvebu-tld-1_1.0_armhf.deb
zImage-5.14.9-mvebu-tld-1
config-5.14.9-mvebu-tld-1
linux-dtb-5.14.9-mvebu-tld-1.tar
linux-5.14.9-mvebu-tld-1.patch

As always, please check the hash of your download!

Installation

NOTE: the following steps are for a general kernel upgrade. For initial installation, please see "Installation Instruction for specific boxes" in the thread description at the top of this release thread.

1. Backup your current zImage, uImage, and uInitrd. In the /boot directory, these are files for your current kernel (xx.xx.xx is the version number):
uInitrd 
uImage
zImage-xx.xx.xx-mvebu-xxx
initrd.img-xx.xx.xx-mvebu-xxx
System.map-xx.xx.xx-mvebu-xxx
vmlinuz-xx.xx.xx-mvebu-xxx
config-xx.xx.xx-mvebu-xxx
dts/

2. Extract the kernel and the DTB files in the archive:

cd /boot
tar -xjf linux-5.14.9-mvebu-tld-1-bodhi.tar.bz2
tar -xf  linux-dtb-5.14.9-mvebu-tld-1.tar

3. And install it with dpkg. Remove flash-kernel first to avoid potential problem:

cd /boot
apt-get remove flash-kernel 
dpkg -i linux-image-5.14.9-mvebu-tld-1_1.0_armhf.deb

4. Create uImage and uInitrd (kernel file initrd.img-5.14.9-mvebu-tld-1 was generated by dpkg in step 3). I am using the Zyxel NAS326 as an example here. Please replace armada-380-zyxel-nas326.dtb below with the appropriate DTB name for your box.

cd /boot
cp -a zImage-5.14.9-mvebu-tld-1 zImage.fdt 
cat dts/armada-380-zyxel-nas326.dtb >> zImage.fdt
mkimage -A arm -O linux -T kernel -C none -a 0x00008000 -e 0x00008000 -n Linux-5.14.9-mvebu-tld-1 -d zImage.fdt uImage
mkimage -A arm -O linux -T ramdisk -C gzip -a 0x00000000 -e 0x00000000 -n initramfs-5.14.9-mvebu-tld-1 -d initrd.img-5.14.9-mvebu-tld-1 uInitrd

5. The new uImage and uInitrd files should be created in /boot directory now. You're ready to reboot the system:
sync 
sync
shutdown -r now

========================================================================

Updated 28 May 2021:

Kernel 5.12.6-mvebu-tld-1 package has been uploaded.

New/Updated in this release:

- Added supports for RTNAS V3 (Armada 370). Please also see the modified stock u-boot image here (needed to boot Debian). Thanks wacke!
- Patch Marvell DSA switch 6171 to fix jumbo frame issue (disable it). Thanks wacke!
- General kernel upgrade.

Latest Linux kernel 5.x general release information can be found at:
LinuxChanges log

Download at Dropbox

linux-5.12.6-mvebu-tld-1-bodhi.tar.bz2

md5:
f936d11501e2c9d0707fac221b92bb91
sha256:
fecf3e57a23a375aa77c0f93834d05011c564550f509d706c648ac3ba11e708a

As always, please check the hash of your download!

There are 6 files in this tarball:

Quote

linux-image-5.12.6-mvebu-tld-1_1.0_armhf.deb
linux-headers-5.12.6-mvebu-tld-1_1.0_armhf.deb
zImage-5.12.6-mvebu-tld-1
config-5.12.6-mvebu-tld-1
linux-dtb-5.12.6-mvebu-tld-1.tar
linux-5.12.6-mvebu-tld-1.patch


Installation

NOTE: the following steps are for a general kernel upgrade. For initial installation, please see "Installation Instruction for specific boxes" in the thread description at the top of this release thread.

1. Backup your current zImage, uImage, and uInitrd. In the /boot directory, these are files for your current kernel (xx.xx.xx is the version number):
uInitrd 
uImage
zImage-xx.xx.xx-mvebu-xxx
initrd.img-xx.xx.xx-mvebu-xxx
System.map-xx.xx.xx-mvebu-xxx
vmlinuz-xx.xx.xx-mvebu-xxx
config-xx.xx.xx-mvebu-xxx
dts/

2. Extract the kernel and the DTB files in the archive:

cd /boot
tar -xjf linux-5.12.6-mvebu-tld-1-bodhi.tar.bz2
tar -xf  linux-dtb-5.12.6-mvebu-tld-1.tar

3. And install it with dpkg. Remove flash-kernel first to avoid potential problem:

cd /boot
apt-get remove flash-kernel 
dpkg -i linux-image-5.12.6-mvebu-tld-1_1.0_armhf.deb

4. Create uImage and uInitrd (kernel file initrd.img-5.12.6-mvebu-tld-1 was generated by dpkg in step 3). I am using the Zyxel NAS326 as an example here. Please replace armada-380-zyxel-nas326.dtb below with the appropriate DTB name for your box.

cd /boot
cp -a zImage-5.12.6-mvebu-tld-1 zImage.fdt 
cat dts/armada-380-zyxel-nas326.dtb >> zImage.fdt
mkimage -A arm -O linux -T kernel -C none -a 0x00008000 -e 0x00008000 -n Linux-5.12.6-mvebu-tld-1 -d zImage.fdt uImage
mkimage -A arm -O linux -T ramdisk -C gzip -a 0x00000000 -e 0x00000000 -n initramfs-5.12.6-mvebu-tld-1 -d initrd.img-5.12.6-mvebu-tld-1 uInitrd

5. The new uImage and uInitrd files should be created in /boot directory now. You're ready to reboot the system:
sync 
sync
shutdown -r now

========================================================================

Updated 19 Jan 2021:

Kernel 5.10.7-mvebu-tld-1 package has been uploaded.

New/Updated in this release:

- Moved JFFS2 and ORANGEFS to loadable modules.
- Fixed kernel regression in uncompression with debug on.
- Change kernel compression mode to use xz. The kernel image size was reduced by a few 100's MB.

Latest Linux kernel 5.x general release information can be found at:
LinuxChanges log

Download at Dropbox

linux-5.10.7-mvebu-tld-1-bodhi.tar.bz2

md5:
b597bd85289b2cfba1418fd993492b4d
sha256:
2ca7de26121211f5bcafb9cad73f569da55096b9a12bb885dba1bd71b096a624

As always, please check the hash of your download!

There are 6 files in this tarball:

Quote

linux-image-5.10.7-mvebu-tld-1_1.0_armhf.deb
linux-headers-5.10.7-mvebu-tld-1_1.0_armhf.deb
zImage-5.10.7-mvebu-tld-1
config-5.10.7-mvebu-tld-1
linux-dtb-5.10.7-mvebu-tld-1.tar
linux-5.10.7-mvebu-tld-1.patch

Installation

NOTE: the following steps are for a general kernel upgrade. For initial installation, please see "Installation Instruction for specific boxes" in the thread description at the top of this release thread.

1. Backup your current zImage, uImage, and uInitrd. In the /boot directory, these are files for your current kernel (xx.xx.xx is the version number):
uInitrd 
uImage
zImage-xx.xx.xx-mvebu-xxx
initrd.img-xx.xx.xx-mvebu-xxx
System.map-xx.xx.xx-mvebu-xxx
vmlinuz-xx.xx.xx-mvebu-xxx
config-xx.xx.xx-mvebu-xxx
dts/

2. Extract the kernel and the DTB files in the archive:

cd /boot
tar -xjf linux-5.10.7-mvebu-tld-1-bodhi.tar.bz2
tar -xf  linux-dtb-5.10.7-mvebu-tld-1.tar

3. And install it with dpkg. Remove flash-kernel first to avoid potential problem:

cd /boot
apt-get remove flash-kernel 
dpkg -i linux-image-5.10.7-mvebu-tld-1_1.0_armhf.deb

4. Create uImage and uInitrd (kernel file initrd.img-5.10.7-mvebu-tld-1 was generated by dpkg in step 3). I am using the Zyxel NAS326 as an example here. Please replace armada-380-zyxel-nas326.dtb below with the appropriate DTB name for your box.

cd /boot
cp -a zImage-5.10.7-mvebu-tld-1 zImage.fdt 
cat dts/armada-380-zyxel-nas326.dtb >> zImage.fdt
mkimage -A arm -O linux -T kernel -C none -a 0x00008000 -e 0x00008000 -n Linux-5.10.7-mvebu-tld-1 -d zImage.fdt uImage
mkimage -A arm -O linux -T ramdisk -C gzip -a 0x00000000 -e 0x00000000 -n initramfs-5.10.7-mvebu-tld-1 -d initrd.img-5.10.7-mvebu-tld-1 uInitrd

5. The new uImage and uInitrd files should be created in /boot directory now. You're ready to reboot the system:
sync 
shutdown -r now

========================================================================
Updated 07 Nov 2020:

Kernel 5.9.3-mvebu-tld-1 package has been uploaded.

New/Updated in this release:

- Patched mainline bug for "mvebu-pcie mbus resource collision" (at the moment, this Marvell SoC PCIe regression has not been fixed in mainline yet).
- This kernel version fixed the infamous BleedingTooth (Bluetooth security hole).

Latest Linux kernel 5.x general release information can be found at:
LinuxChanges log

Download at Dropbox

linux-5.9.3-mvebu-tld-1-bodhi.tar.bz2
md5:
e871fc13a2fe0088fa82dabf30c76d12
sha256:
69df161573379da076f3fa7a4d811c7d32f464ac80d4811f5766f8d62dce6d6f

As always, please check the hash of your download!

There are 6 files in this tarball:

Quote

linux-image-5.9.3-mvebu-tld-1_1.0_armhf.deb
linux-headers-5.9.3-mvebu-tld-1_1.0_armhf.deb
zImage-5.9.3-mvebu-tld-1
config-5.9.3-mvebu-tld-1
linux-dtb-5.9.3-mvebu-tld-1.tar
linux-5.9.3-mvebu-tld-1.patch

Installation

NOTE: the following steps are for a general kernel upgrade. For initial installation, please see "Installation Instruction for specific boxes" in the thread description at the top of this release thread.

1. Backup your current zImage, uImage, and uInitrd. In the /boot directory, these are files for your current kernel (xx.xx.xx is the version number):
uInitrd 
uImage
zImage-xx.xx.xx-mvebu-xxx
initrd.img-xx.xx.xx-mvebu-xxx
System.map-xx.xx.xx-mvebu-xxx
vmlinuz-xx.xx.xx-mvebu-xxx
config-xx.xx.xx-mvebu-xxx
dts/

2. Extract the kernel and the DTB files in the archive:

cd /boot
tar -xjf linux-5.9.3-mvebu-tld-1-bodhi.tar.bz2
tar -xf  linux-dtb-5.9.3-mvebu-tld-1.tar

3. And install it with dpkg. Remove flash-kernel first to avoid potential problem:

cd /boot
apt-get remove flash-kernel 
dpkg -i linux-image-5.9.3-mvebu-tld-1_1.0_armhf.deb

4. Create uImage and uInitrd (kernel file initrd.img-5.9.3-mvebu-tld-1 was generated by dpkg in step 3). I am using the Zyxel NAS326 as an example here. Please replace armada-380-zyxel-nas326.dtb below with the appropriate DTB name for your box.

cd /boot
cp -a zImage-5.9.3-mvebu-tld-1 zImage.fdt 
cat dts/armada-380-zyxel-nas326.dtb >> zImage.fdt
mkimage -A arm -O linux -T kernel -C none -a 0x00008000 -e 0x00008000 -n Linux-5.9.3-mvebu-tld-1 -d zImage.fdt uImage
mkimage -A arm -O linux -T ramdisk -C gzip -a 0x00000000 -e 0x00000000 -n initramfs-5.9.3-mvebu-tld-1 -d initrd.img-5.9.3-mvebu-tld-1 uInitrd

5. The new uImage and uInitrd files should be created in /boot directory now. You're ready to reboot the system:
sync 
sync
sync
shutdown -r now

========================================================================
Updated 01 Sept 2020:

Kernel 5.8.5-mvebu-tld-1 package has been uploaded.

New in this release:

- Enable BFQ as the default IO scheduler in the kernel.
- Enabled ISCSI_TARGET as loadable module.

NOTE: I've missed the DTB file for the WD Ex2 Ultra (armada-385-wd-ex2-ultra.dtb). Please see this post to download the DTB file if you're upgrading kernel for the WD EX2 Ultra): https://forum.doozan.com/read.php?2,32146,106989#msg-106989.


Download at Dropbox

linux-5.8.5-mvebu-tld-1-bodhi.tar.bz2

md5:
c67819cee3ba5593989723e1a90400c4
sha256:
b52777e758730614ac680b27dc60b77e022597c9cc3536e45d3a4d29f5445579

As always, please check the hash of your download!

There are 6 files in this tarball:

Quote

linux-image-5.8.5-mvebu-tld-1_1.0_armhf.deb
linux-headers-5.8.5-mvebu-tld-1_1.0_armhf.deb
zImage-5.8.5-mvebu-tld-1
config-5.8.5-mvebu-tld-1
linux-dtb-5.8.5-mvebu-tld-1.tar
linux-5.8.5-mvebu-tld-1.patch

Installation

NOTE: the following steps are for a general kernel upgrade. For initial installation, please see "Installation Instruction for specific boxes" in the thread description at the top of this release thread.

1. Backup your current zImage, uImage, and uInitrd. In the /boot directory, these are files for your current kernel (xx.xx.xx is the version number):
uInitrd 
uImage
zImage-xx.xx.xx-mvebu-xxx
initrd.img-xx.xx.xx-mvebu-xxx
System.map-xx.xx.xx-mvebu-xxx
vmlinuz-xx.xx.xx-mvebu-xxx
config-xx.xx.xx-mvebu-xxx
dts/

2. Extract the kernel and the DTB files in the archive:

cd /boot
tar -xjf linux-5.8.5-mvebu-tld-1-bodhi.tar.bz2
tar -xf  linux-dtb-5.8.5-mvebu-tld-1.tar

3. And install it with dpkg. Remove flash-kernel first to avoid potential problem:

cd /boot
apt-get remove flash-kernel 
dpkg -i linux-image-5.8.5-mvebu-tld-1_1.0_armhf.deb

4. Create uImage and uInitrd (kernel file initrd.img-5.8.5-mvebu-tld-1 was generated by dpkg in step 3). I am using the Zyxel NAS326 as an example here. Please replace armada-380-zyxel-nas326.dtb below with the appropriate DTB name for your box.

cd /boot
cp -a zImage-5.8.5-mvebu-tld-1 zImage.fdt 
cat dts/armada-380-zyxel-nas326.dtb >> zImage.fdt
mkimage -A arm -O linux -T kernel -C none -a 0x00008000 -e 0x00008000 -n Linux-5.8.5-mvebu-tld-1 -d zImage.fdt uImage
mkimage -A arm -O linux -T ramdisk -C gzip -a 0x00000000 -e 0x00000000 -n initramfs-5.8.5-mvebu-tld-1 -d initrd.img-5.8.5-mvebu-tld-1 uInitrd

5. The new uImage and uInitrd files should be created in /boot directory now. You're ready to reboot the system:
sync 
sync
sync
shutdown -r now

========================================================================

Updated 01 July 2020:

Kernel 5.7.6-mvebu-tld-1 package has been uploaded.

New in this release:

- Added support for the WD MyCloud Ex2 Ultra.

Credits:

Thanks vzhilov, dtd.2512, CyberPK, mcmg2 for the works in testing to finalize the DTS for the WD MyCloud Ex2 Ultra.

Download at Dropbox

linux-5.7.6-mvebu-tld-1-bodhi.tar.bz2

md5:
cce0616ffea687246be7cf772a51274a
sha256:
39d1ca6cbfd089da99c84856b51fd60d1a125b7098526e3659e97f4b20b19e82

As always, please check the hash of your download!

There are 6 files in this tarball:

Quote

linux-image-5.7.6-mvebu-tld-1_1.0_armhf.deb
linux-headers-5.7.6-mvebu-tld-1_1.0_armhf.deb
zImage-5.7.6-mvebu-tld-1
config-5.7.6-mvebu-tld-1
linux-dtb-5.7.6-mvebu-tld-1.tar
linux-5.7.6-mvebu-tld-1.patch

Installation

NOTE: the following steps are for a general kernel upgrade. For initial installation, please see "Installation Instruction for specific boxes" in the thread description at the top of this release thread.

1. Backup your current zImage, uImage, and uInitrd. In the /boot directory, these are files for your current kernel (xx.xx.xx is the version number):
uInitrd 
uImage
zImage-xx.xx.xx-mvebu-xxx
initrd.img-xx.xx.xx-mvebu-xxx
System.map-xx.xx.xx-mvebu-xxx
vmlinuz-xx.xx.xx-mvebu-xxx
config-xx.xx.xx-mvebu-xxx
dts/

2. Extract the kernel and the DTB files in the archive:

cd /boot
tar -xjf linux-5.7.6-mvebu-tld-1-bodhi.tar.bz2
tar -xf  linux-dtb-5.7.6-mvebu-tld-1.tar

3. And install it with dpkg. Remove flash-kernel first to avoid potential problem:

cd /boot
apt-get remove flash-kernel 
dpkg -i linux-image-5.7.6-mvebu-tld-1_1.0_armhf.deb

4. Create uImage and uInitrd (kernel file initrd.img-5.7.6-mvebu-tld-1 was generated by dpkg in step 3). I am using the Zyxel NAS326 as an example here. Please replace armada-380-zyxel-nas326.dtb below with the appropriate DTB name for your box.

cd /boot
cp -a zImage-5.7.6-mvebu-tld-1 zImage.fdt 
cat dts/armada-380-zyxel-nas326.dtb >> zImage.fdt
mkimage -A arm -O linux -T kernel -C none -a 0x00008000 -e 0x00008000 -n Linux-5.7.6-mvebu-tld-1 -d zImage.fdt uImage
mkimage -A arm -O linux -T ramdisk -C gzip -a 0x00000000 -e 0x00000000 -n initramfs-5.7.6-mvebu-tld-1 -d initrd.img-5.7.6-mvebu-tld-1 uInitrd

5. The new uImage and uInitrd files should be created in /boot directory now. You're ready to reboot the system:
sync 
sync
sync
shutdown -r now

=========================
Updated 05 May 2020:

Kernel linux-5.6.9-mvebu-tld-1 package has been uploaded.

New in this release:

- Incorporated changes to DTS to fix SATA regulator problem with the Zyxel NAS326 (Armada 380) and Synology RS816 (Armada 385).

Download at Dropbox

linux-5.6.9-mvebu-tld-1-bodhi.tar.bz

md5:
6bdfb5df2622291d11885ae7fb0b0535
sha256:
5e702aac1ce58b4eaf8cdc22ba27d9bd5be6ccfa5007a0dc6c35754c8936c96f

As always, please check the hash of your download!

There are 6 files in this tarball:

Quote

linux-image-5.6.9-mvebu-tld-1_1.0_armhf.deb
linux-headers-5.6.9-mvebu-tld-1_1.0_armhf.deb
zImage-5.6.9-mvebu-tld-1
config-5.6.9-mvebu-tld-1
linux-dtb-5.6.9-mvebu-tld-1.tar
linux-5.6.9-mvebu-tld-1.patch

Installation

1. Backup your current zImage, uImage, and uInitrd. In the /boot directory, these are files for your current kernel (xx.xx.xx is the version number):
uInitrd 
uImage
zImage-xx.xx.xx-mvebu-xxx
initrd.img-xx.xx.xx-mvebu-xxx
System.map-xx.xx.xx-mvebu-xxx
vmlinuz-xx.xx.xx-mvebu-xxx
config-xx.xx.xx-mvebu-xxx
dts/

2. Extract the kernel and the DTB files in the archive:

cd /boot
tar -xjf linux-5.6.9-mvebu-tld-1-bodhi.tar.bz2
tar -xf  linux-dtb-5.6.9-mvebu-tld-1.tar

3. And install it with dpkg. Remove flash-kernel first to avoid potential problem:

cd /boot
apt-get remove flash-kernel 
dpkg -i linux-image-5.6.9-mvebu-tld-1_1.0_armhf.deb

4. Create uImage and uInitrd (kernel file initrd.img-5.6.9-mvebu-tld-1 was generated by dpkg in step 3). I am using the Zyxel NAS326 as an example here. Please replace armada-380-zyxel-nas326.dtb below with the appropriate DTB name for your box.

cd /boot
cp -a zImage-5.6.9-mvebu-tld-1 zImage.fdt 
cat dts/armada-380-zyxel-nas326.dtb >> zImage.fdt
mkimage -A arm -O linux -T kernel -C none -a 0x00008000 -e 0x00008000 -n Linux-5.6.9-mvebu-tld-1 -d zImage.fdt uImage
mkimage -A arm -O linux -T ramdisk -C gzip -a 0x00000000 -e 0x00000000 -n initramfs-5.6.9-mvebu-tld-1 -d initrd.img-5.6.9-mvebu-tld-1 uInitrd

5. The new uImage and uInitrd files should be created in /boot directory now. You're ready to reboot the system:
sync 
sync
sync
shutdown -r now

========================================================================

Updated 12 Oct 2019:

Kernel linux-5.3.5-mvebu-tld-1 package has been uploaded.

New in this release:

- Add supports for Linksys WRT1900AC v1

Credits:

- Thanks fsonnlei for all the works in testing to bring up the Linksys WRT1900AC box.

Important Note for all boxes: The new kernel zImage has increased in size significantly that it will no longer work to be used in booting with the Marvell u-boot typically installed in these Armada boxes. To make it more resilient (avoid messing with u-boot envs again when the kernel image size increases), we need to boot with uImage. Please see this post for an example how to adjust u-boot envs using the Thecus N2350, and see the updated NAS326 Installation Instruction Section E for another example.

Latest Linux kernel 5.x general release information can be found at:
LinuxChanges log

Download at Dropbox

linux-5.3.5-mvebu-tld-1-bodhi.tar.bz2 (This tarball was re-uploaded on 01 Mar 2024)
md5:
d8cca0daa2d0bea676e9434050181a36
sha256:
7f99d11e8138d4e81adf46e6ffe49d796cef4122e6de5540240f478ff861f52

As always, please check the hash of your download!

There are 6 files in this tarball:

Quote

linux-image-5.3.5-mvebu-tld-1_1.0_armhf.deb
linux-headers-5.3.5-mvebu-tld-1_1.0_armhf.deb
zImage-5.3.5-mvebu-tld-1
config-5.3.5-mvebu-tld-1
linux-dtb-5.3.5-mvebu-tld-1.tar
linux-5.3.5-mvebu-tld-1.patch

Installation

1. Backup your current zImage, uImage, and uInitrd. In the /boot directory, these are files for your current kernel (xx.xx.xx is the version number):
uInitrd 
uImage
zImage-xx.xx.xx-mvebu-xxx
initrd.img-xx.xx.xx-mvebu-xxx
System.map-xx.xx.xx-mvebu-xxx
vmlinuz-xx.xx.xx-mvebu-xxx
config-xx.xx.xx-mvebu-xxx
dts/

2. Extract the kernel and the DTB files in the archive:

cd /boot
tar -xjf linux-5.3.5-mvebu-tld-1-bodhi.tar.bz2
tar -xf  linux-dtb-5.3.5-mvebu-tld-1.tar

3. And install it with dpkg. Remove flash-kernel first to avoid potential problem:

cd /boot
apt-get remove flash-kernel 
dpkg -i linux-image-5.3.5-mvebu-tld-1_1.0_armhf.deb

4. Create uImage and uInitrd (kernel file initrd.img-5.3.5-mvebu-tld-1 was generated by dpkg in step 3). I am using the Zyxel NAS326 as an example here. Please replace armada-380-zyxel-nas326.dtb below with the appropriate DTB name for your box.

cd /boot
cp -a zImage-5.3.5-mvebu-tld-1 zImage.fdt 
cat dts/armada-380-zyxel-nas326.dtb >> zImage.fdt
mkimage -A arm -O linux -T kernel -C none -a 0x00008000 -e 0x00008000 -n Linux-5.3.5-mvebu-tld-1 -d zImage.fdt uImage
mkimage -A arm -O linux -T ramdisk -C gzip -a 0x00000000 -e 0x00000000 -n initramfs-5.3.5-mvebu-tld-1 -d initrd.img-5.3.5-mvebu-tld-1 uInitrd

5. The new uImage and uInitrd files should be created in /boot directory now. You're ready to reboot the system:
sync 
sync
sync
shutdown -r now

========================================================================

Updated 20 Aug 2019:

Kernel linux-5.2.9-mvebu-tld-1 package has been uploaded.

New in this release:

- Keep MTD and NAND drivers as builtin kernel drivers (to overcome a mainline kernel regression for MTD and NAND).
- Pickup security patches from mainline.

Important Note for all boxes: The new kernel zImage has increased in size significantly that it will no longer work to be used in booting with the Marvell u-boot typically installed in these Armada boxes. To make it more resilient (avoid messing with u-boot envs again when the kernel image size increases), from this kernel version, we need to boot with uImage. Please see this post for an example how to adjust u-boot envs using the Thecus N2350

Latest Linux kernel 5.x general release information can be found at:
LinuxChanges log

Download at Dropbox

linux-5.2.9-mvebu-tld-1-bodhi.tar.bz2

md5:
e883ee1443bcdf099b5dfb124f114200
sha256:
f9c1592cfff478fe09a3eeed8e8795276e542606f5a164a5fd567345523e92b4

As always, please check the hash of your download!

There are 6 files in this tarball:

Quote

linux-image-5.2.9-mvebu-tld-1_1.0_armhf.deb
linux-headers-5.2.9-mvebu-tld-1_1.0_armhf.deb
zImage-5.2.9-mvebu-tld-1
config-5.2.9-mvebu-tld-1
linux-dtb-5.2.9-mvebu-tld-1.tar
linux-5.2.9-mvebu-tld-1.patch

Installation

1. Backup your current zImage, uImage, and uInitrd. In the /boot directory, these are files for your current kernel (xx.xx.xx is the version number):
uInitrd 
uImage
zImage-xx.xx.xx-mvebu-xxx
initrd.img-xx.xx.xx-mvebu-xxx
System.map-xx.xx.xx-mvebu-xxx
vmlinuz-xx.xx.xx-mvebu-xxx
config-xx.xx.xx-mvebu-xxx
dts/


2. Extract the kernel and the DTB files in the archive:

cd /boot
tar -xjf linux-5.2.9-mvebu-tld-1-bodhi.tar.bz2
tar -xf  linux-dtb-5.2.9-mvebu-tld-1.tar

3. And install it with dpkg. Remove flash-kernel first to avoid potential problem:

cd /boot
apt-get remove flash-kernel 
dpkg -i linux-image-5.2.9-mvebu-tld-1_1.0_armhf.deb

4. Create uImage and uInitrd (kernel file initrd.img-5.2.9-mvebu-tld-1 was generated by dpkg in step 3). I am using the Zyxel NAS326 as an example here. Please replace armada-380-zyxel-nas326.dtb below with the appropriate DTB name for your box.

cd /boot
cp -a zImage-5.2.9-mvebu-tld-1 zImage.fdt 
cat dts/armada-380-zyxel-nas326.dtb >> zImage.fdt
mkimage -A arm -O linux -T kernel -C none -a 0x00008000 -e 0x00008000 -n Linux-5.2.9-mvebu-tld-1 -d zImage.fdt uImage
mkimage -A arm -O linux -T ramdisk -C gzip -a 0x00000000 -e 0x00000000 -n initramfs-5.2.9-mvebu-tld-1 -d initrd.img-5.2.9-mvebu-tld-1 uInitrd

5. The new uImage and uInitrd files should be created in /boot directory now. You're ready to reboot the system:
sync 
sync
sync
shutdown -r now

========================================================================

Updated 15 June 2019:

Kernel linux-5.1.7-mvebu-tld-1 package has been uploaded.

New in this release:

- Pick up mainline fix for SSD and Device Mapper Data Loss bug previously in earlier kernel 5.1.x.
- Updated armada-385-synology-rs816.dtb

Note only for the Synology RS816: The rootfs Debian-4.12.4-mvebu-tld-1-rootfs-bodhi.tar.bz2 has kernel 4.12.4-mvebu-tld-1 in it so it must be upgraded to kernel linux-5.1.7-mvebu-tld-1 before it can be used for this box. This kernel upgrade can be done offline using chroot. Also, I plan to release new Buster rootfs with the latest kernel in a few weeks, so users who wish to install Debian on this box can also wait until that time. Or wait for chroot instruction (if not sure how) that I'd planned to add to the Wiki thread.

Latest Linux kernel 5.x general release information can be found at:
LinuxChanges log

Download at Dropbox

linux-5.1.7-mvebu-tld-1-bodhi.tar.bz2

md5:
e18a9df63e9de5e2c19265b21d081dcb
sha256:
87b283df02e34a6217f269f53d20816d885802e9148330455c15a788e38e891b


As always, please check the hash of your download!

There are 6 files in this tarball:

Quote

linux-image-5.1.7-mvebu-tld-1_1.0_armhf.deb
linux-headers-5.1.7-mvebu-tld-1_1.0_armhf.deb
zImage-5.1.7-mvebu-tld-1
config-5.1.7-mvebu-tld-1
linux-dtb-5.1.7-mvebu-tld-1.tar
linux-5.1.7-mvebu-tld-1.patch

Installation

1. Backup your current zImage and uInitrd. In the /boot directory, these are files for your current kernel (xx.xx.xx is the version number):
uInitrd 
zImage-xx.xx.xx-mvebu-xxx
initrd.img-xx.xx.xx-mvebu-xxx
System.map-xx.xx.xx-mvebu-xxx
vmlinuz-xx.xx.xx-mvebu-xxx
config-xx.xx.xx-mvebu-xxx
dts/


2. Extract the kernel and the DTB files in the archive:

cd /boot
tar -xjf linux-5.1.7-mvebu-tld-1-bodhi.tar.bz2
tar -xf  linux-dtb-5.1.7-mvebu-tld-1.tar


3. And install it with dpkg. Remove flash-kernel first to avoid potential problem:

cd /boot
apt-get remove flash-kernel 
dpkg -i linux-image-5.1.7-mvebu-tld-1_1.0_armhf.deb

4. Create zImage and uInitrd (kernel file initrd.img-5.1.7-mvebu-tld-1 was generated by dpkg in step 3).

cd /boot
cp -a zImage-5.1.7-mvebu-tld-1 zImage
mkimage -A arm -O linux -T ramdisk -C gzip -a 0x00000000 -e 0x00000000 -n initramfs-5.1.7-mvebu-tld-1 -d initrd.img-5.1.7-mvebu-tld-1 uInitrd

5. The new zImage and uInitrd files should be created in /boot directory now. You're ready to reboot the system:
sync 
sync
sync
shutdown -r now

========================================================================

Updated 18 May 2019:

Kernel linux-5.1.2-mvebu-tld-1 package has been uploaded.

New in this release:

- Add supports for Synology RS816.

Note only for the Synology RS816: The rootfs Debian-4.12.4-mvebu-tld-1-rootfs-bodhi.tar.bz2 has kernel 4.12.4-mvebu-tld-1 in it so it must be upgraded to kernel linux-5.1.2-mvebu-tld-1 before it can be used for this box. This kernel upgrade can be done offline using chroot. Also, I plan to release new Buster rootfs with the latest kernel in a few weeks, so users who wish to install Debian on this box can also wait until that time. Or wait for chroot instruction (if not sure how) that I'd planned to add to the Wiki thread.

Warning: if you use SSD and Device Mapper please see this mainline bug.


Credits:

- Thanks to Richard and Zifxify who have collaborated with me in developing, and testing in bringing up the Synology RS816 box in Debian on Synology RS816 (Armada 385). The installation instruction for this box will be available in the near future. In the mean time, see working thread for instruction.

Latest Linux kernel 5.x general release information can be found at:
LinuxChanges log

Download at Dropbox

linux-5.1.2-mvebu-tld-1-bodhi.tar.bz2

md5:
049259a2761769d0f14641f045ef8a48
sha256:
2a68beab3f662cd7bbb3412644e247b0ad8746fbedc54173fe7360b323209a69

As always, please check the hash of your download!

There are 6 files in this tarball:

Quote

linux-image-5.1.2-mvebu-tld-1_1.0_armhf.deb
linux-headers-5.1.2-mvebu-tld-1_1.0_armhf.deb
zImage-5.1.2-mvebu-tld-1
config-5.1.2-mvebu-tld-1
linux-dtb-5.1.2-mvebu-tld-1.tar
linux-5.1.2-mvebu-tld-1.patch

Installation

1. Backup your current zImage and uInitrd. In the /boot directory, these are files for your current kernel (xx.xx.xx is the version number):
uInitrd 
zImage-xx.xx.xx-mvebu-xxx
initrd.img-xx.xx.xx-mvebu-xxx
System.map-xx.xx.xx-mvebu-xxx
vmlinuz-xx.xx.xx-mvebu-xxx
config-xx.xx.xx-mvebu-xxx
dts/


2. Extract the kernel and the DTB files in the archive:

cd /boot
tar -xjf linux-5.1.2-mvebu-tld-1-bodhi.tar.bz2
tar -xf  linux-dtb-5.1.2-mvebu-tld-1.tar


3. And install it with dpkg. Remove flash-kernel first to avoid potential problem:

cd /boot
apt-get remove flash-kernel 
dpkg -i linux-image-5.1.2-mvebu-tld-1_1.0_armhf.deb

4. Create zImage and uInitrd (kernel file initrd.img-5.1.2-mvebu-tld-1 was generated by dpkg in step 3).

cd /boot
cp -a zImage-5.1.2-mvebu-tld-1 zImage
mkimage -A arm -O linux -T ramdisk -C gzip -a 0x00000000 -e 0x00000000 -n initramfs-5.1.2-mvebu-tld-1 -d initrd.img-5.1.2-mvebu-tld-1 uInitrd

5. The new zImage and uInitrd files should be created in /boot directory now. You're ready to reboot the system:
sync 
sync
sync
shutdown -r now

========================================================================

Updated 08 Feb 2019:

Kernel linux-4.20.6-mvebu-tld-1 package has been uploaded.

Latest Linux kernel 4.x general release information can be found at:
LinuxChanges log

Download at Dropbox

linux-4.20.6-mvebu-tld-1-bodhi.tar.bz2

md5sum
675194d90832a71c1300129d931ab866
sha256sum
48ccd6bd009cc993afafb16c570d79d0a19a2e27341c34cefd4e074c17747f00

As always, please check the hash of your download!

There are 6 files in this tarball:

Quote

linux-image-4.20.6-mvebu-tld-1_1.0_armhf.deb
linux-headers-4.20.6-mvebu-tld-1_1.0_armhf.deb
zImage-4.20.6-mvebu-tld-1
config-4.20.6-mvebu-tld-1
linux-dtb-4.20.6-mvebu-tld-1.tar
linux-4.20.6-mvebu-tld-1.patch


Installation


1. Backup your current zImage and uInitrd. In the /boot directory, these are files for your current kernel (xx.xx.xx is the version number):
uInitrd 
zImage-xx.xx.xx-mvebu-xxx
initrd.img-xx.xx.xx-mvebu-xxx
System.map-xx.xx.xx-mvebu-xxx
vmlinuz-xx.xx.xx-mvebu-xxx
config-xx.xx.xx-mvebu-xxx
dts/


2. Extract the kernel and the DTB files in the archive:

cd /boot
tar -xjf linux-4.20.6-mvebu-tld-1-bodhi.tar.bz2
tar -xf  linux-dtb-4.20.6-mvebu-tld-1.tar


3. And install it with dpkg. Remove flash-kernel first to avoid potential problem:

cd /boot
apt-get remove flash-kernel 
dpkg -i linux-image-4.20.6-mvebu-tld-1_1.0_armhf.deb


4. Create zImage and uInitrd (kernel file initrd.img-4.20.6-mvebu-tld-1 was generated by dpkg in step 3).

cd /boot
cp -a zImage-4.20.6-mvebu-tld-1 zImage
mkimage -A arm -O linux -T ramdisk -C gzip -a 0x00000000 -e 0x00000000 -n initramfs-4.20.6-mvebu-tld-1 -d initrd.img-4.20.6-mvebu-tld-1 uInitrd

5. The new zImage and uInitrd files should be created in /boot directory now. You're ready to reboot the system:
sync 
sync
sync
shutdown -r now

==============================================

Some older kernels were removed here

==============================================

Updated 04 Feb 2017:

This Debian-4.9.0-mvebu-tld-12-rootfs-bodhi.tar.bz2 has been uploaded.


Basic Debian jessie armhf rootfs for most MVEBU Armada NAS:

- tarball size: 160M
- install size: 554M
- The init system used in this rootfs is sysvinit . To boot with systemd, see note 2 below.
- Installed packages: openssh-server, nano, avahi, libnss-mdns, ntp, busybox-syslogd (log to RAM), htop, isc-dhcp-client, locales, dialog, bzip2, nfs-kernel-server, nfs-common, iperf, ethtool, sysvinit-core, sysvinit, and sysvinit-utils, mtd-utils, u-boot-tools, rsync, pmount, i2c-tools, qemu-arm-static.

- see LED controls in /etc/rc.local
- see some useful aliases in /root/.profile
- root password: root

Download at Dropbox:

Debian-4.9.0-mvebu-tld-12-rootfs-bodhi.tar.bz2
md5:
dac69fb0c46d056ff96500f730e9d3d1
sha256:
0b9086dbb641c583eb1e10b7fd8d157abd4f1a1c5f7e772a6dffb75947620b20

And remember to check the hash of what you download, as always.


Installation:

Installation can be done on any Linux box, with a fresh USB drive (SD card or HDD would work fine too).

Important: all steps below must be done while logging in as root user (not sudo). If you are not the root user then don't continue, because the rootfs will not work.

1. Format a new USB drive with a single Ext3 partition, and label it rootfs.

2. Mount the drive on a Linux box. cd to top level directory and extract the rootfs. Assuming the USB drive is mounted at /media/sdb1
cd /media/sdb1 
tar -xjf Debian-4.9.0-mvebu-tld-12-rootfs-bodhi.tar.bz2
cd /media/sdb1/boot
cp -a zImage-4.9.0-mvebu-tld-12 zImage

3. Adjust fstab.

Edit /media/sdb1/etc/fstab entry for /dev/root.
/dev/root      /               ext3    noatime,errors=remount-ro 0 1

4. Sync, umount, and Done.

sync
sync
umount /media/sdb1


Take this USB rootfs to your NAS and cold start. Depending on the flavor of MVEBU boxes you have, further u-boot envs setup is needed to boot this rootfs. Instruction will be provided here for each MVEBU box, or a group of boxes that use the same u-boot.

After booted into Debian, see Note1 and Note2 below. It is very important that you do Note1 steps to secure your box.


Note1:

After logging in this rootf the first time, remember to generate new SSH key to make it your own unique rootfs. And also update your rootfs to get the latest Debian package security updates:
rm /etc/ssh/ssh_host*
ssh-keygen -A

apt-get update
apt-get upgrade

Note2:

To boot with systemd, add this parameter to your u-boot env bootargs:
init=/bin/systemd
For example,
fw_setenv usb_set_bootargs 'setenv bootargs "console=ttyS0,115200 root=LABEL=rootfs rootdelay=10 $mtdparts earlyprintk=serial init=/bin/systemd"'

If that's still not possible to run systemd, you might want to install it again:

apt-get install systemd

==============================================

Updated 23 Jan 2017:

This Debian-4.9.0-mvebu-tld-9-rootfs-bodhi.tar.bz2 is my first release for the Marvell MVEBU boxes.

Basic minimal Debian jessie armhf rootfs for most MVEBU NAS:

- tarball size: 133M
- install size: 481M
- a basic jessie armhf rootfs.
- The init system used in this rootfs is sysvinit . To boot with systemd, see note 2 below.
- Installed packages: openssh-server, nano, avahi, libnss-mdns, ntp, busybox-syslogd (log to RAM), htop, isc-dhcp-client, locales, dialog, bzip2, nfs-kernel-server, nfs-common, iperf, ethtool, sysvinit-core, sysvinit, and sysvinit-utils, mtd-utils, u-boot-tools, rsync, pmount, i2c-tools, qemu-arm-static.

- see LED controls in /etc/rc.local
- see some useful aliases in /root/.profile
- root password: root

Download at Dropbox:

Debian-4.9.0-mvebu-tld-9-rootfs-bodhi.tar.bz2
md5:
ecd4e7d384eea920d2def9aed95c9d48
sha256:
7f2ce42ca7fa1807fb0db2bc5946c91a19876739520ce8e2bd33bdb09cdbdf26

And remember to check the hash of what you download, as always.

Installation:

Installation can be done on any Linux box, with a fresh USB drive (SD card or HDD would work fine too).

Important: all steps below must be done while logging in as root user (not sudo). If you are not the root user then don't continue, because the rootfs will not work.

1. Format a new USB drive with a single Ext3 partition, and label it rootfs.

2. Mount the drive on a Linux box. cd to top level directory and extract the rootfs. It is assuming the USB drive is mounted at /media/sdb1
cd /media/sdb1 
tar -xjf Debian-4.9.0-mvebu-tld-9-rootfs-bodhi.tar.bz2
cd ./boot
cp -a zImage-4.9.0-mvebu-tld-9 zImage

3. Adjust fstab.

Edit /media/sdb1/etc/fstab entry for /dev/root.
/dev/root      /               ext3    noatime,errors=remount-ro 0 1

4. Sync, umount, and Done.

sync
sync
umount /media/sdb1


Take this USB rootfs to your NAS and cold start. Depending on the flavor of MVEBU boxes you have, further u-boot envs setup is needed to boot this rootfs. Instruction will be provided here for each box, or a group of boxes that use the same u-boot.

After booted into Debian, see Note1 and Note2 below. It is very important that you do Note1 steps to secure your box.


Note1:

After logging in this rootf the first time, remember to generate new SSH key to make it your own unique rootfs. And also update your rootfs to get the latest Debian package security updates:
rm /etc/ssh/ssh_host*
ssh-keygen -A

apt-get update
apt-get upgrade

Note2:

To boot with systemd, add this parameter to your u-boot env bootargs:
init=/bin/systemd
For example,
fw_setenv usb_set_bootargs 'setenv bootargs console=$console root=LABEL=rootfs rootdelay=10 $mtdparts init=/bin/systemd'

If that's still not possible to run systemd, you might want to install it again:
apt-get install systemd

=====================================================================================
Some old kernels were removed here.
=====================================================================================

End of Old kernel and rootfs releases.

-bodhi
===========================
Forum Wiki
bodhi's corner (buy bodhi a beer)



Edited 25 time(s). Last edit at 09/26/2024 03:07PM by bodhi.
Re: Linux Kernel 4.9.0 MVEBU package and Debian rootfs
January 19, 2017 02:45AM
Reserved.

-bodhi
===========================
Forum Wiki
bodhi's corner (buy bodhi a beer)



Edited 5 time(s). Last edit at 10/07/2021 10:12PM by bodhi.
Re: Linux Kernel 4.9.0 MVEBU package and Debian rootfs
February 05, 2017 04:37PM
The new rootfs and kernel package have been uploaded. Please see 1st post for download link and installation procedure.

Quote

Zyxel NAS326 Installation
Updated 05 Feb 2017


Quote

Updated 04 Feb 2017:

This Debian-4.9.0-mvebu-tld-12-rootfs-bodhi.tar.bz2 has been uploaded.

Quote

Updated 03 Feb 2017:

Kernel linux-4.9.0-mvebu-tld-12 package has been uploaded.

-bodhi
===========================
Forum Wiki
bodhi's corner (buy bodhi a beer)



Edited 1 time(s). Last edit at 02/06/2017 02:47AM by bodhi.
Re: Linux Kernel 4.9.0 MVEBU package and Debian rootfs
February 18, 2017 05:05AM
Instruction for Zyxel NAS326 Installation has been updated: added section B (setup without serial console).

Quote

Zyxel NAS326 Installation

Updated 18 Feb 2017 (added Section B)
Updated 05 Feb 2017

-bodhi
===========================
Forum Wiki
bodhi's corner (buy bodhi a beer)
Re: Linux Kernel 4.9.0 MVEBU package and Debian rootfs
April 09, 2017 03:52PM
Kernel linux-4.10.9-mvebu-tld-1 package has been uploaded. Please see 1st post for download link.

-bodhi
===========================
Forum Wiki
bodhi's corner (buy bodhi a beer)
Re: Linux Kernel 4.10.9 MVEBU package and Debian armhf rootfs
May 11, 2017 02:27AM
Hi bodhi,

am i right that this kernel and rootfs could fit my WD MyCloud EX 4100 as it has an Marvell Armada 380/381/382/385/388 (Device Tree).

cat /proc/version gives me the folliwing information

Linux version 3.10.39 (kman@kmachine) (gcc version 4.6.4 (Linaro GCC branch-4.6.4. Marvell GCC Dev 201310-2126.3d181f66 64K MAXPAGESIZE ALIGN) ) #2 SMP Fri Aug 12 15:59:39 CST 2016 2014T30p5 Build-git9e099f3

and cat /proc/cpuinfo gives me the following information

processor       : 0
model name      : ARMv7 Processor rev 1 (v7l)
BogoMIPS        : 3188.32
Features        : swp half thumb fastmult vfp edsp neon vfpv3 tls
CPU implementer : 0x41
CPU architecture: 7
CPU variant     : 0x4
CPU part        : 0xc09
CPU revision    : 1

processor       : 1
model name      : ARMv7 Processor rev 1 (v7l)
BogoMIPS        : 3188.32
Features        : swp half thumb fastmult vfp edsp neon vfpv3 tls
CPU implementer : 0x41
CPU architecture: 7
CPU variant     : 0x4
CPU part        : 0xc09
CPU revision    : 1

Hardware        : Marvell Armada 380/381/382/385/388 (Device Tree)
Revision        : 0000
Serial          : 0000000000000000

There is already someone who attempted to create a debian port for this device on this thread https://community.wd.com/t/clean-os-debian-openmediavault-and-other-firmwares/93714/1290

From this guy there are already files available there https://drive.google.com/drive/folders/0B_6OlQ_H0PxVVGdTRGl0RmRabVU

but unfortunately there are instructions missing and i am not able to figure out how to use those files securely without problems.

I would like to have this device booting the rootfs from an usb pen drive without touching the original firmware if possible but i am not fit enough to figure out what information is needed and how to get them.
Maybe you could point me in the right direction or let me know what information you need to verify that this device would work with your kernel and rootfs.
Unfortunately the original firmware has only a limited busybox available via ssh but i can sftp to the box for further investigation if needed.

-
happy hacking,

saschadd
Re: Linux Kernel 4.10.9 MVEBU package and Debian armhf rootfs
May 11, 2017 03:59AM
saschadd,

> Hi bodhi,
>
> am i right that this kernel and rootfs could fit m
> y WD MyCloud EX 4100 as it has an Marvell Armada 3
> 80/381/382/385/388 (Device Tree).
>
> cat /proc/version gives me the folliwing informati
> on
>
>
> Linux version 3.10.39 (kman@kmachine) (gcc version
> 4.6.4 (Linaro GCC branch-4.6.4. Marvell GCC Dev 20
> 1310-2126.3d181f66 64K MAXPAGESIZE ALIGN) ) #2 SMP
> Fri Aug 12 15:59:39 CST 2016 2014T30p5 Build-git9e
> 099f3
>
>
> and cat /proc/cpuinfo gives me the following infor
> mation
>
>
> processor       : 0
> model name      : ARMv7 Processor rev 1 (v7l)
> BogoMIPS        : 3188.32
> Features        : swp half thumb fastmult vfp edsp
> neon vfpv3 tls
> CPU implementer : 0x41
> CPU architecture: 7
> CPU variant     : 0x4
> CPU part        : 0xc09
> CPU revision    : 1
> 
> processor       : 1
> model name      : ARMv7 Processor rev 1 (v7l)
> BogoMIPS        : 3188.32
> Features        : swp half thumb fastmult vfp edsp
> neon vfpv3 tls
> CPU implementer : 0x41
> CPU architecture: 7
> CPU variant     : 0x4
> CPU part        : 0xc09
> CPU revision    : 1
> 
> Hardware        : Marvell Armada 380/381/382/385/3
> 88 (Device Tree)
> Revision        : 0000
> Serial          : 0000000000000000
>
>
> There is already someone who attempted to create a
> debian port for this device on this thread https:/
> /community.wd.com/t/clean-os-debian-openmediavault
> -and-other-firmwares/93714/1290
>
> From this guy there are already files available th
> ere https://drive.google.com/drive/folders/0B_6OlQ
> _H0PxVVGdTRGl0RmRabVU
>
> but unfortunately there are instructions missing a
> nd i am not able to figure out how to use those fi
> les securely without problems.
>
> I would like to have this device booting the rootf
> s from an usb pen drive without touching the origi
> nal firmware if possible but i am not fit enough t
> o figure out what information is needed and how to
> get them.
> Maybe you could point me in the right direction or
> let me know what information you need to verify th
> at this device would work with your kernel and roo
> tfs.
> Unfortunately the original firmware has only a lim
> ited busybox available via ssh but i can sftp to t
> he box for further investigation if needed.

Yes, most definitely will boot with my released basic rootfs (I looked at this box specs before). You just need to choose the correct DTB in /boot/dts/. And then adjust the env for dtb in serial console. Test boot that adjustment without saving envs. Once you have booted into Debian and verified everything works, then save the env with fw_setenv.

If you cant find the exact DTB for EX4100 in /boot/dts, please list more info about this WD such as : USBs, HDDs, ethenet LAN chip model, I2C, SPI, RAM size, boot log, ... we can figure this out together.

-bodhi
===========================
Forum Wiki
bodhi's corner (buy bodhi a beer)
Re: Linux Kernel 4.10.9 MVEBU package and Debian armhf rootfs
May 11, 2017 06:43AM
saschadd,

One the 2 links has the DTS which seems promising.

-bodhi
===========================
Forum Wiki
bodhi's corner (buy bodhi a beer)
Re: Linux Kernel 4.10.9 MVEBU package and Debian armhf rootfs
May 11, 2017 07:33AM
bodhi,

sounds good so far.

Could you "read" from the DTS if this box can be bootet from usb?
At the moment i have no serial console access to this box and havent yet figured out if and where there is a serial connector.
To switch the boot mode serial console access is needed, right?
Or could i change env data without serial console access?
I know about there was a way for the nsa325v2 where you have to put some files on a pen drive and boot from that to switch env settings.

-
happy hacking,

saschadd
Re: Linux Kernel 4.10.9 MVEBU package and Debian armhf rootfs
May 11, 2017 10:33AM
saschadd,

This is a new box so you need serial console, to be safe. We dont know what commands this stock uboot supports. So it is unwise to change any of the envs in Linux to boot usb. Serial console is a must have.

-bodhi
===========================
Forum Wiki
bodhi's corner (buy bodhi a beer)



Edited 1 time(s). Last edit at 05/11/2017 10:51AM by bodhi.
Re: Linux Kernel 4.10.9 MVEBU package and Debian armhf rootfs
May 14, 2017 12:31AM
saschadd,

When I have some free time, I will post how to boot the new rootfs on USB.

-bodhi
===========================
Forum Wiki
bodhi's corner (buy bodhi a beer)
Re: Linux Kernel 4.10.9 MVEBU package and Debian armhf rootfs
May 15, 2017 07:39AM
saschadd,

Please start a new tthread:

Debian on WD MyCloud EX 4100

And repost the starting content such as in your post:
http://forum.doozan.com/read.php?2,32146,34046#msg-34046

(I never have much luck with this forum thread split function so I might mess it up again :).

-bodhi
===========================
Forum Wiki
bodhi's corner (buy bodhi a beer)



Edited 1 time(s). Last edit at 05/15/2017 07:42AM by bodhi.
Re: Linux Kernel 4.10.9 MVEBU package and Debian armhf rootfs
May 15, 2017 08:37AM
Done!
See here http://forum.doozan.com/read.php?2,34103

bodhi Wrote:
-------------------------------------------------------
> saschadd,
>
> Please start a new tthread:
>
> Debian on WD MyCloud EX 4100
>
> And repost the starting content such as in your po
> st:
> http://forum.doozan.com/read.php?2,32146,34046#msg
> -34046
>
> (I never have much luck with this forum thread spl
> it function so I might mess it up again :).
Hello.

I try to install the debian to usb. And after the reboot my NAS not boot. USB sometimes blinking but i can't access to my NAS. When I remove the usb and reboot it starts with orginal OS. I don't have TTL interface to look at the bootlog. I created the ext3 partition labeled "rootfs" on the usb and extracted the image Debian-4.9.0-mvebu-tld-12-rootfs-bodhi.tar.bz2. So i have question. I connect USB to the front panel port it is good?
OK. It's working. But why interface only working on 1 Gbit? When i connect the device to the 100 Mbps port it not connected. And another question what i need to compile new kernel?
Re: Linux Kernel 4.10.9 MVEBU package and Debian armhf rootfs
June 03, 2017 02:29PM
Dzanar,

> OK. It's working

Cool!

> But why interface only working o
> n 1 Gbit? When i connect the device to the 100 Mbp
> s port it not connected. And another question what
> i need to compile new kernel?

Please post a new Debian topic for problem like this.

-bodhi
===========================
Forum Wiki
bodhi's corner (buy bodhi a beer)
Re: Linux Kernel 4.10.9 MVEBU package and Debian armhf rootfs
July 29, 2017 05:08PM
The Zyxel NAS326 went on sale this past week. The price cut was good enough that I'm guessing this forum will see more activity soon. I've landed here in my own search for better control of the device I just bought.

I read quite a bit of both threads and getting this working was quite the journey!

Also, OpenMediaVault has become popular. It has a web interface much like the one in stock Zyxel firmware. Since bodhi's MVEBU kernal comes with Debian, is it possible to install this and then just install the OpenMediaVault packages?

Thanks!
Re: Linux Kernel 4.10.9 MVEBU package and Debian armhf rootfs
July 29, 2017 05:50PM
Hi nastynas,

> The Zyxel NAS326 went on sale this past week. The
> price cut was good enough that I'm guessing this f
> orum will see more activity soon.

Good news! Where is this on sale?

I have not kept up for this box, because I did not see a lot of interests. It still costs way more than the older plugs.

> Also, OpenMediaVault has become popular. It has a
> web interface much like the one in stock Zyxel fir
> mware. Since bodhi's MVEBU kernal comes with Debia
> n, is it possible to install this and then just in
> stall the OpenMediaVault packages?

Yes. That's what a lot of people do. Once you run the latest kernel in Debian, it is easy to run OMV.

-bodhi
===========================
Forum Wiki
bodhi's corner (buy bodhi a beer)



Edited 1 time(s). Last edit at 07/29/2017 05:52PM by bodhi.
Re: Linux Kernel 4.10.9 MVEBU package and Debian armhf rootfs
July 29, 2017 06:45PM
HI Bodhi, thanks for the answer!

NAS326 is on sale at Amazon for $80.

Good news about OMV! I'm going to give it a shot.
Re: Linux Kernel 4.10.9 MVEBU package and Debian armhf rootfs
July 29, 2017 09:44PM
Just gave it a try. I'm not sure if it's my USB flash drive, or the hardware issues I'm having my Ubuntu laptop.. But I don't trust either one of them now, so I have a couple more USB drives on order from Amazon... One to create a Live USB on my Windows desktop, which I'll then use to prepare the 4.10.9 MVEBU package on the other.

Fortunately for your env trick, I can just take the stick out and boot back into Zyxel NAND. But the problem I'm having is that the firmware is reset every time it reboots. I have to create a new password and enable SSH every time. Also, all my users and settings disappear every time. Until I get the new USB drives, is there a way to stop it from resetting the firmware every time? It also now sometimes crashes on boot (all lights on the front panel go out).

Edit: NAS326 firmware is 5.21 on this one.



Edited 2 time(s). Last edit at 07/29/2017 10:05PM by nastynas.
Re: Linux Kernel 4.10.9 MVEBU package and Debian armhf rootfs
July 29, 2017 10:00PM
nastynas,

Thanks about the sales info!

> Fortunately for your env trick, I can just take th
> e stick out and boot back into Zyxel NAND. But the
> problem I'm having is that the firmware is reset e
> very time it reboots. I have to create a new passw
> ord and enable SSH every time. Also, all my users
> and settings disappear every time. Until I get the
> new USB drives, is there a way to stop it from res
> etting the firmware every time?

Let me take a look at the envs. It might be that there is one more env needed to be set to get back totally on stock behavior. The current setup is mainly so that it stock NAND can be used as rescue system, so it is just "working well enough" to do that.

Since we can't boot with kwboot yet, I'm extra careful about changing it. I have to test it thoroughly before modifying the instruction.

-bodhi
===========================
Forum Wiki
bodhi's corner (buy bodhi a beer)
Re: Linux Kernel 4.10.9 MVEBU package and Debian armhf rootfs
July 30, 2017 06:13AM
nastynas,

Please boot up without USB, interrupt serial console and

printenv
boot

And post the entire serial console log here.

-bodhi
===========================
Forum Wiki
bodhi's corner (buy bodhi a beer)
Re: Linux Kernel 4.10.9 MVEBU package and Debian armhf rootfs
July 30, 2017 01:38PM
I don't have a serial cable, so I used your B1.Installation method onwards.

The firmware reset itself overnight again, so I had to enable SSH again, and here is the output of printenv:

SSH_CLIENT=192.168.0.124 50688 22
MAIL=/var/mail/root
USER=root
LD_LIBRARY_PATH=/lib:/usr/lib:/usr/lib/private
HOME=/root
SSH_TTY=/dev/pts/0
LOGNAME=root
TERM=xterm-256color
PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin:/firmware/sbin:/usr/local/zy-pkgs/bin:/firmware/htp
SHELL=/bin/sh
PWD=/root
SSH_CONNECTION=192.168.0.124 50688 192.168.0.100 22

As part of your instruction set in the B section, you recommended printenv after making changes. I did that and saved to notepad as follows:

CASset=max
CONTRY_TYPE=FF
FEATURE_BIT=00
MALLOC_len=5
MODEL_ID=B303
MPmode=SMP
PRODUCT_NAME=STG-328
VENDOR_NAME=MitraStar Technology Corp.
autoload=no
baudrate=115200
boot_order=hd_scr usb_scr mmc_scr hd_img usb_img mmc_img pxe net_img net_scr
bootargs=console=ttyS0,115200 ubi.mtd=4,2048 rootfstype=ubifs root=ubi0:rootfs1 rw rootdelay=2
bootargs_dflt=$console $nandEcc $mtdparts $bootargs_root nfsroot=$serverip:$rootpath ip=$ipaddr:$serverip$bootargs_end $mvNetConfig video=dovefb:lcd0:$lcd0_params clcd.lcd0_enable=$lcd0_enable clcd.lcd_panel=$lcd_panel
bootargs_end=:10.4.50.254:255.255.255.0:Armada38x:eth0:none
bootargs_root=root=/dev/nfs rw
bootcmd=nand read 0x2000000 0x08700000 0xF00000 && bootz 0x2000000
bootcmd_auto=stage_boot $boot_order
bootcmd_fdt=tftpboot 0x2000000 $image_name;tftpboot $fdtaddr $fdtfile;setenv bootargs $console $nandEcc $mtdparts $bootargs_root nfsroot=$serverip:$rootpath ip=$ipaddr:$serverip$bootargs_end $mvNetConfig video=dovefb:lcd0:$lcd0_params clcd.lcd0_enable=$lcd0_enable clcd.lcd_panel=$lcd_panel; bootz 0x2000000 - $fdtaddr;
bootcmd_fdt_boot=tftpboot 0x2000000 $image_name; setenv bootargs $console $nandEcc $mtdparts $bootargs_root nfsroot=$serverip:$rootpath ip=$ipaddr:$serverip$bootargs_end $mvNetConfig video=dovefb:lcd0:$lcd0_params clcd.lcd0_enable=$lcd0_enable clcd.lcd_panel=$lcd_panel; bootz 0x2000000 - $fdtaddr;
bootcmd_fdt_edit=tftpboot $fdtaddr $fdtfile; fdt addr $fdtaddr; setenv bootcmd $bootcmd_fdt_boot
bootcmd_lgcy=tftpboot 0x2000000 $image_name; setenv bootargs $bootargs_dflt; bootm 0x2000000;
bootdelay=3
cacheShare=no
console=console=ttyS0,115200
core_checksum_1=df7b308098b062aa540cc501199a78f6
core_checksum_2=2773b03df8b32c243f8b84dcefa79efb
device_partition=0:1
disaMvPnp=no
eeeEnable=no
enaClockGating=no
enaCpuStream=no
enaFPU=yes
enaMonExt=no
enaWrAllo=no
eth1addr=00:50:43:38:32:25
eth1mtu=1500
eth2addr=00:50:43:38:a6:25
eth2mtu=1500
eth3addr=00:50:43:32:a6:38
eth3mtu=1500
ethact=egiga0
ethaddr=60:31:97:C4:A6:0B
ethmtu=1500
ethprime=egiga0
fdt_addr=2040000
fdt_skip_update=no
fdtaddr=0x1000000
fdtfile=armada-38x-modular.dtb
fwversion_1=V5.11(AAZF.4)
fwversion_2=V5.21(AAZF.1)
ide_path=/
image_name=uImage
img_checksum_1=dd71a9007667c985e235988ffdbeee57
img_checksum_2=5356a1c083dfd6bc8c74bfd231aa15a6
initrd_name=uInitrd
ipaddr=10.4.50.170
kernel_addr=${kernel_addr_1}
kernel_addr_2=0x08700000
kernel_addr_r=2080000
kernel_mtd_1=3
kernel_mtd_2=5
lcd0_enable=0
lcd0_params=640x480-16@60
lcd_panel=0
loadaddr=0x02000000
loads_echo=0
modelid_1=B303
modelid_2=B303
mtdids=nand0=armada-nand
mtdparts=mtdparts=armada-nand:2m(u-boot),2m(env),2m(config),15m(kernel1),110m(rootfs1),15m(kernel2),-(rootfs2)
mvNetConfig=mv_net_config=4,(00:50:43:11:11:11,0:1:2:3),mtu=1500
mv_pon_addr=00:50:43:25:a6:38
nandEcc=nfcConfig=4bitecc
netbsd_en=no
netmask=255.255.255.0
netretry=no
pcieTune=no
pexMode=RC
pxe_files_load=:default.arm-armadaxp-db:default.arm-armadaxp:default.arm
pxefile_addr_r=3100000
ramdisk_addr_r=2880000
revision_1=49970
revision_2=50984
romfile_checksum_1=BBFF
romfile_checksum_2=A762
rootpath=/srv/nfs/
sata_delay_reset=0
sata_dma_mode=yes
script_addr_r=3000000
script_name=boot.scr
serial_number=S160Y38014026
serverip=10.4.50.38
standalone=fsload 0x2000000 $image_name;setenv bootargs $console $nandEcc $mtdparts root=/dev/mtdblock0 rw ip=$ipaddr:$serverip$bootargs_end; bootm 0x2000000;
stderr=serial
stdin=serial
stdout=serial
sysimg_mtd_1=4
sysimg_mtd_2=6
usb0Mode=host
usbActive=0
usbType=2
vxworks_en=no
yuk_ethaddr=00:00:00:EE:51:81
zld_checksum_1=260fc23f51fa9ecf008291a56046b7ef
zld_checksum_2=102d2dc16f397df0dddc4f1ad6380e52
curr_bootfrom=1
next_bootfrom=1
load_dtb_addr=0x1000000
load_initrd_addr=0x2900000
load_image_addr=0x02000000
usb_init=mw.l f1018100 20420000; mw.l f1018140 003E8800; sleep 3; usb start
set_bootargs_stock=setenv bootargs "console=ttyS0,115200 ubi.mtd=4,2048 rootfstype=ubifs root=ubi0:rootfs1 rw rootdelay=2"
bootcmd_stock_1=run set_bootargs_stock; echo Booting from NAND kernel 1 ...; nand read 0x2000000 0x00E00000 0xF00000 && bootz 0x2000000
bootcmd_stock_2=run set_bootargs_stock; echo Booting from NAND kernel 2 ...; nand read 0x2000000 0x08700000 0xF00000 && bootz 0x2000000
usb_set_bootargs=setenv bootargs "console=ttyS0,115200 root=LABEL=rootfs rootdelay=10 $mtdparts earlyprintk=serial"
usb_bootcmd=echo Booting from USB ...; setenv fdt_skip_update yes; run usb_init; ext2load usb 0:1 $load_image_addr /boot/zImage; ext2load usb 0:1 $load_dtb_addr /boot/dts/armada-380-zyxel-nas326.dtb; ext2load usb 0:1 $load_initrd_addr /boot/uInitrd; run usb_set_bootargs; bootz $load_image_addr $load_initrd_addr $load_dtb_addr
bootcmd_custom=if run usb_bootcmd; then; else if run bootcmd_stock_1; then; else run bootcmd_stock_2; reset; fi; fi
kernel_addr_1=0x00000000; run bootcmd_custom; 
change_boot_part=1
Re: Linux Kernel 4.10.9 MVEBU package and Debian armhf rootfs
July 30, 2017 04:56PM
nastynas,

To run stock OS permanently:

Quote

C4. Reverse to stock OS permanently

To reverse the setup, and boot back to stock NAND kernel permanently, execute the following instructions at the Debian command line:

Later, when you want to run Debian just set it up again using section B.

Note that section C4 can be done in stock OS, too.

- Check your u-boot envs is working the same way:

fw_printenv

Does it look the same as before?

- If the output looks good, proceed to do section C4.

-bodhi
===========================
Forum Wiki
bodhi's corner (buy bodhi a beer)



Edited 1 time(s). Last edit at 07/30/2017 05:00PM by bodhi.
Re: Linux Kernel 4.12.4 MVEBU package and Debian armhf rootfs
July 31, 2017 02:36AM
Kernel linux-4.12.4-mvebu-tld-1 package has been uploaded. Please see 1st post for download link.

-bodhi
===========================
Forum Wiki
bodhi's corner (buy bodhi a beer)
Re: Linux Kernel 4.12.4 MVEBU package and Debian armhf rootfs
July 31, 2017 05:41AM
bodhi Wrote:
-------------------------------------------------------
> Kernel linux-4.12.4-mvebu-tld-1 package has been u
> ploaded. Please see 1st post for download link.

Attached here is the DTB for WD My Cloud EX4100, which I forgot to include in the new kernel linux-4.12.4-mvebu-tld-1 package.

-bodhi
===========================
Forum Wiki
bodhi's corner (buy bodhi a beer)
Attachments:
open | download - armada-388-wd-ex4100.dtb (14.9 KB)
Re: Linux Kernel 4.12.4 MVEBU package and Debian armhf rootfs
July 31, 2017 05:50AM
@saschadd,

What is the EX4100 fan behavior in u-boot? does it spin at nomal speed?

And how about inside stock OS? does it spin slower, and is there a fan control tool that you can run in the Web interface or at command line?

-bodhi
===========================
Forum Wiki
bodhi's corner (buy bodhi a beer)
Re: Linux Kernel 4.12.4 MVEBU package and Debian armhf rootfs
August 06, 2017 02:05AM
Hi bodhi,

the hashs for linux-4.12.4-mvebu-tld-1-bodhi.tar.bz2 do not match.
Can you check it, please.

Thx

Otto
Re: Linux Kernel 4.12.4 MVEBU package and Debian armhf rootfs
August 06, 2017 02:24AM
Thanks ottok,

Let me take a look.

-bodhi
===========================
Forum Wiki
bodhi's corner (buy bodhi a beer)
Author:

Your Email:


Subject:


Spam prevention:
Please, enter the code that you see below in the input field. This is for blocking bots that try to post this form automatically. If the code is hard to read, then just try to guess it right. If you enter the wrong code, a new image is created and you get another chance to enter it right.
Message: