EDIT: NOTE WELL: To avoid full install swapfile or similar issues, which will otherwise likely occur, please refer to the following workaround solution: viewtopic.php?p=116939#p116939
KL_full2frugal (KL_full2fr in short)
Embracing what some see as the 'Other' distros and making them part of KL; a new era and in that an attempt to broaden/widespread forum appeal: bringing in the 'Others' as part of the forum audience.
Scenario:
You have a full installed distro such as Linux Mint (I used XFCE) or Zorin, Manjaro or Endeavour or whatever (I've only tried it with Linux Mint XFCE and Zorin OS lite XFCE so far, but should work with many - only thing that might go wrong would be if script can't find the full install vmlinuz - just extract that manually if that proves to be a problem).
You love its power and ease of upgrade, but miss all the forum layered OS functionality (and particularly no persistence and/or save on demand modes and sfs addons).
Method:
Have you used previous weedogit? Well it's a similar process (albeit that very different scenario). Just involves running a single 'build script' (attached), but MUST be run from the running full installed OS (e.g. Linux Mint, Zorin or similar) and from inside an empty directory you create just off its / (top of) Filesystem directory. That is you run your (say) Linux Mint full installed OS and then:
Code: Select all
mkdir -p /KL_full2fr
Note that the name of the directory you make doesn't actually matter... but it must be at the very top of the full install hierarchy. EDIT:(i.e. a subdir of /)
Then, put the KL_full2fr.sh script in there (remove the dummy tar), and make it executable.
DISCLAIMER BEFORE PROCEEDING FURTHER: The usual caveats - use at your own risk. Also bear in mind this is a new project/approach and thus should be considered alpha-grade software that might do terrible things to your pre-installed system(s), but it works fine thus far for me. Bug reports welcome of course. Uses same initrd as in KLV-Airedale for now, but with special new external w_init that once tested enough will later likely make it into next FR initrd release
For brief but somewhat detailed instructions you can always first run script in terminal (from its containing directory) with command:
Code: Select all
./KL_full2fr.sh --help
ONCE YOU ARE READY... with terminal open at the scripts containing directory (within your running Linux Mint or similar full installed system and NOT from KLV or Puppy or DD or similar - you must run the script from the full installed big distro!!!)
THAT IS:
Installation instructions:
1. Boot your target mainstream full installed distro (e.g. Linux Mint)
2. In that running distro run command: sudo mkdir -p /KL_full2fr
3. Put KL_full2fr.sh script inside /KL_full2fr and from terminal opened as
root user inside that directory run script with command:
./KL_full2fr.sh (or: ./KL_full2fr.sh --help for this help text)
4. Wait patiently till script builds boot components and outputs grub2 stanza.
5. Still with root user permissions, append that grub2 stanza
to (end of) mainstream distro file: /etc/grud.d/40_custom
and run command: sudo update-grub
6. On reboot you should find that new grub2 menu entry to
optionally frugal boot your mainstream distro.
You can still instead boot your mainstream distro as
normal full installed distro whenever you so should wish.
Notes:
By default the KL_full2fr will boot with no persistence RAM0 mode.
If you wish to use save on demand RAM2 mode you will need to set
up grub2 to put upper_changes folder on a separate partition.
For further information read the produced /KL_full2fr/grub_config.txt
and, if wanting save-on-demand (FR RAM2 mode) also refer to: viewtopic.php?p=94370#p94370
Yep, that's all there is to it (basically). I hope it worked for you (on reboot). The underlying full install distro itself does not get written to when in KL frugal mode (actually, the 'Linux Mint' or whatever gets mounted read-only as one of the overlayfs layers) so can still be used in that original full-install form anytime.
NOTE: You should find that gtkdialog program is available... Open a terminal and enter: gtkdialog --version
Also, filemnt program is there, as is precord and wex, AND, save2flash for when you are booted into RAM2 save-on-demand mode. However, precord needs lame added from package manager as a dependency; wex needs giblib1 and ffmpeg and xterm or rxvt-unicode or similar. Don't try running precord or wex until you have added their dependencies (best would be to add the dependencies first to the underlying full installed Linux Mint or whatever).
Once you have it all going, the world is your oyster - just follow KLV or KLA developments and pretty much every utility/extra developed there can be added to your KL_full2fr distro. You can instead reboot back into your normal full install anytime you wish (KL_full2fr basically just provides you with an extra grub2 menu option - it doesn't write to the underlying full installation itself).
If you are interested in the overlay structure of your 'new' distro; once it is booted just look in directory /mnt/layers - all the addons are mounted to the subdirs in there so you can see their contents. gtkdialog is provided by 12KLgtkdialog sfs in subdir named simply with underscore character. All will be explained later.
Some forum posts I made a few days ago as an intro to the dev work I was doing for this explain how to set up and use RAM2 save on demand mode with this: viewtopic.php?p=94370#p94370
Needs upper_changes put in alternative to the boot partition via w_changes= and w_changes1=RAM2 grub2 kernel line stanza alterations. You could use an external usb stick for the upper_changes if you wish, or alternative partition on your hard drive (I used alternative partition on hard drive when I wanted RAM2 save on demand mode and put the upper_changes in a folder named 'sessions', but use what you like). Sorry for some repetition - I am short on time so wrote this in a hurry, but purposively leaving as is since good to have some matters emphasized.
Note the special new option in the grub2 stanza: w_bottom=full2fr; that is essential for this usage - it tells the FR initrd (external w_init part) to make the underlying full installed filesystem the bottom layer of the normal overlayfs stack.
Caveat/restrictions (only apply when using full2fr and not to normal KL distros):
Unlike normal KL-distros, you can only use sfs addons in same partition as the underlying full install (not uncompressed dir addons). However, you CAN also use uncompressed dir addons as long as you store these in different partition to the bootfrom partition (perhaps alongside upper_changes if using RAM2 mode for example).
You should be careful if using RAM2 upper_changes persistence if you add packages there, and then later add packages in full install boot mode; think about it... that would break the likes of apt database - be thoughtful about such matters; won't harm your full install since full2fr isn't writing to that, but you might end up having to start with new upper_changes folder if you mess up when using persistence in frugal boot. Or just use RAM0 no persistence mode (the default) for experimenting without persistence - that's the main advantage really anyway...
FYI
How many layers can you use? Answer is 199 (including reserved layer for 00modules). That is, 99 layers like current KLV-Airedale, but now with 99 layers (also numbered in order from 00 to 99 below that 00modules layer - i.e. underneath the full install filesystem hierarchy, which is inbetween these two regions in terms of where it is in the overlay. Of course, you can't really probably use 199 layers because the system won't allow that many mounts I guess, but plenty of scope and I have managed total of 100 layers in experiments in the past...
By default, mainstream distros boot to a 'normal user' desktop. But it is easy to alter them to boot to root desktop if you really want that - I don't usually bother because nowadays so many apps don't like running as normal user and other problems waste more time than I find them worth.
Good Luck in your trial.
wiak
Remove fake .tar from the name and make it executable.
Fake .tar added to name so file could be attached.