Page 1 of 1

Kennel Linux vanilladpup64 root filesystem derivative

Posted: Sun Feb 13, 2022 6:06 am
by wiak

KL-vdpup64

EDIT: The weedogit.sh script that automates what is described in this HowTo is also now attached to this post. You basically now just need to run that script to create this WDL frugal install (also automates a WDL Pop!_OS install if you wish [it's pretty huge install and takes time and patience wait on the build though], and more to come...). EDIT2: Since weedogit.sh has now been expanded to allow WeeDogging of 12 distros (some being same type but different desktop manager), all aside from vanilladpup64 being major non-forum distros such as EndeavourOS, Manjaro and MXlinux, I have moved the script weedogit.sh and all discussion about it to WeeDog section (link and weedogit.sh update to come shortly). Any discussion on how to develop KL_vdput64 with, for example, some utility/apps/techniques developed on KLV-Airedale thread should of of course continue in this present thread

I recently noticed some forum members (e.g. @williwaw, @dancytron and @OscarTalks) having issues with official vanilladpup64 in terms of booting it in typical Puppy initrd frugal install own-subdirectory configuration. I also wanted to take a look at how it now overall works and what it provides, but did not wish to burn a new usb stick, or use its officially supported C-coded frugalify boot method, but instead just wanted to use my usual WDL initrd to boot it alongside the other distros on my hard drive (each in their own frugal install subdirectory), as I've done in the past (and as @Duprate has done too). Alas, I found it no longer worked in method I used before because PUPMODE6 hard-coded into its puppy_vanilladpup_9.1.7.sfs caused /proc to be unmounted by its /etc/rc.d/rc.sysinit at boot time. Easy to work around as below however, without needing to modify WDL initrd.gz itself at all. Of couse some additional 'fixes' would be needed for perfect operation, but its fine for my purposes and I can easily edit and improve the fix addon-layer-directory "09puppy_use_initrd/", which is provided in nevertheless perfectly usable form with this post.

Method used (hopefully nothing has changed in any new vanilladpup64 build since yesterday that will prevent the following steps from working... or I'll try my best to fix later):

1. Download latest vanilladpup64 and extract its contents into a directory of its own (for example: I used KL_vdpup64 to emphasise the hybrid kennel components involved in this method). Easiest is probably to use the downloadable vanilladpup64 tar package, though can alternatively extract from one of the img file downloads with a bit of extra work I will document later. Download dimkr official vanilladpup64 via: https://vanilla-dpup.github.io/

2. Into same subdirectory, download latest get script for WDL skeleton initrd from here:
https://weedoglinux.rockedge.org/downlo ... 173c3e475e
Remove the dummy tar and make that executable with chmod +x before then using it to fetch the actual WDL skeleton initrd.gz

3. Download the attached puppy_use_initrd.tar to same subdirectory. It is an actual tar file containing a directory (09puppy_use_initrd) so you need to untar it. For example using: tar xvf puppy_use_initrd.tar into that same subdirectory (or Xarchive or whatever you prefer). It's a very small directory that contains all the current fixes, and it is user-editable, which means you can develop the system using it to your hearts content (and dev ability).

4. Before booting via the WDL skeleton initrd, rename it to simply "initrd.gz". You also need to rename the vanilladpup64 component parts as follows. Rename:

Code: Select all

zdrv_vanilladpup_9.1.7.sfs to 00zdrv_vanilladpup_9.1.7.sfs
fdrv_vanilladpup_9.1.7.sfs to 01fdrv_vanilladpup_9.1.7.sfs
bdrv_vanilladpup_9.1.7.sfs to 02bdrv_vanilladpup_9.1.7.sfs
puppy_vanilladpup_9.1.7.sfs to 08puppy_vanilladpup_9.1.7.sfs
adrv_vanilladpup_9.1.7.sfs to 20adrv_vanilladpup_9.1.7.sfs
devx_vanilladpup_9.1.7.sfs to 21devx_vanilladpup_9.1.7.sfs
docx_vanilladpup_9.1.7.sfs to 22docx_vanilladpup_9.1.7.sfs
nlsx_vanilladpup_9.1.7.sfs to 23nlsx_vanilladpup_9.1.7.sfs

The 2-digit number put at the front of the name are the only important part of the name when using WDL initrd (some or all of them can also be unsquashed if you wish for editing convenience and some speed up if you wish as long as they remain numbered); their value determines the overlay layer they will be put at. You can change the numbers, if you wish (up to max of 99), as long as they remain 2-digits and in same overall order of precedence.

5. I then modified the old grub4dos menu.lst on this old dev machine of mine to the follows (I leave you to amend for same result if using grub2 grub.conf instead - I'll help if you get stuck with that):

Code: Select all

title dpup os 9.1.X
  find --set-root uuid () 9f8b9e81-9c04-41ca-ace0-d37b1787a94d
  kernel /KL_vpup64/vmlinuz w_bootfrom=UUID=9f8b9e81-9c04-41ca-ace0-d37b1787a94d=/KL_vdpup64 fwmod=usrlib w_changes=RAM2
  initrd /KL_vdpup64/initrd.gz

Use your own system UUID of course.

Note that I assume you are familiar with editing such config files or you'd best to become familiar more generally prior to trying this particular install. Most WDL initrd system users will probably never have seen that grub kernel argument fwmod=usrlib (without any spaces) before. It is needed in this case because the zdrv of vanilladpup stores its modules in usr/lib/modules rather than old Puppy lib/modules hierarchy (which WDL initrd otherwise currently assumes as the default modules location).

NOTE. It remains probably best, for most people, to boot official vanilladpup64 via its designer provided boot mechanism, frugalify.
Obviously that is the only supported method that is guaranteed to work as best its designer intended now and during its future developments. However, hopefully this alternative Kennel Linux hybrid will be useful to some. In particular, since it uses same WDL initrd as employed in KLV-Airedale, most of the excellent utility apps related to its operation provided by the likes of @fredx181, often modified versions of similar used in his DebianDogs, and @rockedge, will also work with this KL_vdpup64.

I don't myself promise to maintain it such that the method can be guaranteed to work with future official vanilladpup64 root filesystem component releases, but offer this current HowTo here as at least a temporary Kennel Linux extra, which the community may or may not decide to maintain or manage to keep working depending on what dimkr does to the underlying official vanilladpup rootfilesystem underlying operation. Works quite well just now though (or did last night...).

If I've missed some detail such that it doesn't boot, let me know. Much can be improved in my simple implementation (try it, you'll discover that for yourself. For example the simple wd_exit extra is currently simplistic to say the least). If you want to know the 'fixes' I've made to allow WDL initrd to drive it, just look at the few files inside the provided 09puppy_use_initrd/ (uncompressed/editable) addon layer directory; that's all I've overlayed (over-written the main puppy sfs) thus far.

Same process can be used with basically any Puppy distro, though vanilladpup is the most difficult distro to use WDL initrd with that I've come across so far.
Most other non-forum distros, such as Manjaro and ElementaryOS, work pretty well as versatile frugal installs via WDL initrd, without any special 'fix addon' required (tiny though it is anyway), even when such distros are only intended to be used in full install scenarios. For example, see fredx181 more polished WeeDogged Manjaro HowTo: viewtopic.php?p=36144#p36144

Since the end result does not employ frugalify at all (which can be deleted) the end result has to be considered a kennel linux (hybrid) fork should anyone in this Kennels forum community decide to develop this. Overall I won't be doing so myself, but just use this method myself for quick distro testing.

NOTE: A great deal of information regarding boot parameters for KLV-Airedale will also apply to this installation, including the use of different RAM modes such as w_changes=RAM2 in above grub menu.lst stanza. You can leave that argument out altogether if you want permanent save folder persistence on your storage media device. w_changes=RAM2 just stores session changes in RAM (actually in /mnt/layers/RAM/upper_changes and allows these to be lost on shutdown - though you can use rsync script to save them - see KLV-Airedale thread for details) or use one of the more permanent w_changes save persistent WDL initrd modes.

EDIT: If you happen to have downloaded one of the img.gz of vanilladpup64 instead of the more convenient tar version, then it is possible to extract its contents anyway as follows:

1. gunzip it (produces big 2GB img file though...)
2. Run the following command (modify the location appropriately - USE AT YOUR OWN RISK!):
mount -t auto -o loop,offset=$((2048*512)) vanilladpup-9.1.7-ext4-2gb-bios.img anyplace/
You can then extract the contents to your prepared but empty WDL_vdpup64 directory.
Note that the 2048x512 offset come from fdisk result, or more automatically via checking output of command: fdisk -lu vanilladpup-9.1.7-ext4-2gb-bios.img
(assuming that was the img.gz you had).
I've never actually myself downloaded the vanilladpup64.tar version, but assume you can more conveniently just untar that instead via tar xvf or the likes of Xarchiver.

EDIT: I have now provided a single script (weedogit.sh) to undertake most all the steps of this HowTo automatically for you (weedogit.sh is now also attached to this post). Just run that script in empty directory and all done for you in a few minutes... Note it also auto fetches puppy_use_initrd.tar if required


Re: Kennel Linux vanilladpup64 root filesystem derivative

Posted: Mon Feb 14, 2022 3:29 pm
by wiak

EDIT: I've moved discussion and download for weedogit.sh script to here:

viewtopic.php?p=50074#p50074

since it isn't just for KL_vdpup64 (it now auto-WeeDog frugal installs around 12 distro variants such as EndeavourOS, Manjaro (various dm) and MXlinux - not actually tested with most of these yet though - hope you can test for me - too much work for me to download so many isos, sorry). No need to read the rest of this post, which I'm only leaving because it does contain one or two extra details (which aren't really important though

Usage: (DISCLAIMER: Use at your own risk - works fine, but make sure running it in empty directory to avoid making a mess elsewhere...)

Download the weedogit.sh.tar file (from: viewtopic.php?p=50074#p50074) into an empty directory (on Linux formatted partition - e.g. ext2 or ext4 or whatever), which should be the directory you intend booting from. I suggest naming it "KL_vdpup64" (you can use any name for the directory you like really, but that name matches the HowTo).
Then remove the dummy tar and make the script "weedogit.sh" executable (i.e. chmod +x weedogit.sh).

Then simply run it and the frugal installation will be automatically completed for you in a few minutes (except for your grub entry):

Code: Select all

./weedogit.sh

Okay, so if running it that way you do have to answer two questions:

choose menu option 1 (for vanilladpup64) and select the release when asked for that (or press return for the current 9.1.9 default).

Finally, edit your grub config to boot the resulting vmlinuz, initrd.gz that will magically appear in that KL_vdpup64 frugal bootfrom directory.

In fact, for your convenience weedogit.sh ends by printing example grub.cfg and also menu.lst stanzas that would work (assuming you substitute your own install's relevant uuid values - use blkid from the command line to determine that...).
------------------------------------------------------------------------------------------------------

Note that you could alternatively run the script as follows:

Code: Select all

./weedogit.sh  [distro_choice]  [release]

where distro_choice is 1 for vanilladpup (other script distro choices, such as for EndeavourOS and ManjaroXFCE are under development)
and release can be 9.1.9 or whatever the latest upstream release number is.

That is, to avoid having to answer menu questions, you can just run the following command to complete the whole KL_vdpup64 build:

Code: Select all

./weedogit.sh  1  9.1.9

or change release number from 9.1.9 to whichever one you want.

As I said, other distros suitable for being WeeDogged are in the process to being added to that single build script.

NOTE that this script, though quickly put together, is written in such a way that it is easy to drive it from say a yad GUI frontend that simply gets user to enter the distro_choice and the release prior to completing the build.


Re: Kennel Linux vanilladpup64 root filesystem derivative

Posted: Mon Feb 14, 2022 10:52 pm
by wiak

Strange. For some reason wget in my script is no longer able to download vanilladpup-9.1.9.tar. Says:

ERROR: The certificate of 'objects.githubusercontent.com' is not trusted.

Bit of a pain since I generally use wget for long downloads rather than relying on any browser.

Was working last night but probably just my distro needing its ca-certificates updated.

If you have same problem, just download vanilladpup-9.X.X.tar manually via your browser into the empty directory first. The weedogit.sh script should be able to work with that. However, instead, I'll reupload the weedogit.sh script (immediately above post) to use wget with --no-check-certificate and that will make it work still (you can remove that no check from the script if all otherwise fine for you).


Re: Kennel Linux vanilladpup64 root filesystem derivative

Posted: Tue Feb 15, 2022 10:20 am
by wiak
mikeslr wrote: Tue Feb 15, 2022 1:42 am

Pop!_OS does not employ systemd. It is published in three 'flavors'; one for RasberryPI; and one each for intel and nvidia graphic managers.
An interesting distro for someone having far greater skill than I to explore as a potential Woof candidate; or as a "debian-dog".

Yes, well... Yesterday, as you know, for my own needs, I made a weedogit.sh script for making a WDL initrd.gz frugal install of dimkr's vanilladpup64 (rather than using his frugalify boot mechanism, which I didn't want to use and also frugalify doesn't thus far allow frugal install to a subdir i.e. no psubdir support or apparently now Puppy initrd support).

Anyway, weedogit.sh had vanilladpup64 as the first distro it auto-creates a frugal install for. Next I planned to include auto frugal install WDL build of EndeavourOS XFCE (since I've used WeeDog skeleton initrd.gz with that already and found I really like EndeavourOS, and it is powerful, but also fast and efficient even on my old dev laptop hard drive).

However then I saw @mikeslr comments about Pop!_OS in a thread he started about that ( viewtopic.php?p=49911#p49911 ), so I decided to add Pop!_OS WDL frugal install to weedogit.sh auto-build menu, so all a person needs to do is create an empty directory (where they wish to boot from via grub), copy weedogit.sh script into there, run it and choose Pop!_OS to create a WeeDogged frugal install of it (same save persistence and layer mechanism as KLV-Airedale). The iso I catered for is:

pop-os_21.10_amd64_intel_6.iso (it is 2.5 GB in size, so pretty big)

but you could always edit the simple weedogit.sh script to use one of the other Pop... isos instead.

The weedogit.sh script auto-downloads the iso for you using wget, then automatically extracts its root filesystem and copies out the vmlinuz and auto-inserts its kernel modules into WDL initrd.gz and, in the terminal finally prints example grub menu.lst and grub.cfg stanzas (you need to edit these slightly for your own uuid and bootfrom directory name where you ran the script from). So most everything is done for you (aside from copying in the grub entries - you must already have a working grub on your system).

Script worked first time for me, but alas I had no space to make the frugal install on the hard drive of my 2008 low-resourced laptop, so I had to resort to doing it on a plugged in 8GB usb2 stick - that... was a mistake - talk about SLOW to copy out all the files. I 'presume' fast hard drive and/or faster system would not be a problem, but forget installing or running from usb2 stick (though it absolutely did install and boot).

Using a usb2 stick, in practice though, it took for flipping ever to complete the frugal install build (the iso is 2.5GB and had to then auto-mount that and copy out the main root filesystem, which is another 2.5GB of copying all on rubbish slow slow slow usb2 stick. Anyway, I went away and left it for ever and eventually it completed the job (after sync;sync which also took ages to finish...). Then I booted via the suggested grub lines and it booted from the usb2 stick into Gnome whatever it is - SLOW SLOW SLOW, but worked (first time... I was both so relieved and amazed...) - I did try it out - albeit waiting forever for each action to respond (I made the attached screenshot whilst in that situation...). By the way, it absolutely DOES use systemd.

New weedogit.sh script attached that can now create a KL_vdpup64 or a WDL_popos64 frugal install for you. Just run the script... and it will eventually complete...
(Oh, if you already have the Pop!_OS iso downloaded, just stick it in the intended bootfrom directory prior to running the weedogit.sh script - it won't get re-downloaded then - otherwise, as I said above, weedogit.sh script will wget it for you.

NOTE Pop!_OS is a big system - lots to install and move around in the auto-build. Be VERY patient and wait till the end and all really complete and, for me at least, that worked fine (just avoid using slow usb2 flash stick as the install medium - really painful waste of time that, despite it managing... EVENTUALLY... and slow as hell running from that on my 2008 lappy - and more so since it is modern GNOME desktop).

I'm looking forward to doing same for EndeavourOS XFCE though - I already tried a WeeDogged install of that manually and was really fine on the hard drive of even this old machine. So might add that one to the weedogit.sh script tomorrow or soon after.

The weedogit.sh auto frugal install build script (using WDL initrd.gz) can now be found at viewtopic.php?p=50074#p50074 for download and immediate use...

wiak


Re: Kennel Linux vanilladpup64 root filesystem derivative

Posted: Tue Feb 15, 2022 11:53 am
by wiak

Now completed adding EndeavourOS to weedogit.sh WDL frugal install menu, which is a really nice distro, but still under test so won't upload new one till tomorrow, but existing vanilladpup64 and Pop!_OS installs not changed anyway. I'll probably complete Manjara XFCE addition tomorrow too (gets easy to add new one to script since the coding involved is very similar each time).


Re: Kennel Linux vanilladpup64 root filesystem derivative

Posted: Tue Feb 15, 2022 6:39 pm
by Duprate

Hi Wiak! I tested your weedogit.sh script, followed all your recommendations and installed VanillaDpup64_9.1.9
It worked as described by you. It's the first time the new version of VanillaDpup64 has worked for me. :thumbup:
However, this new version with "frugalify" I will not use.

I use the previous version with initrd, which today is in version VanillaDpup64_9.0.30 and I will use all updates from that version, until they expire. When there is no further continuation of this project, I will not use it anymore. Initially, I really liked VanillaDpup64 but I don't depend on it because I have FatDog64-812, VoidPup64 RC1, BionicPup32 and others installed on my PC... On the first startup of a distro, I create the first savefile with my personal settings. Then I convert it into a "03-changes.sfs" file. So I renamed it all modules, I change the original initrd to your initrd (Wiak mode). I also like to compile my kernel or use the lxpup64 versions of Peebee. I like Overlayfs and I hate AUFS! I go on happily, using the distros, with my hdd unmounted, no savefiles, no traces!
I'm too old to change my ways of making things work for me! :|

But yes, your described method works well! :thumbup:


Re: Kennel Linux vanilladpup64 root filesystem derivative

Posted: Fri Feb 18, 2022 4:49 pm
by one

Hi @wiak,

I tested your script (VanillaDpup64_9.1.9) and it ran without errors - but doesn't boot.

After "Probing EDD" which returns "OK" init is seeking for the boot partition and does not find it.
Enter "exit to continue boot" leads to a kernel panic.

I used your menu.lst-example with uuid from my ext. SSD/booted via grub4dos.
Appending edd=off to the kernel line does not help.
What kernel does vdpup64 use?

..................................................................................

I then tried your script with Endeavour and this one booted - so your script is fine!

Thanks for that, nice work ...

peace