- it is suprisingly straight forward (THANKS ALL INVOLVED :D) because in the end a x86 QNAP is just a computer 😀
- it’s a widely known fact that QNAP is good hardware (very price stable = still pretty expensive X-D) but terrible software (completely ignoring UNIX KISS and also quality control must be terrible or not existing) the result is a NAS that is cluttered with software most users will never use, after all in the end all the user wants is write and read data reliably and if possible fast(er)
- dwave’s 2021 live USB “IdealLinux” stick is a PERFECT boot for any x86 QNAP NAS (just make sure to have a bunch of different 8GBytes or bigger USB sticks of different brands and versions, because not all USB sticks are bootable!
- it might be possible the mdadm package is missing X-D (apt update && apt install mdadm, it will auto discover the raid)
- tested with
- https://www.qnap.com/en/download?model=ts-559%20pro%2B&category=firmware
- dmidecode hardware info: QNAP_NAS_TS-459_PRO_II_dmidecode.txt
- to NAS + attach VGA capable monitor + keyboard + mouse
- 1:1 dd usb stick image to a usb stick that the user knows is boot capable (not all are try different brands and models)
- during boot hit F11 and select the USB stick
- GNU Linux Debian should just boot up 😀
now the user realizes: damn. no mdadm package?
but how to get a package for older version of debian 10 buster?
- modify sources.list
-
vim /etc/apt/sources.list # Debian 13 (trixie) - Main repos deb http://deb.debian.org/debian trixie main contrib deb-src http://deb.debian.org/debian trixie main contrib # Security updates deb http://security.debian.org/debian-security trixie-security main contrib deb-src http://security.debian.org/debian-security trixie-security main contrib # Stable updates (point releases) deb http://deb.debian.org/debian trixie-updates main contrib deb-src http://deb.debian.org/debian trixie-updates main contrib # Backports (optional - newer package versions) # deb http://deb.debian.org/debian trixie-backports main contrib
- make sure the CMOS clock is set correctly or face certificate errors such as: Certificate verification failed: The certificate is NOT trusted. The certificate chain uses not yet valid certificate. Could not handshake: Error in the certificate verification.
- # try this first
-
ntpdate known.timeserver.ip.adress; # could be the user's router or internet service provider # if that fails because ntpdate is not installed # set date date +%Y%m%d -s "20260422"; # and time manually date +%T -s "15:41:00"; # sync system-time to cmos-hardware-realtime-clock (BIOS) hwclock --systohc; # now try apt update; # again should work now without certificate error apt install mdadm; # should work now too
- now that this is installed (including rebuilding the /boot kernel image) mdadm is so smart it should automatically find all relevant harddisks and their raid configuration
-
# checkout the a little confusing partition layout before installing Debian # will radically simplify that soon lsblk -fs NAME FSTYPE LABEL UUID FSAVAIL FSUSE% MOUNTPOINT sdc1 ext2 aabf92c8-14ce-46a8-9af2-9e27b1a5412e 1.7M 16% /media/user/aabf92c8-14ce-46a8-9af2-9e27b1a5412 └─sdc sdc2 ext2 QTS_BOOT_PART2 9a980f7b-6178-4e2c-99c2-d1221e8f28c8 59.6M 74% /media/user/QTS_BOOT_PART2 └─sdc sdc3 ext2 QTS_BOOT_PART3 92305f5b-ff61-4486-ac95-b35bad2aa80a 59.6M 74% /media/user/QTS_BOOT_PART3 └─sdc sdc4 └─sdc sdc5 ext2 ba5d6eee-24a9-43bc-b861-8f4ebfbcd2c7 7.8M 0% /media/user/ba5d6eee-24a9-43bc-b861-8f4ebfbcd2c └─sdc sdc6 ext2 c5a5224c-2a7e-46b4-b98c-e87b07fd65f9 3.8M 1% /media/user/c5a5224c-2a7e-46b4-b98c-e87b07fd65f └─sdc sdd1 ext2 47576b45-eeeb-4346-8604-11cbe59a64d4 364.7M 18% /boot └─sdd sdd2 └─sdd sdf2 linux_raid_membe 5 b7bb1fe9-a07d-aad1-ca67-34c0a0a0810a └─sdf sdg2 linux_raid_membe 5 b7bb1fe9-a07d-aad1-ca67-34c0a0a0810a └─sdg md0 ext4 2fa11214-bf45-42f5-a7ef-a018f14dbce5 ├─sda3 linux_raid_membe 0 350f993c-c104-3c94-8d2a-51f51ca4b4f8 │ └─sda ├─sdb3 linux_raid_membe 0 350f993c-c104-3c94-8d2a-51f51ca4b4f8 │ └─sdb ├─sde3 linux_raid_membe 0 350f993c-c104-3c94-8d2a-51f51ca4b4f8 │ └─sde ├─sdf3 linux_raid_membe 0 350f993c-c104-3c94-8d2a-51f51ca4b4f8 │ └─sdf └─sdg3 linux_raid_membe 0 350f993c-c104-3c94-8d2a-51f51ca4b4f8 └─sdg md9 ext3 e4a7a8c4-0dc7-4fdd-b0f0-bfda01a8077d ├─sda1 linux_raid_membe 9 4a19d3cc-159e-8eec-7be9-11627a31cca1 │ └─sda ├─sdb1 linux_raid_membe 9 4a19d3cc-159e-8eec-7be9-11627a31cca1 │ └─sdb ├─sde1 linux_raid_membe 9 4a19d3cc-159e-8eec-7be9-11627a31cca1 │ └─sde ├─sdf1 linux_raid_membe 9 4a19d3cc-159e-8eec-7be9-11627a31cca1 │ └─sdf └─sdg1 linux_raid_membe 9 4a19d3cc-159e-8eec-7be9-11627a31cca1 └─sdg md127 ext3 44497a9d-0036-4af3-94e2-ee6168d1754f ├─sda4 linux_raid_membe 4076f589-ce64-e13a-e543-c6a7ea5c417c │ └─sda ├─sdb4 linux_raid_membe 4076f589-ce64-e13a-e543-c6a7ea5c417c │ └─sdb ├─sde4 linux_raid_membe 4076f589-ce64-e13a-e543-c6a7ea5c417c │ └─sde ├─sdf4 linux_raid_membe 4076f589-ce64-e13a-e543-c6a7ea5c417c │ └─sdf └─sdg4 linux_raid_membe sda4 9349eeb2-2582-9918-f1d0-7a95467a157c # same same but different # inspect disk layout and find FIRMWARE BOOT DISK (512MB of space) lsblk NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT sda 8:0 0 1.8T 0 disk ├─sda1 8:1 0 517.7M 0 part │ └─md9 9:9 0 517.7M 0 raid1 ├─sda2 8:2 0 517.7M 0 part ├─sda3 8:3 0 1.8T 0 part │ └─md0 9:0 0 5.5T 0 raid6 /media/user/md0 └─sda4 8:4 0 486.3M 0 part └─md127 9:127 0 448.1M 0 raid1 sdb 8:16 0 1.8T 0 disk ├─sdb1 8:17 0 517.7M 0 part │ └─md9 9:9 0 517.7M 0 raid1 ├─sdb2 8:18 0 517.7M 0 part ├─sdb3 8:19 0 1.8T 0 part │ └─md0 9:0 0 5.5T 0 raid6 /media/user/md0 └─sdb4 8:20 0 486.3M 0 part └─md127 9:127 0 448.1M 0 raid1 sdc 8:32 1 492M 0 disk <--------------- FOUND THE FIRMWARE BOOT DISK ├─sdc1 8:33 1 2.1M 0 part /media/user/aabf92c8-14ce-46a8-9af2-9e27b1a5412e ├─sdc2 8:34 1 236.6M 0 part /media/user/QTS_BOOT_PART2 ├─sdc3 8:35 1 236.6M 0 part /media/user/QTS_BOOT_PART3 ├─sdc4 8:36 1 1K 0 part ├─sdc5 8:37 1 8.1M 0 part /media/user/ba5d6eee-24a9-43bc-b861-8f4ebfbcd2c7 └─sdc6 8:38 1 8.5M 0 part /media/user/c5a5224c-2a7e-46b4-b98c-e87b07fd65f9 sdd 8:48 1 28.7G 0 disk ├─sdd1 8:49 1 487M 0 part /boot ├─sdd2 8:50 1 1K 0 part └─sdd5 8:53 1 6.5G 0 part ├─IdealLinux2021--vg-root 253:0 0 5.6G 0 lvm / └─IdealLinux2021--vg-swap_1 253:1 0 976M 0 lvm [SWAP] sde 8:64 0 1.8T 0 disk ├─sde1 8:65 0 517.7M 0 part │ └─md9 9:9 0 517.7M 0 raid1 ├─sde2 8:66 0 517.7M 0 part ├─sde3 8:67 0 1.8T 0 part │ └─md0 9:0 0 5.5T 0 raid6 /media/user/md0 └─sde4 8:68 0 486.3M 0 part └─md127 9:127 0 448.1M 0 raid1 sdf 8:80 1 1.8T 0 disk ├─sdf1 8:81 1 517.7M 0 part │ └─md9 9:9 0 517.7M 0 raid1 ├─sdf2 8:82 1 517.7M 0 part │ └─md126 9:126 0 517.7M 0 raid1 ├─sdf3 8:83 1 1.8T 0 part │ └─md0 9:0 0 5.5T 0 raid6 /media/user/md0 └─sdf4 8:84 1 486.3M 0 part └─md127 9:127 0 448.1M 0 raid1 sdg 8:96 1 1.8T 0 disk ├─sdg1 8:97 1 517.7M 0 part │ └─md9 9:9 0 517.7M 0 raid1 ├─sdg2 8:98 1 517.7M 0 part │ └─md126 9:126 0 517.7M 0 raid1 ├─sdg3 8:99 1 1.8T 0 part │ └─md0 9:0 0 5.5T 0 raid6 /media/user/md0 └─sdg4 8:100 1 486.3M 0 part └─md127 9:127 0 448.1M 0 raid1 cat /proc/mdstat Personalities : [raid1] [raid6] [raid5] [raid4] [linear] [multipath] [raid0] [raid10] md126 : active (auto-read-only) raid1 sdf2[2] sdg2[0] 530128 blocks super 1.0 [2/2] [UU] md127 : active (auto-read-only) raid1 sdf4[5] sdg4[0] sdb4[7] sda4[8] sde4[6] 458880 blocks super 1.0 [5/5] [UUUUU] bitmap: 0/8 pages [0KB], 32KB chunk md0 : active raid6 sdf3[1] sdg3[0] sdb3[3] sda3[4] sde3[2] 5855836608 blocks super 1.0 level 6, 64k chunk, algorithm 2 [5/5] [UUUUU] md9 : active (auto-read-only) raid1 sdf1[5] sdg1[0] sdb1[7] sda1[8] sde1[6] 530112 blocks super 1.0 [5/5] [UUUUU] bitmap: 0/9 pages [0KB], 32KB chunk md5 : inactive sdb2[3](S) sda2[2](S) sde2[4](S) 1590144 blocks unused devices: # checkout; there should be already infos about all detected raid array vim /etc/mdadm/mdadm.conf # it should show something like this cat /etc/mdadm/mdadm.conf # mdadm.conf # # !NB! Run update-initramfs -u after updating this file. # !NB! This will ensure that initramfs has an uptodate copy. # # Please refer to mdadm.conf(5) for information about this file. # # by default (built-in), scan all partitions (/proc/partitions) and all # containers for MD superblocks. alternatively, specify devices to scan, using # wildcards if desired. #DEVICE partitions containers # automatically tag new arrays as belonging to the local system HOMEHOST <system> # instruct the monitoring daemon where to send mail alerts MAILADDR root # definitions of existing MD arrays ARRAY /dev/md5 UUID=e7922c31:12b62ae1:f6220798:5207bcf9 spares=3 ARRAY /dev/md/9 metadata=1.0 UUID=4a19d3cc:159e8eec:7be91162:7a31cca1 name=9 ARRAY /dev/md/5 metadata=1.0 UUID=b7bb1fe9:a07daad1:ca6734c0:a0a0810a name=5 ARRAY /dev/md/0 metadata=1.0 UUID=350f993c:c1043c94:8d2a51f5:1ca4b4f8 name=0 ARRAY /dev/md/sda4 metadata=1.0 UUID=9349eeb2:25829918:f1d07a95:467a157c name=sda4 # This configuration was auto-generated on Sat, 04 Apr 2026 15:54:05 +0200 by mkconf
-
# create mountpoint mkdir /media/user/md0 # mount the raid5 (it's raid6!) # raid6 with 5 disks = 3x disks used for data, 2x disks used for checksums = tolerate 2x disks fialing # raid5 with 5 disks = 4x disks used for data, 1x disks used for checksums = tolerate 1x disk fialingmount /dev/md0 /media/user/md0 df -h /dev/md0 Filesystem Size Used Avail Use% Mounted on /dev/md0 5.5T 3.6T 1.9T 67% /media/user/md0 # check status of all raids cat /proc/mdstat Personalities : [raid1] [raid6] [raid5] [raid4] md127 : active (auto-read-only) raid1 sdg4[0] sda4[8] sdb4[7] sde4[6] sdf4[5] 458880 blocks super 1.0 [5/5] [UUUUU] bitmap: 0/8 pages [0KB], 32KB chunk md0 : active raid6 sdg3[0] sda3[4] sdb3[3] sde3[2] sdf3[1] 5855836608 blocks super 1.0 level 6, 64k chunk, algorithm 2 [5/5] [UUUUU] md9 : active (auto-read-only) raid1 sdg1[0] sda1[8] sdb1[7] sde1[6] sdf1[5] 530112 blocks super 1.0 [5/5] [UUUUU] bitmap: 0/9 pages [0KB], 32KB chunk md5 : inactive sdb2[3](S) sda2[2](S) sde2[4](S) 1590144 blocks unused devices: # check what data is there cd /media/user/md0 ls -lah # check where is the bulk of the data du -hs * # start a screen session (so process will continue even during disconnect) apt install screen screen -S transfer # then rsync backup over ssh transfer data to other harddisks before installing Debian on the QNAP NAS :D rsync -r -vv --update --progress /media/user/md0/ user@192.168.4.120:/media/user/md0/qnap
-
how to install debian 13 on x86 QNAP?
- it’s actually more straight forward as expected 😀
- boot dwave’s 2021 live USB “IdealLinux” stick
- 1:1 copy it onto a USB stick that is known to be bootable (not all are! test different models and brands! at least 10x X-D)
- make sure the QNAP is LAN and internet connected (this is essential for any Debian setup)
- attach mouse + monitor to the QNAP (it has a VGA out which is pretty neat for a NAS)
- plugin the USB stick into the back of the QNAP
- power on the QNAP NAS and keep hitting F11
- the USB stick should show up in the list of bootable devices
- in case the CMOS clock is off, make sure to set date manually, then all https and ssl requests should work
# use netdiscover to find the QNAP NAS apt update apt install netdiscover netdiscover Currently scanning: 192.168.37.0/16 | Screen View: Unique Hosts 4 Captured ARP Req/Rep packets, from 4 hosts. Total size: 240 _____________________________________________________________________________ IP At MAC Address Count Len MAC Vendor / Hostname ----------------------------------------------------------------------------- 192.168.15.1 dc:39:6f:41:xx:xx 1 60 AVM Audiovisuelles Marketing und Computersysteme GmbH 192.168.15.91 00:08:9b:c6:xx:xx 1 60 ICP Electronics Inc. <- QNAP NAS ssh -v user@192.168.15.91; # ssh into usb live stick # if that is not possible enable ssh service ssh start systemctl enable ssh ssh -v user@192.168.15.91; # ssh into it # set date date +%Y%m%d -s "20260422"; # and time manually date +%T -s "15:41:00"; # sync system-time to cmos-hardware-realtime-clock (BIOS) hwclock --systohc; ssh-copy-id user@192.168.15.91; # install ssh key su - root; # become root passwd; # set root pwd passwd user; # set default non-root user pwd vim /etc/ssh/sshd_config; # disable password auth only allow PGP auth
- backup the system partitions
-
# make sure to identify the QTS_BOOT_PART1 QTS_BOOT_PART2 partitions lsblk # backup installed firmware cd /where/enough/space/for/backups umount /dev/sdc* dd if=/dev/sdc of=./qnap_sdc.img dd if=/dev/sdc1 of=./qnap_sdc1.img dd if=/dev/sdc2 of=./qnap_sdc2.img dd if=/dev/sdc3 of=./qnap_sdc3.img dd if=/dev/sdc4 of=./qnap_sdc4.img dd if=/dev/sdc5 of=./qnap_sdc5.img dd if=/dev/sdc6 of=./qnap_sdc6.img dd if=/dev/sdc of=./qnap_sdc.img
-
# shutdown and download and boot a debian 13 iso that works 😀
# in partition manager delete all partitions
# there is a flash drive, make this the ext3 based /boot partition (look for a 512MByte drive that is not on any spinning disk in this user’s case it is sdc drive)
# create a new raid10 4x disks 1x spare
![]()
![]()
![]()
![]()
![]()
# then finish partitioning and continue installation as any other Debian setup :D # soon the user is booting a very recent kernel! :D # HURRAY FOR DEBIAN! :D thanks all involved :D
# after setup is finished (it is really not fast! take at least 5x coffees of time X-D) # remove usb stick and ssh into the system # reboot and netdiscover; # find ip adress (it might have changed) ssh -v user@192.168.15.91; # ssh into freshly installed usb live stick # if that is not possible enable ssh service ssh start systemctl enable ssh su - root; # become root passwd; # set root pwd passwd user; # set default non-root user pwd vim /etc/ssh/sshd_config; # disable password auth PasswordAuthentication no PubkeyAuthentication yes service ssh restart; # make changes effective hostnamectl; # show system info Static hostname: qnap Icon name: computer Operating System: Debian GNU/Linux 13 (trixie) Kernel: Linux 6.12.74+deb13+1-amd64 Architecture: x86-64 Hardware Vendor: ICP / iEi Hardware Model: TS-459 PRO II Hardware Serial: To Be Filled By O.E.M. Firmware Version: 080016 Firmware Date: Thu 2010-10-28 Firmware Age: 15y 5month 3w 3d # show system info colorful apt install fastfetch fastfetch
# now look at this super clean easy partition layout lsblk -fs NAME FSTYPE FSVER LABEL UUID FSAVAIL FSUSE% MOUNTPOINTS sdf1 ext3 1.0 30adb67d-1f12-45dd-abf4-f6dc22e5ad52 304.2M 27% /boot └─sdf md0 ext4 1.0 01242803-ad4c-48e9-9d6c-010fa6912aed 3.4T 0% / ├─sda1 linux_raid_member 1.2 qnap:0 c9354846-602a-778e-1f88-2307fb4de2d4 │ └─sda ├─sdb1 linux_raid_member 1.2 qnap:0 c9354846-602a-778e-1f88-2307fb4de2d4 │ └─sdb ├─sdc1 linux_raid_member 1.2 qnap:0 c9354846-602a-778e-1f88-2307fb4de2d4 │ └─sdc ├─sdd1 linux_raid_member 1.2 qnap:0 c9354846-602a-778e-1f88-2307fb4de2d4 │ └─sdd └─sde1 linux_raid_member 1.2 qnap:0 c9354846-602a-778e-1f88-2307fb4de2d4 └─sde # give mdadm some time to establish software raid sync before copying data to the raid10 while true; do cat /proc/mdstat; sleep 1; clear; done Personalities : [raid10] [raid0] [raid1] [raid6] [raid5] [raid4] md0 : active raid10 sdd1[3] sdb1[1] sde1[4](S) sda1[0] sdc1[2] 3906762752 blocks super 1.2 512K chunks 2 near-copies [4/4] [UUUU] [=====>...............] resync = 29.1% (1140440576/3906762752) finish=485.1min speed=95021K/sec # ChatGPT says yes it's possible to start copying data even when the sync (here 7h) is still going on # but the write performance will degraded root@qnap:~# df -h Filesystem Size Used Avail Use% Mounted on udev 451M 0 451M 0% /dev tmpfs 96M 756K 95M 1% /run /dev/md0 3.6T 9.3G 3.4T 1% / tmpfs 479M 0 479M 0% /dev/shm tmpfs 479M 0 479M 0% /tmp tmpfs 5.0M 0 5.0M 0% /run/lock tmpfs 1.0M 0 1.0M 0% /run/credentials/systemd-journald.service /dev/sdf1 449M 121M 305M 29% /boot tmpfs 1.0M 0 1.0M 0% /run/credentials/getty@tty1.service tmpfs 96M 4.0K 96M 1% /run/user/0 tmpfs 96M 4.0K 96M 1% /run/user/1000
recommended:
- add a swap file of at least 2x RAM size (1024MBytes) = 2048MBytes (more always better X-D) will go for 8192MBytes
-
cat /etc/fstab # /etc/fstab: static file system information. # # Use 'blkid' to print the universally unique identifier for a # device; this may be used with UUID= as a more robust way to name devices # that works even if disks are added and removed. See fstab(5). # # systemd generates mount units based on this file, see systemd.mount(5). # Please run 'systemctl daemon-reload' after making changes here. # # <file system> <mount point> <type> <options> <dump> <pass> # / was on /dev/md0 during installation UUID=01242803-ad4c-48e9-9d6c-xxxxxxxxxxxx / ext4 errors=remount-ro 0 1 # /boot was on /dev/sdg1 during installation UUID=30adb67d-1f12-45dd-abf4-xxxxxxxxxxxx /boot ext3 defaults 0 2 /swapfile none swap sw 0 0
- Debian at it’s best: using only 193MBytes of the 957MBytes available 😀 WOW! 😀 keep it minimalistic 😀

- even when this x86 NAS features 4x threads of a 2x core it’s CPU is anything but fast X-D
- installing vim takes aprox 3min because of slow CPU (it is really questionable if vim should be installed on this at all, probably not)
-
lscpu; # show what CPU the system is using Architecture: x86_64 CPU op-mode(s): 32-bit, 64-bit Address sizes: 36 bits physical, 48 bits virtual Byte Order: Little Endian CPU(s): 4 On-line CPU(s) list: 0-3 Vendor ID: GenuineIntel Model name: Intel(R) Atom(TM) CPU D525 @ 1.80GHz CPU family: 6 Model: 28 Thread(s) per core: 2 Core(s) per socket: 2 Socket(s): 1 Stepping: 10 BogoMIPS: 3591.07 Flags: fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx lm constant_tsc arch_perfmon pebs bts rep_good nopl cpuid aperfmperf pni dtes64 monitor ds_cpl tm2 ssse3 cx16 xtpr pdcm movbe lahf_lm dtherm Caches (sum of all): L1d: 48 KiB (2 instances) L1i: 64 KiB (2 instances) L2: 1 MiB (2 instances) NUMA: NUMA node(s): 1 NUMA node0 CPU(s): 0-3 Vulnerabilities: Gather data sampling: Not affected Indirect target selection: Not affected Itlb multihit: Not affected L1tf: Not affected Mds: Not affected Meltdown: Not affected Mmio stale data: Not affected Reg file data sampling: Not affected Retbleed: Not affected Spec rstack overflow: Not affected Spec store bypass: Not affected Spectre v1: Not affected Spectre v2: Not affected Srbds: Not affected Tsa: Not affected Tsx async abort: Not affected Vmscape: Not affected
optional but recommended:
- now all that is left to do is put a Debian13 sticker on the outside of that QNAP NAS 😀
- it might be interesting to get temp sensors to work
-
sensors; # show all temp sensors coretemp-isa-0000 Adapter: ISA adapter Core 0: +36.0°C (crit = +100.0°C) Core 1: +43.0°C (crit = +100.0°C)
can it run tetris?
- of course it can run bash tetris 😀
- can it act as a massive jukebox music player station?
- yes thanks to moc terminal audio player and usb external sound card that should be possible X-D (UNTESTED!)
- apt update && apt install moc
- if sound quality is all that matters
- if it has to be cheap
how to actually share a directory?
well.. would only use (S)FTP and sshfs and MAYBE NFS (but only for 1:1 connections NAS<-directly-LAN-connected-to->PC) for that but if it HAS to be a win**** client … no sorry won’t help with that X-D
how to restore the sh*** stock firmware:
to be honest the official documentation manual is not very good says cp dom.img /dev/sdX (where the 512MByte flash drive is…) this can’t be right, but even 1:1 dd the dom.img to /dev/sdX did not yield the expected results, it seems that the 512MByte of flash is only used as /boot and the rest of the firmware is on EVERY SINGLE harddisk in 2x 512MByte size partitions… it’s imho a cluttered and overly complex partition layout
- usb stick recover your NAS by first creating a boot disk to restore basic NAS functionality
- WARNING! NOT ALL USB STICKS ARE BOOTABLE! TRY DIFFERENT BRANDS AND MODELS UNTIL ONE SHOWS UP IN BIOS!
- definately prefer dwave’s 2021 64Bit IdealLinux live stick over QNAP’s recommended “damn small linux” (KNOPPIX! X-D) (it’s very old kernel https://distro.ibiblio.org/damnsmall/current/dsl-4.4.10-initrd.iso
- download correct firmware
- # WARNING! DD IS VERY DANGEROUS! MAKE A BACKUP FIRST!
- # THEN MAKE SURE TO IDENTIFY USB STICK DRIVE LETTER CORRECTLY! OR FACE UNRECOVERABLE DATA LOSS!
- watch dmesg
- # then plug in usb stick, it should show the drive letter
- # find usb stick
alias harddisks=’lsblk -o ‘\”NAME,MAJ:MIN,RM,SIZE,RO,FSTYPE,MOUNTPOINT,UUID’\”’ - # harddisks
- # in this user’s case it is /dev/sdd
- unzip and write to usb stick as shown in this article
- # unplug and replug usb stick
- unzip TS-559_20240618-4.2.6.zip -> TS-559_20240618-4.2.6.img
- rename the NAS system image to “dom.img”
- copy “dom.img” to the root folder of USB drive
- the USB drive can now be used as a USB boot drive to recover NAS system’s DOM
- or
- via TFTP
- # what seems DEFINATELY WRONG! (but it’s in the manual)
cp dom.img /dev/sdc; # this is according to the official manual X-D but this can not be right X-D
cp: overwrite ‘/dev/sdc’? y# also this does NOT what it is supposed to do
dd if=./dom.img of=/dev/sdc; sync;
Links:
- https://wiki.qnap.com/wiki/Debian_Installation_On_QNAP
- https://wiki.debian.org/InstallingDebianOn/QNAP
- https://techfindings.net/archives/7465
- https://www.cyrius.com/debian/kirkwood/qnap/ts-41x/recovery/
Debian on Qnap Turbo Station TS-219P NAS – how to setup RAID1 in under 5min
liked this article?
- only together we can create a truly free world
- plz support dwaves to keep it up & running!
- (yes the info on the internet is (mostly) free but beer is still not free (still have to work on that))
- really really hate advertisement
- contribute: whenever a solution was found, blog about it for others to find!
- talk about, recommend & link to this blog and articles
- thanks to all who contribute!














