U-Boot on QNAP TS-21x/TS-22x

If you have a serial console for your QNAP device, you can use U-Boot, the boot loader used on the TS-21x/TS-22x, to restore the original QNAP firmware or load images via the network.

Loading the installer image

You can load the Debian installer image (or other images) via TFTP. First of all, configure the IP address of the TFTP server and of your QNAP:

setenv serverip
setenv ipaddr

Then specify the command line that should be passed to the kernel. This tells the kernel that the serial console should be activated and that there's a ramdisk that is 9 MB in size.

setenv bootargs console=ttyS0,115200n8 root=/dev/ram rw initrd=0xa00000,0x8fffff

Finally, load the image via the network with TFTP and start it:

tftpboot 0xa00000 initrd
tftpboot 0x800000 kernel
bootm 0x800000

If you'd like to load a kernel image you saved from /boot, please see the instructions on how to prepare the image below.

Preparing Debian images from `/boot` to load

You can copy the Debian kernel and ramdisk from your system to another machine for backup. This way, you can load them via TFTP as described above. However, the files from /boot cannot be used directly but require some modifications before you can use them. You don't have to make these modifications manually since flash-kernel already performs these steps as part of the kernel upgrade process. You can obtain a copy of what's actually written to flash from /var/backups/flash-kernel. You can therefore take the files from that location and use them to boot via TFTP.

mtd1 corresponds to the kernel while mtd2 is the initrd. Therefore, the correct TFTP commands are:

tftpboot 0xa00000 mtd2
tftpboot 0x800000 mtd1
bootm 0x800000