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

Bullseye on the QNAP TS-220



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


Reply to: