Minimal Init Overlay v22 (mio) - alternate "init" and utils
Posted: Sat 04 May 2019, 02:14
Edit:
Current release is now 'mio22', see http://www.murga-linux.com/puppy/viewto ... 32#1057032 for more information and downloads.
---------Original message below this line---------------
This is the first release in this "Minimal Init" project.
It is a successor to the "Overlay Init" project, but the focus has changed to the different facilities it implements, rather than overlayfs.
Although this release uses overlayfs for the stack, sometime in the future, there will be a "Minimal Init Aufs" (mia) relesase.
The "Minimal" does mean what you might expect, i.e. the 'mio_initrd.gz' is approximately half the size of the normal 'initrd.gz'.
It is about removing all the current stuff that it might be possible to do without, but it also tries to move complexity into utilities in the running system.
This 'init' "does what it is told", working out what needs to be done, is done elsewhere.
But this project also aspires to be very flexible in those things it does do.
As an example, consider "luks encryted files";
In a "normal" Puppy this is provided by a luks encrypted savefile, too bad if you want to use a savefolder.
Here, it is provided by the "PupVault - encrypted file store", which can be deployed anywhere, in a savefolder, in a savefile, or '/mnt/home', etc...
And the luks support is removed from 'initrd.gz'.
The focus for this project is Puppy frugal installs on ordinary "block" devices, both internal and usb connected.
In particular, installs on Linux and fat32 partitions.
For now, this project is a Puppy "add-on", i.e. you add "mio" to a "normal" frugal Puppy install,
which changes the way the Puppy works, but the original Puppy is still there.
If installed on a Linux partition, there are mechanisms provided to switch between the two.
Some Features:
Can run completely in RAM with persistence, while installed on a normal block device, (a bit like pupmode=77).
Supports "pfix=nosave" for all save mechanisms, (including pupmode=12).
SFS's can be located anywhere, and you can have as many as you like, both above and below the main puppy...sfs, with "MI SFS List manager".
Automatic saving without any dialog on first shutdown, if installed on Linux or fat32 partition.
The save mechanism and the location of the save directory can be changed at any time with "MI Save config".
Backup/Restore the save layer, while it is not in use, with "MI save backup".
Can specify commonly used "pfix=" boot parameters with "MI Boot config".
Can switch from "mio" to "normal" with "MI Boot config".
"FrugalPup/StickPup" to manage everything to do with frugal installs.
It can install any Puppy iso.
It can install a boot loader that will do a normal UEFI boot.
It can do a "Grub4dos Config" like thing for both UEFI and non-UEFI boots.
"PupVault" to support the storing of files encrypted with luks.
Default fsck of ext and fat32 partitions, every boot before first mount, for maximum data integrity.
"improved" 'init' support information in '/initrd' and '/initrd/tmp'.
No complicated boot parameters.
And several internal "improvements" to the 'init' script.
Downloads:
Most downloads for this project are available from http://www.mediafire.com/folder/q04fxq43exkfr/mio.
Downloadable documentation:
'mio_utils.txt': some usage information on the utilities included in "mio".
'README.txt': the README file for 'init' from 'mio_initrd.gz'
Installing mio v12:
The 3.8MiB download option:
This release is available as 'mio12_bionicpup32_8.0.tar' and 'mio12_bionicpup64_8.0.tar'.
Each '.tar' contains 2 files, an 'mio_initrd.gz' and an 'mio12...sfs'.
The idea is to setup a frugal Puppy install directory containg these 2 files,
and the files from a frugal install of the corresponding "normal" Puppy.
Then boot using the 'mio_initrd.gz' file instead of the "normal" release 'initrd.gz'.
This method requires a working Puppy, some space on a Linux partition, and a spare fat32 stick.
1. Create a new directory on the Linux partition.
2. Download and extract 'mio...tar' into this directory.
3. Use 'SFS-Load on-the-fly' to load the 'mio12...sfs' as an extra sfs in the current working Puppy.
4. Using the "Puppy" facility in "FrugalPup v12", install Puppy files from an '.iso' into this directory.
5. Insert the fat32 usb stick.
6. Using the "Boot" facility in "FrugalPup v12", setup the usb stick to boot the Puppy in the directory in the Linux partition.
7. Boot the usb stick, which boots the Puppy that has just been installed in the directory in the Linux partition,
this is a first boot with "mio" active.
Note1: It is important that the "mio" files are present in the install directory before "FrugalPup v12" is run,
i.e. step 2 before step 4.
Note2: If you can't boot from a usb stick, but have a CD burner,
you could use the "ISO" facility in "FrugalPup v12" to create a CD that performs the same task as the usb stick.
Of course the same result could be done manually fairly easily,
but just make sure you pay particular attention to the "Install Directory Boot parameters" section of the 'README.txt' file.
If the install directory is not specified, the "mio" 'init' will quickly abort the boot.
The 270.1MiB download 'zipboot' option:
An 'mio12_bionicpup32_8.0.zip' is available for download from http://www.mediafire.com/folder/7y3c7eafptzao/zipboot.
1. Setup an empty fat32 usb stick with a volume label of "USBPBOOT", (without the quotes).
In Puppy, you should be able to use the CLI utility 'fatlabel' to set the volume label.
2. Download 'mio12_bionicpup32_8.0.zip' and unzip it's contents into the root of the usb stick.
3. If your machine requires a non-uefi boot, use the utilities in either /utils/lin or /utils/win to write an mbr to the stick.
4. Boot the usb stick, this is a first boot with "mio" active.
This provides the opportunity to either, explore the capabilities of this "mio" fat32 based installation,
or to use the "FrugalPup v12" in this "mio" Puppy, to install 'mio12_bionicpup32_8.0.zip' to a Linux partition.
Of course if you have a Puppy with a working "FrugalPup v12", you can use it to install 'mio12_bionicpup32_8.0.zip' however you choose.
Note - bionicpup64:
After updating with bionicpup64 fixes in 'QuickPet', you may need to delete '/usr/local/frugalpup' and '/usr/local/mi-utils' from 'mi_bionicpup64save' using another Puppy.
These v11 files in the savefolder hide the v12 files in 'mio_bionicpup64_8.0.sfs'.
Note - the version number:
Version numbers are just an integer, and have no real significance, simply a newer release will always have a bigger version number.
This includes an updated "FrugalPup" and it's last release was v11.
gyro
Current release is now 'mio22', see http://www.murga-linux.com/puppy/viewto ... 32#1057032 for more information and downloads.
---------Original message below this line---------------
This is the first release in this "Minimal Init" project.
It is a successor to the "Overlay Init" project, but the focus has changed to the different facilities it implements, rather than overlayfs.
Although this release uses overlayfs for the stack, sometime in the future, there will be a "Minimal Init Aufs" (mia) relesase.
The "Minimal" does mean what you might expect, i.e. the 'mio_initrd.gz' is approximately half the size of the normal 'initrd.gz'.
It is about removing all the current stuff that it might be possible to do without, but it also tries to move complexity into utilities in the running system.
This 'init' "does what it is told", working out what needs to be done, is done elsewhere.
But this project also aspires to be very flexible in those things it does do.
As an example, consider "luks encryted files";
In a "normal" Puppy this is provided by a luks encrypted savefile, too bad if you want to use a savefolder.
Here, it is provided by the "PupVault - encrypted file store", which can be deployed anywhere, in a savefolder, in a savefile, or '/mnt/home', etc...
And the luks support is removed from 'initrd.gz'.
The focus for this project is Puppy frugal installs on ordinary "block" devices, both internal and usb connected.
In particular, installs on Linux and fat32 partitions.
For now, this project is a Puppy "add-on", i.e. you add "mio" to a "normal" frugal Puppy install,
which changes the way the Puppy works, but the original Puppy is still there.
If installed on a Linux partition, there are mechanisms provided to switch between the two.
Some Features:
Can run completely in RAM with persistence, while installed on a normal block device, (a bit like pupmode=77).
Supports "pfix=nosave" for all save mechanisms, (including pupmode=12).
SFS's can be located anywhere, and you can have as many as you like, both above and below the main puppy...sfs, with "MI SFS List manager".
Automatic saving without any dialog on first shutdown, if installed on Linux or fat32 partition.
The save mechanism and the location of the save directory can be changed at any time with "MI Save config".
Backup/Restore the save layer, while it is not in use, with "MI save backup".
Can specify commonly used "pfix=" boot parameters with "MI Boot config".
Can switch from "mio" to "normal" with "MI Boot config".
"FrugalPup/StickPup" to manage everything to do with frugal installs.
It can install any Puppy iso.
It can install a boot loader that will do a normal UEFI boot.
It can do a "Grub4dos Config" like thing for both UEFI and non-UEFI boots.
"PupVault" to support the storing of files encrypted with luks.
Default fsck of ext and fat32 partitions, every boot before first mount, for maximum data integrity.
"improved" 'init' support information in '/initrd' and '/initrd/tmp'.
No complicated boot parameters.
And several internal "improvements" to the 'init' script.
Downloads:
Most downloads for this project are available from http://www.mediafire.com/folder/q04fxq43exkfr/mio.
Downloadable documentation:
'mio_utils.txt': some usage information on the utilities included in "mio".
'README.txt': the README file for 'init' from 'mio_initrd.gz'
Installing mio v12:
The 3.8MiB download option:
This release is available as 'mio12_bionicpup32_8.0.tar' and 'mio12_bionicpup64_8.0.tar'.
Each '.tar' contains 2 files, an 'mio_initrd.gz' and an 'mio12...sfs'.
The idea is to setup a frugal Puppy install directory containg these 2 files,
and the files from a frugal install of the corresponding "normal" Puppy.
Then boot using the 'mio_initrd.gz' file instead of the "normal" release 'initrd.gz'.
This method requires a working Puppy, some space on a Linux partition, and a spare fat32 stick.
1. Create a new directory on the Linux partition.
2. Download and extract 'mio...tar' into this directory.
3. Use 'SFS-Load on-the-fly' to load the 'mio12...sfs' as an extra sfs in the current working Puppy.
4. Using the "Puppy" facility in "FrugalPup v12", install Puppy files from an '.iso' into this directory.
5. Insert the fat32 usb stick.
6. Using the "Boot" facility in "FrugalPup v12", setup the usb stick to boot the Puppy in the directory in the Linux partition.
7. Boot the usb stick, which boots the Puppy that has just been installed in the directory in the Linux partition,
this is a first boot with "mio" active.
Note1: It is important that the "mio" files are present in the install directory before "FrugalPup v12" is run,
i.e. step 2 before step 4.
Note2: If you can't boot from a usb stick, but have a CD burner,
you could use the "ISO" facility in "FrugalPup v12" to create a CD that performs the same task as the usb stick.
Of course the same result could be done manually fairly easily,
but just make sure you pay particular attention to the "Install Directory Boot parameters" section of the 'README.txt' file.
If the install directory is not specified, the "mio" 'init' will quickly abort the boot.
The 270.1MiB download 'zipboot' option:
An 'mio12_bionicpup32_8.0.zip' is available for download from http://www.mediafire.com/folder/7y3c7eafptzao/zipboot.
1. Setup an empty fat32 usb stick with a volume label of "USBPBOOT", (without the quotes).
In Puppy, you should be able to use the CLI utility 'fatlabel' to set the volume label.
2. Download 'mio12_bionicpup32_8.0.zip' and unzip it's contents into the root of the usb stick.
3. If your machine requires a non-uefi boot, use the utilities in either /utils/lin or /utils/win to write an mbr to the stick.
4. Boot the usb stick, this is a first boot with "mio" active.
This provides the opportunity to either, explore the capabilities of this "mio" fat32 based installation,
or to use the "FrugalPup v12" in this "mio" Puppy, to install 'mio12_bionicpup32_8.0.zip' to a Linux partition.
Of course if you have a Puppy with a working "FrugalPup v12", you can use it to install 'mio12_bionicpup32_8.0.zip' however you choose.
Note - bionicpup64:
After updating with bionicpup64 fixes in 'QuickPet', you may need to delete '/usr/local/frugalpup' and '/usr/local/mi-utils' from 'mi_bionicpup64save' using another Puppy.
These v11 files in the savefolder hide the v12 files in 'mio_bionicpup64_8.0.sfs'.
Note - the version number:
Version numbers are just an integer, and have no real significance, simply a newer release will always have a bigger version number.
This includes an updated "FrugalPup" and it's last release was v11.
gyro