Setting mem=768M on QNAP TS-221
Debian doesn't work on QNAP devices with 1 GB of RAM (i.e. QNAP TS-221 or Fujitsu Q703).
Even though we reported this to the Linux kernel developers, they found
it difficult to investigate this issue and it never got fixed. The best
workaround is to add mem=768M
to the kernel command line to limit the
RAM.
QNAP firmware
If you have the QNAP firmware, you can make the change with the following commands. These commands will:
- Write the current u-boot configuration to
/tmp/debian.uboot
and addmem=768M
tobootargs
. - Output
bootargs
from the file so you can verify it looks good. - Write the new u-boot configuration to flash.
ubootcfg -b 0 -f /dev/mtdblock4 -o - | sed "s/^\(bootargs=.*\)/\1 mem=768M/" > /tmp/debian.uboot grep "^bootargs" /tmp/debian.uboot # Check it looks sane ubootcfg -b 0 -f /dev/mtdblock4 -i /tmp/debian.uboot
Debian
If you're running Debian (1 GB was working fine with Debian jessie), you can change the kernel arguments as follows.
sudo cp /usr/share/doc/u-boot-tools/examples/qnap_ts119-219.config /etc/fw_env.config sudo fw_printenv bootargs
The output should be something like this:
bootargs=console=ttyS0,115200 root=/dev/ram initrd=0xa00000,0x900000 ramdisk=34816
You have to append mem=768M
to these boot arguments in order to restrict
the memory to 768 MB.
sudo fw_setenv bootargs "console=ttyS0,115200 root=/dev/ram initrd=0xa00000,0x900000 ramdisk=34816 mem=768M"
Finally, you can run sudo fw_printenv bootargs
again to verify that
mem=768M
has been adding to the boot arguments.
Now you can either perform an upgrade or put the installer in flash and perform a new installation.