This problem hit me today!
I had to clone a server's OS SSD over the network in an emergency situation. I booted from my trusty Porteus 5.01 USB drives on both the source and target machines, making sure not to mount anything on the source machine by adding the "noswap noauto" cheatcodes. (The target SSD had no partitions defined.) After the cloning process was finished, I computed sha256sums of the entire SSDs on both sides to check that the target/imaged machine was indeed a bit-for-bit identical copy. To my horror, the hashes did not match! I was panicking thinking I had bad RAM or a bad SSD, making data copy unreliable. When I tracked down where the differences between the source and target were, they were all on the swap partition! Then I checked, and sure enough, /proc/swaps and swapon -s showed that swap had been enabled on the source machine, despite my explicit "noswap" cheatcode forbidding this.
I tracked down the problem to line 264 of the file /etc/rc.d/rc.services in the 001-core.xzm Porteus module. This line does a "swapon -a" with no grepping of the /proc/cmdline for "noswap". (Compare with how the following zram stanza on line 267 of the script does grep /proc/cmdline).
I made a custom change module with line 264 commented out, and verified upon reboot that the swap was no longer automatically enabled, so that line is the culprit.
I was using an older version of Porteus, but I checked the code on the latest 2024-08-01 Porteus update (at
https://mirrors.dotsrc.org/porteus/x86_ ... 1-core.xzm) and it still has the problematic "swapon -a" on line 264.
Hope this helps someone.