It's possible to use so called (root) persistency on Grml. This means you can store (all) your settings and reuse them on reboot, without having to remaster/re-generate the ISO by storing all the changes on an external media (like a USB device).
For a partition to be considered for persistence use, it has to have the filesystem label “persistence”. You can override this with the “persistence-label” boot-option like “persistence-label=something” (remember the 16 character limit on volume labels ext2/3/4), which might be handy if you want to use the same device with different Grml versions.
In the root of your persistence parition, you should have a persistence.conf with for example the following content:
When booting with the persistence boot-option these directories will be linked into / and all changes in them will be written to your persistence partition.
If you want to use root persistency (so all your changes on the live system are stored for re-usage) use the following persistence.conf:
To boot Grml in persistence mode you have to use the “persistence” boot option. There is an appropriate entry in the default boot menu of the ISO. Alternatively, you can pass `–bootoptions=“persistence”` to `grml2usb` or `grml2iso` when creating your own media.
Create two partitions on your medium, one vfat (about the size of the ISO(s) you want to boot) and one ext2/3/4 for your persistent data. Give the later the label “persistence” (either by passing ”-L persistence” to mkfs.ext3 or tune2fs).
Deploy the ISO(s) to the vfat partition with `grml2usb` to use persistence mode by default:
# grml2usb --bootoptions="persistence" grml64-full_2013.09.iso /dev/sdX1
Create a persistence.conf on your persistence partition with the following content:
Boot and enjoy your new system!
Encryption may be done with grml-crypt creating the LUKS partition and then creating an ext2/3/4 labeled partition with a label like “persluks”. Using this requires the following options at boot:
persistence persistence-encryption=luks persistence-label=persluks
NOTE: This feature might be broken, see issue1292.
Grml generates /etc/network/interfaces in the boot sequence. If you want to preserve your changes in the /etc/network/interfaces in persistence mode then boot Grml with the “nonetworking” boot-option. Have a look at grml-cheatcodes.txt for additional boot-options.