Rationalisation of init

News, happenings
Message
Author
gyro
Posts: 1798
Joined: Tue 28 Oct 2008, 21:35
Location: Brisbane, Australia

#41 Post by gyro »

The "iinit" in "initrd_progs" has been patched to fix the /tmp issue in pupmode=12 and to add pupmode=13 support.
gyro

learnhow2code

#42 Post by learnhow2code »

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.
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
Posts: 1798
Joined: Tue 28 Oct 2008, 21:35
Location: Brisbane, Australia

#43 Post by gyro »

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

jlst

#44 Post by jlst »

gyro i added some changes that you might want to port to the new init

In ea7734f there are additions to check_status() and code to avoid a kernel panic when things go wrong

gyro
Posts: 1798
Joined: Tue 28 Oct 2008, 21:35
Location: Brisbane, Australia

#45 Post by gyro »

jlst,
New init doesn't have a check_status() yet, but does have a fatal_error() to support multiple possible fatal error messages.
The new check_status() should be able to take over the function of fatal_error().
gyro

gyro
Posts: 1798
Joined: Tue 28 Oct 2008, 21:35
Location: Brisbane, Australia

#46 Post by 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
Last edited by gyro on Tue 12 Jul 2016, 18:01, edited 1 time in total.

starhawk
Posts: 4906
Joined: Mon 22 Nov 2010, 06:04
Location: Everybody knows this is nowhere...

#47 Post by starhawk »

zdrv is your drivers, gyro. Not just for your network card... ;)

Sailor Enceladus
Posts: 1543
Joined: Mon 22 Feb 2016, 19:43

#48 Post by Sailor Enceladus »

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...

gyro
Posts: 1798
Joined: Tue 28 Oct 2008, 21:35
Location: Brisbane, Australia

#49 Post by gyro »

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

learnhow2code

#50 Post by learnhow2code »

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?
puppalyzer can help you answer this question.

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

User avatar
01micko
Posts: 8741
Joined: Sat 11 Oct 2008, 13:39
Location: qld
Contact:

#51 Post by 01micko »

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
Puppy Linux Blog - contact me for access

gyro
Posts: 1798
Joined: Tue 28 Oct 2008, 21:35
Location: Brisbane, Australia

#52 Post by gyro »

Hi 01micko,

I think you are agreeing with me, only the main puppy...sfs should be considered critical.

gyro

gyro
Posts: 1798
Joined: Tue 28 Oct 2008, 21:35
Location: Brisbane, Australia

#53 Post by gyro »

Another question:
The "upgrade" code in the current init script, is it really needed?
Does any one know?
gyro

jlst

#54 Post by jlst »

I triggered involuntarily one day... when i replaced only the sfs files but forgot to delete the savefile, apparently it did detect a new version.

That's the only time it happened to me since 2012

gcmartin

#55 Post by gcmartin »

Yes, as I remember, when booting a newer version of a PUP from CD/DVD, I am often presented with an option to upgrade prior version session data.

Never knew if the init code was doing this.

gyro
Posts: 1798
Joined: Tue 28 Oct 2008, 21:35
Location: Brisbane, Australia

#56 Post by gyro »

Yes, I know it's there, and it's triggered if it thinks the version being booted is newer than the one in the save.
But, does it do anything that is not done by "rc.update"?
If nobody knows, then I'll have to sort it out the hard way.
(I never do updrades, always start with new savefolder.)

gyro

gyro
Posts: 1798
Joined: Tue 28 Oct 2008, 21:35
Location: Brisbane, Australia

#57 Post by gyro »

The current version does boot ok from hd and usb.
It contains support for pupmodes 5, 6, 7, 12, 13, and 77. Although 6, 7 and 77 are untested.

If I don't post any thing in the next week, it's because I do have a life apart from puppy.

gyro

jlst

#58 Post by jlst »

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.

User avatar
Moose On The Loose
Posts: 965
Joined: Thu 24 Feb 2011, 14:54

#59 Post by Moose On The Loose »

technosaurus wrote: (see above)
I suggest the following change

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
Saying what is ignored can be helpful to the "why didn't that work" question when the problem was the seplling of the parameter

gyro
Posts: 1798
Joined: Tue 28 Oct 2008, 21:35
Location: Brisbane, Australia

#60 Post by gyro »

@Moose On The Loose,

I assume that you are referring to the code processing the "pfix=" boot parameter?

gyro

Post Reply