Rationalisation of init
fantastic! and i thought this was perhaps for one or two versions of puppy, but youre closer to "upstream" for a number of them, eh? thanks for the reply. i will have to look at the entire thread now, as it just got more interesting.gyro wrote:This project is about updating the "init" script in woof-ce. So improvements produced by this project will be included in all puppies generated using woof-ce, in the future.
The "iinit" in "initrd_progs" has been updated.
It now makes a reasonable fist of pupmode=5, 12, 13, including "pfix=ram".
It also has support for pupmode=6,7, but this is untested.
"humongus initrd" support is also present but untested.
Still significant facilities not implemented.
e.g. savefile support does not include encryption or resize.
cd booting support is still only rudimentary.
"initmodules" not implemented.
Someone once asked why the "init" script has become so complicated; Well I think it's because it supports so many different scenarios.
If I were doing this just for me, there's an awful lot of stuff I would omit.
gyro
It now makes a reasonable fist of pupmode=5, 12, 13, including "pfix=ram".
It also has support for pupmode=6,7, but this is untested.
"humongus initrd" support is also present but untested.
Still significant facilities not implemented.
e.g. savefile support does not include encryption or resize.
cd booting support is still only rudimentary.
"initmodules" not implemented.
Someone once asked why the "init" script has become so complicated; Well I think it's because it supports so many different scenarios.
If I were doing this just for me, there's an awful lot of stuff I would omit.
gyro
A question:
Given "huge" kernels, is the zdrv critical to a boot?
By critical, I mean don't continue on with the boot without it.
My current version considers puppy...sfs as critical, everything else is optional.
gyro
Given "huge" kernels, is the zdrv critical to a boot?
By critical, I mean don't continue on with the boot without it.
My current version considers puppy...sfs as critical, everything else is optional.
gyro
Last edited by gyro on Tue 12 Jul 2016, 18:01, edited 1 time in total.
-
- Posts: 1543
- Joined: Mon 22 Feb 2016, 19:43
When I boot Slacko 6.3 without the zdrv it makes it to desktop, but my mouse/trackpad doesn't work, even with using the dead mouse trick, and neither my wireless or wired ethernet show up. I did manage to hit Alt-F1 to get to Pmount to mount a drive that had the zdrv in it and put it back in with terminal commands though. Interestingly, "depmod" runs when I remove the zdrv but not when I keep it, and the pcmcia part says 1 2 3 4 5 6 7 8 9 10 before continuing. Maybe this info will be useful, or not...
I have accidently booted without a zdrv, and it did boot to a desktop, but of course without any kernel modules, lots of hardware simply did not work.
I guess my question really is:
If the init script detects that there is no zdrv, should it abandon the boot or continue?
My current thinking is that it should continue, since it will most likely still boot to a desktop (although it will most likely be a crippled one).
Whereas, if the main puppy...sfs is missing the boot is abandoned.
gyro
I guess my question really is:
If the init script detects that there is no zdrv, should it abandon the boot or continue?
My current thinking is that it should continue, since it will most likely still boot to a desktop (although it will most likely be a crippled one).
Whereas, if the main puppy...sfs is missing the boot is abandoned.
gyro
puppalyzer can help you answer this question.gyro wrote:I guess my question really is:
If the init script detects that there is no zdrv, should it abandon the boot or continue?
here is a list of several puppy isos (including modern ones) and whether they contain a zdrv or not:
contains a zdrv sfs file / name of iso
NO / puppy-4.2.1-k2.6.25.16-seamonkey.iso
YES / tahr-6.0-CE_PAE.iso
NO / slacko-5.6-4G-NON-PAE.iso
NO / wary-5.5.iso
YES / Legacy OS 2.1
LTS.iso?r=https%3A%2F%2Fsourceforge.net%2Fprojects%2Flegacyoslinux%2Ffiles%2FLegacy%2520OS%25202.1%2520LTS%2520Extra%2520Packages%2F&ts=1467656308&use_mirror=heanet
YES / puppy-3.01-seamonkey.iso
NO / precise-5.7.1-retro.iso
NO / squeeze-5.X.15-SCSI.iso
YES / puppy-2.17.1-nolzma-seamonkey-fulldrivers.iso
NO / pup-431.iso
YES / tahr-6.0.5_PAE.iso
YES / tahr-6.0-CE_noPAE.iso
YES / tahr64-6.0.5.iso
YES / slacko64-6.3.2-uefi.iso
NO / slacko-5.6-PAE.iso
NO / slacko-5.4-firefox-4g.iso
YES / slacko-6.3.2-uefi.iso
NO / slacko-5.7.0-PAE.iso
NO / Lxpup_13.01.iso?r=https%3A%2F%2Fsourceforge.net%2Fprojects%2Fcheckmatelxde%2Ffiles%2FLxpup-
13.04%2F&ts=1467655822&use_mirror=tenet
NO / racy-5.5.iso
NO / slacko-5.7-NO-pae.iso
YES / yara.iso
NO / slacko-5.4-opera-4g.iso
NO / lupu-520.iso
NO / slacko-5.4-opera-PAE.iso
Hi gyro
Maybe someone could put the zdrv in the main sfs as part of a manual remaster? In that case boot should continue if zdrv is not found.
2 c
Maybe someone could put the zdrv in the main sfs as part of a manual remaster? In that case boot should continue if zdrv is not found.
2 c
Puppy Linux Blog - contact me for access
I think rc.update should take care of this.
But there is something to take into account.
The initrd DISTRO_SPECS is copied to /etc on each boot... rc.shutdown should copy that file to /var/log/DISTRO_SPECS .. so rc.update can try to determine if a newer version is being booted.
Regarding testing for other pupmodes.. well, this is the difficult part.. actually the reality is discouraging.
But there is something to take into account.
The initrd DISTRO_SPECS is copied to /etc on each boot... rc.shutdown should copy that file to /var/log/DISTRO_SPECS .. so rc.update can try to determine if a newer version is being booted.
Regarding testing for other pupmodes.. well, this is the difficult part.. actually the reality is discouraging.
- Moose On The Loose
- Posts: 965
- Joined: Thu 24 Feb 2011, 14:54
I suggest the following changetechnosaurus wrote: (see above)
Code: Select all
while [ "$1" ]; do
case "$1" in
quiet)QUIET=1;;
#other cases here
*): WhineAndWhineAndWhine '"Unrecognized parameter $1 ignored" ;;
esac
shift
done
[ "$QUIET" ] || echo now doing step XX