ncmprhnsbl wrote: ↑05 Mar 2026, 00:58
pterid wrote: ↑01 Mar 2026, 21:17
OK, new thing...
yes, a bug, in the sense of a half implemented feature,
ie. using the porteus-5.*.cfg file for cheatcodes and then
relying on it in the make-changes script for something that wasn't supported.
Ah I see - thank you for explaining the history of this!
generally my thought on it was that using it for changes= cheat(and some others)
could be problematic, because they are applied for all boot options
with no way to opt out of at boot time via the TAB key.
I know this would make things more complicated, but maybe to preserve this ability, you could introduce an
ignorecfg boot param, which would mean "don't use the porteus-5.0...cfg file for anything"?
I can see why the decision was made to have make-changes edit porteus-5.0...cfg rather than the syslinux configs directly. Once you are in a session, it's not obvious where they are / where you booted from - it could have been another disk or partition, etc.
the obvious one is that "Aways Fresh" option, wouldn't be,
because it relies on the APPEND line not having changes= ..
ie. baseonly ..would be the modules in base plus your changes,
if you hadn't previously edited the porteus-5.*.cfg file before rebooting,
which seems a bit painful..
Agreed! I didn't consider this case. It seems bad to have no way to avoid the changes from the porteus-5.0...cfg in any profile!
long story short:
so, the previous 'fix' was to not use the .cfg file for changes in the make-changes script,
What did it use instead?
which was ony done in the pygobject ported version, but wasn't, for no good reason
done in the older gtkdialog version which was retained because of some as yet unresolved
problem with the encryption parts.
Aha! Is the attempted pygobject version in the porteus-scripts repo somewhere?
now that you've presented this fix, i've reconsidered my opinion on it,
and tried to resolve the 'baseonly' issue within initrd.
basicly, to disable changes= if baseonly is invoked:
linuxrc:
Code: Select all
if param base_only; then
unset $CHANGES
elif [ $(value changes) != "$CHANGES" ]; then
CHANGES=$(value changes)
echo $i"Using $CHANGES from config file"
fi
the problem here now is if a user actually wants baseonly with changes=, which
would then have to be worked around with noload=<list;of;dirs;and;or;modules>
Thanks very much, I think this is a great compromise for now! The main thing is that it allows the "golden path" of (install to FAT USB partition, create savefile) go smoothly.
I suppose later we could introduce something like my
ignorecfg idea above, so base_only would revert to meaning "no non-base modules". the Always Fresh profiles would need to have both baseonly and ignorecfg to ensure they really are fresh.
the documentation also should specify which cheats are appropriate for where,
under various scenarios..
eg. multiple boot options with their own changes ..
Yes! This idea (3 different profiles with 3 different changesets) is another thing that
ignorecfg could allow; it'd stop you being locked into the changes from the post-boot porteus-5.0...cfg file. Or we just do documentation for advanced users and tell them "delete that post-boot file, it only exists to make persistent change creation easier for new users"
another idea might be to have an "overide=" or "nocfg=" cheat that negates listed cheats in the porteus/porteus-5.*.cfg file..
Hahaha, yes, you had my idea but first and better. Sorry, I started doing these inline replies without reading this bottom line. Exactly

My idea was just one flag to blow off the whole file, rather than a granular solution. In truth, the two are equivalent, as I think after this code change, we will still only be checking for
changes in the post-boot porteus-5.0...cfg now (no other cheats).
Edit: I think we may need the caveat / warning that all of this applies only if your partition containing the Porteus folder, the Porteus-5.0...cfg etc is editable. ISO booters will have to edit the changes cheatcode into their bootloader, and those who burned the Porteus ISO to a stick with Rufus are basically out of luck, etc. I can try to draft concise wording of this!