Yes, but there’s a big catch!
Linux reads the SPD information off the DIMMs.
It configures itself with that information.
It trusts the hardware is correct because the ONE THING it can’t detect is address wrapping or, for that matter, if two pins of a DIMM are shorted together.
Linux doesn’t perform a full “Memtest86” sweep of memory when starting up.
It goes by what the Firmware (UEFI/BIOS) tells it – which came from the SPD scan.
For as exaggerated as it sounds, you can make a 4GB DIMM which reports that it’s 64GB and the software would believe it
The reverse is true, which is why I caution.
I can put 128GB in a machine (because the power pins, command, and main address pins all line up per the spec.
What Linux doesn’t know – Are there circuit traces on the main board ?
Look at the notation in binary using a simple 1->8
0 = 0000 (address zero is always valid)
1 = 0001
2 = 0010
4 = 0100
5 = 0101
6 = 0110
7 = 0111
8 = 1000
…
…
16 = 10000
The NAS has address line for 0 → 7FFFFFFFFF ( 8GB )
but does it have the next bit? 8000
That’s the problem.
Look at the bits
1 GB = 2^30 = 1,073,741,824
2 GB = 2^31 = 2,147,483,648
4 GB = 2^32 = 4,294,967,296
Did QNAP put more than 32 address lines to the DIMM?
If they did, 36 (groups of 4) would make FAR more sense.
What you get is “bank switched 2x 4 GB” for a total of 8GB