Hi.
I have recently upgraded to bullseye on my TS-220, and ran into the
problem with the kernel no longer fitting into the allocated flash
partition that are also documented on Martin's page here:
http://www.cyrius.com/debian/kirkwood/qnap/ts-219/upgrade/ (what a great
resource btw!)
I have now managed to install the bullseye kernel into the otherwise
unused (?) "RootFS2" partition (3MB), so I thought I'd report on the
steps I went through, in case it might be helpful to someone else.
- installed libubootenv-tool
- configured the fw_* tools by copying
/usr/share/doc/u-boot-tools/examples/qnap_ts119-219.config to
/etc/fw_env.config
- made a backup of the U-Boot configuration using fw_printenv
- made a backup of the flash as described on Martin's page
For testing purposes, I then manually created a uImage of the buster
kernel already installed and flashed it to "RootFS2", leaving the
initramfs in "RootFS1" untouched. Then I used a serial cable to manually
copy and boot the kernel from "RootFS2" in U-Boot, testing the
bootargs/bootcmd modifications that would have to be made (see below).
That worked just fine, so I went ahead with setting it up proper:
- changed the partition that flash-kernel uses for the kernel by adding
the following lines to /etc/flash-kernel/db:
Machine: QNAP TS-119/TS-219
Machine: QNAP TS219 family
Mtd-Kernel: RootFS2
- installed the current *-marvell kernel from bullseye, which did now
succeed:
Generating kernel u-boot image... done.
Flashing kernel (using 2456450/3145728 bytes)... done.
Flashing initramfs (using 4470940/9437184 bytes)... done.
- modified the U-Boot environment to copy the "RootFS2" partition
(0xf8d00000, 3MB) instead of "Kernel" (0xf8200000, 2MB). Accordingly,
initrd also needed to be moved up by 1MB (to 0xb00000 instead of
0xa00000):
$ fw_setenv bootargs "console=ttyS0,115200 root=/dev/ram
initrd=0xb00000,0x900000"
$ fw_setenv bootcmd "uart1 0x68;cp.l 0xf8d00000 0x800000
0xc0000;cp.l 0xf8400000 0xb00000 0x240000;bootm 0x800000"
- rebooted. It worked :-)
$ uname -r
5.10.0-8-marvell
Cheers,
Christian