KLA-OT2base-1.0 released (717MiB). Arch Linux pacman full multi-user compatible.

Kennel Linux Arch-based


Moderator: Forum moderators

User avatar
wiak
Posts: 3627
Joined: Tue Dec 03, 2019 6:10 am
Location: Packing - big job
Has thanked: 56 times
Been thanked: 994 times
Contact:

KLA-OT2base-1.0 released (717MiB). Arch Linux pacman full multi-user compatible.

Post by wiak »

For some media, such as Ventoy, QEMU, and SG2D, you can also use savefolder, but you need to label partitions appropriately sometimes. For details about boot media label requirements for iso booting, see this recent post: viewtopic.php?p=79395#p79395
--------------------------------------------------------------------------------------------------------------------------------

KLA-OT2base-1.0
NEW: Has new FR initrd.gz ver 7.0.1 rc1 released 09Mar2023; includes /mnt/home symlink to bootfrom partition. Fixes major umount bug. Includes Arch Linux packages 10Mar2023 rolling release update.
Has over forty (!) new commandline-based utility apps (a few with very simple yad frontends).

There is a cherrytree README notes file on the Desktop that contains lots of details and tips regarding these additions, including a couple of simple yad GUI frontend templates in code form to help others develop their own.
I am no longer using gtkdialog for new app/utils in FirstRib when possible. Many upstream distros no longer have gtkdialog in their repos at all whereas yad is well supported and good enough for most simple frontends.

717 MiB download size
Download from sourceforge here: https://sourceforge.net/projects/kla-ot2base/
md5sum: 0ccb3389c4d4d3592f8ec84f0efc8f67 KLA-OT2base-1.0.iso

INSTALLATION (Alternative methods):

1. On a Ventoy usbstick with ext4 data partition labelled as 'Ventoy', create a folder named /BOOTISOS and simply put the KLA-OT2base-1.0.iso in there and boot your Ventoy usb stick to use KLA-OT2base.
NOTE: With Ventoy, you can save on demand (called RAM2 mode) back to the 'Ventoy' labelled disk partition into auto-created Sessions folder.
Alternatively, if you have a partition on your system somewhere labelled 'Persistence' you can use save on demand persistence to Sessions folder there.
You can also choose from provided grub menu to do 'direct' writes back to same save persistence (either to 'Ventoy' usbstick labelled partition or to external 'Persistence' labelled partition).
2. Boot via QEMU using, for simple example, commandline:
qemu-system-x86_64 -enable-kvm -m 2G -vga cirrus -smp 2 -device AC97 -cdrom KLA-OT2base-X.X.iso -boot once=d
If you attach a qcow2 additional -hda disk, and partition it wish one of the partitions labelled 'Persistence', you can use save on demand into the auto-created 'Sessions' folder there too.
3. Create a normal frugal install. For example:
a. mkdir -p </mnt/partition>/KLA-OT2base
b. mount the iso somewhere and copy all of its contents out and into that KLA-OT2base frugal install directory.
c. Open a terminal at that directory and enter command: ./wd_grubconfig
That should give you suitable grub2 or grub4dos accurate (correct UUID or LABEL provided) stanzas to use (assuming you have a working grub bootloader already installed on your computer).
Once again you can choose to use w_changes=RAM2 save on demand mode, or w_changes="" (default) direct save persistence mode.
4. For more usage modes refer to blog articles at https://tinycorelinux.info

Also read the following for additional useful installation-related information:
viewtopic.php?p=82242#p82242
viewtopic.php?p=75863#p75863

trizen (for AUR) and pacman info:
viewtopic.php?p=81188#p81188
https://wiki.archlinux.org/title/pacman

NOTE: You will probably have to replace the mnthome symlinks on Desktop and Thunar bookmarks to suit your own system. Easily done: just copy /mnt/home symlink and drop on your Desktop and in Thunar bookmarks and rename to mnthome or whatever you prefer.

Using this base version has the advantage that after installing the likes of Firefox or Chromium upgrades to the browser will overwrite the previous installation in upper_changes rather than use addional space to that of any iso-internal version.

INCLUDES small but effective 'eolie' Internet browser; give it a try, you might be surprised
NOTE: I was really only including a browser to help with any html-based documentation reading, but it has proved to be much better than I intended/expected. In my tests, the selected small browser worked well and solidly with all of Youtube, Gmail, Gdrive, BBC news (but bbc video issues), and Facebook. For many, maybe all you need... Also works great for cut'n'paste page contents to cherrytree notes!!! Bound to be some sites it won't work with though, but you can still add your own later via package manager or portable. Note that opened browserTabs show on left side of window.
NOTE 1: Normal users spot and firstrib are in 'wheel' group with special configuration so they do not normally require password for sudo use. If you ever need passwords, by default user:password is root:root, spot:spot and firstrib:firstrib.
NOTE 2: If you boot in save on demand (RAM2) mode, make sure to press the save2ram button on the desktop prior to shutdown. This KLA-OT2base distro still does not include any autosave at shutdown mechanism. Maybe in a later release if there is any, or add mechanism from KLV-Airedale yourself if you want it

Build plug file f_00_Arch_amd64-openboxBASExxxx_jgmenu_600r5.plug is included in the root of the iso so you can rebuild the main root filesystem from scratch (or modify it via mods to the plugin) at any time for latest and greatest package version, though some aspects, such as gpdf would need to be manually added as well as some other small configs. For how to build see REBUILDING FROM SCRATCH near the bottom of very next post: viewtopic.php?p=73555#p73555
To update the distro it is actually easier and more reliable to simply unsquashfs the 07KLA sfs and use utility umount_chroot.sh to chroot into resulting squashfs_root prior to running pacman -Syu. After 'exit' out of the chroot you then simply run ./umount squashfs_root and then use mksquashfs to squash it all up again (if you wish, or simply leave it uncompressed but rename it to 07squashfs_root).

Includes save on demand (FirstRib initrd RAM2) capability and stable FR initrd such that boot partition shows up in filemanager side panel mounted and iso booting supported to some extent - as per KLV-Airedale.

Should work fine with all of Normal frugal install, QEMU, Ventoy, and SG2D including persistence modes, without user boot-time intervention.

Thanks rockedge for iso/boot/grub general arrangement, and fredx181 for save2flash user-script, Puppy Linux dimkr kernel-kit build: currently using huge kernel/modules/firmware from recent Puppy Upup jammy.

KLA-OT2 can be also be used with persistence on NTFS or FAT32 partitions (with .ucimg w_changes savefile; refer to KLV-Airedale for many a FirstRib-related howto). For savefolder use, w_changes boot parameter should however point to a Linux formatted partition.

Regardng Internet browser.

I see no point in bloating a base iso with any large browser users may well not want.
Since fully-Arch-Linux-compatible KLA-OT2 comes with official and complete pacman package manager (think of it like Quickpet...).
To install Firefox, you simply need to open a terminal and (assuming you logged in as user root) enter command:

Code: Select all

pacman -Sy firefox

though, personally, I prefer:

Code: Select all

pacman -Sy chromium

and run that with --no-sandbox (or I suppose, using run-as-spot script; Actually now includes Start Menu -> Chromium-spot item that works well once chromium-browser installed via apt, but would need to specially configure pulseaudio unix or tcp socket to get audio with that being run from root desktop (isn't done). Haven't tested, but possibly fIrefox works fine anyway once installed).

Currently Includes:

1. Cherrytree hierarchical notebook.
I use this for all my own documentation rather than any html or markup based editor. Main reason is I don't like typing too much and you can simply copy and paste from web pages directly into cherrytree.
2. Openbox, Tint2 panel, pcmanfm filemanager.
3. Mtpaint (also scrot/scrox and gnome-screenshot for screenshots), and
the super featureful geeqie image viewer and more (not scrimping with poor image viewers here)
4. Pulseaudio and pavucontrol
5. Wex for audio, video, webcam, screencasts and video recording out of the box!
Uses ffmpeg backend along with the installed pulseaudio system.
6. Gifenc-sel (by fredx181) for making gifs out of videos (integrated to work via button in Wex).
7. Precord for simple audio recording
8. Geany (for text/code editing)
9. Git (useful for online archiving) plus has AUR helper "Trizen". I think you need to run that as user spot. Consult the Arch AUR pages online and Trizen help for usage.
Just noticed I accidentally also left in 'Packages', GUI package manager..., but some will appreciate that.
10. NetworkManager with nm panel applet
11. Gtkdialog, yad, gxmessage, for simple GUI scripts and scripting.
12. UExtract as right-click Thunar actions. No Gdmap, but can fetch version from AUR via Trizen above.
13. rsync, nano, alsautils, filemnt, uextract, wd_extract, wd_mount
14. mpv (AV player)
15. bluez bluez-utils (but you might like to later add blueman to ease usage - consult Arch Wiki for howto Bluetooth for details): https://wiki.archlinux.org/title/bluetooth
16. Xournal - properly working with paste image support too! ;-)
17. Programming languages installed: Lua, Python, Perl, and Bash of course plus yad and gtkdialog (Everything being GTK+3 versions).
18. Absolutely TONS of new utility apps, which are described in provided cherrytree README notebook.
Including simple yad frontends for wd_simpleHTTP and wd_translate (translates text to locale language).
Network apps such as full tcpdump, ngrep, nmon and too many more to describe here (refer to the README available on Desktop).
Most of these utility apps are very useful and I encourage you to make your own yad GUI frontends for some of them.
19. New: gpdf gtkdialog pdf viewer (and more) - thanks to plinej,
exfatprogs, for some ExFAT support (though I haven't tested that at all as yet),
Python html2test commandline utility for those who like that kind of thing
20. basic scientific X11 calculator: xcalc-gtk
21. Window 'tiling' should work too (I forgot to check this time):
Tile top > WindowsSuperKey-UParrow etc...

For more details re: currently installed packages search inside the f_plug file.

-------------------------------------------------------------------------------------------
KLA is a fork of revamped FirstRib Arch-based Openbox/Tint2 distro, including KLV-like tiling hot-keys (as alternative to KLV, Void-Linux-based, Xfce desktop) that I'll shortly be donating for community development/modification/refinement to hopefully benefit from the existing work pioneered by KLV-Airedale. Space just being made for it - coming soon.

Starting as a near identical fork to the FirstRib version, the KLA release to this forum community opens up its development to benefit from the many utility resources KLV-Airedale has brought to the table (I have only myself had time to ensure RAM2 save2flash mode works with it). The FirstRib original is unlikely to get all of these KLV-utilities since it is for a particular business-related purpose of my own so it is also likely to diverge over time - hence my going to release this KLA fork for more general community development. Also no attempt is likely to be made to slim down the size of the FirstRib variant (which starts out considerably larger than typical forum distros with manpages/docs and so on - albeit very resource-usage efficient and fast boot time on my machine at least) whereas the community will be free to remove docs and unwanted apps and whatever as well as adding alternatives and sfs-load type functionality for use of typical community portable apps, as so on ala KLV-Airedale productions, depending on forum feedback and users' wishes. The distro is pretty much 100% Arch Linux compatible - AUR works with it too, and it is a frugal install using FirstRib initrd underneath (like KLV-Airedale in that sense).

Such flexible function-providing dev work takes a long time and benefits best I feel when a community development approach is adopted. In fact, whilst I'll be releasing the first (originally somewhat large) iso of this KLA variant for community to do as they wish with (including the build scripts used to build the root filesystem of that original version along with instructions on use), I don't intent leading this development or thread. I just don't have time these days. It would be good therefore if someone with dev skills (and particularly if they have some Arch Linux experience) will step up to the plate and take over the thread after the initial KLA release to hopefully drive this further Kennel Linux development on in line with all the goodies and functionality now embedded into KLV-Airedale. That should include taking over this first post and future iso creation work since I won't be doing that. Rather I'll be continuing to maintain FirstRib build scripts and initrd and also refining my own FirstRib business-related variant; the FR variant is likely to benefit from the community fork work too of course since all of KLV, KLA and the FirstRib Arch-variant (which will likely also be published every so often) can cherrypick from each other when so wanted. Puppy/Dog utilities as used in KLV should most all be compatible too and many KLV-related utils also can be fed back for use in Puppy or the various Dogs. Since much is being done in KLV-Airedale development, it should be relatively easy to advance KLA development in similar manner since the underlying FirstRib initrd flexible overlayfs functionality is the same in each. Will also be able to use Puppy Linux and similar huge kernel/module/firmware sfs addons (as KLV-Airedale has often been doing) or official upstream Arch Linux kernel and others.

Note that since Arch Linux itself is a rolling-release distro, keeping the original KLA base release up-to-date will simply be a matter of updating via Arch's package manager pacman now and then. The w_changes=RAM2 save2flash functionality will work out of the box as will the usual upper_changes, numbered addons (sfs or uncompressed), rollback and so on work identically per KLV-Airedale functionality.

I'm currently working on the slimmed down modules for the initrd for this and then the iso production. The FirstRib variant has been tested for a few weeks now and running fine (looking good on low resource usage too) - hopefully therefore just a few more days till this KLA fork release.

Attachments
btop_top_free.jpg
btop_top_free.jpg (111.5 KiB) Viewed 5619 times
FirstRib_AOT2jgmenu.jpg
FirstRib_AOT2jgmenu.jpg (65.27 KiB) Viewed 5624 times
Last edited by wiak on Fri Mar 10, 2023 11:36 pm, edited 42 times in total.

https://www.tinylinux.info/
DOWNLOAD wd_multi for hundreds of 'distros' at your fingertips: viewtopic.php?p=99154#p99154
Αξίζει να μεταφραστεί;

User avatar
wiak
Posts: 3627
Joined: Tue Dec 03, 2019 6:10 am
Location: Packing - big job
Has thanked: 56 times
Been thanked: 994 times
Contact:

Re: Community 'fork' seeking dev lead after release

Post by wiak »

The attached script will download 1.5 GiB KLA_OT2 64bit iso (Kennel Linux Arch-Linux rolling Openbox/tint2/jgmenu forked from FirstRib_AOT2). The iso is kindly hosted by rockedge, thanks. Frugal install in same manner as KLV-Airedale: after extracting iso run ./wd_grubconfig to get grub.cfg and menu.lst stanzas

Yes, hasn't been stripped of docs or language files and includes two kernels with their individual firmware and modules: that of vupup version 5.10.x and that of official Arch Linux 6.0.9

It is being offered here to the community to do what you wish with it.

I have included (slightly modified to /usr/local/bin) save2flash utility scripts by fredx181 and others (uses wd_changes=RAM2 mode, similar to Pupmode 13, by default).
However, I have not included the other equally usable system scripts, such as sfs_load, from KLV-Airedale.

The original FirstRib_AOT2 is being developed for business purposes, hence this currently identical fork is likely to become vastly different overall in its KLV form.

In particular I recommend KLA_OT2 to be:

1. Stripped down to smaller size by slimming down docs firmware and changing apps and so on. With sharp razor and care it should be possible to get it down to around KLV-Airedale size.

2. Have other useful utility apps from KLV-Airedale, Pups, and Dogs included where the community considers these useful enhancements, such as sfs-load mechanism from KLV-Airedale.

Since upstream Arch repos provide rolling release it is generally a trivial matter to keep KLA_OT2 up-to-date.

In fact, with main build script utilities (to rebuild the main rootfilesystem and initrd.img) all included within the iso there is a lot that can be done with this system - the sky is almost the limit and especially since upstream Arch provides such good documentation and the system uses Arch pacman official package manager.

Aside from the fact it uses upstream Arch Linux and not Void Linux, much of the information and development work being discussed for KLV-Airedale also apply to KLA_OT2, but being a simpler desktop environment (openbox/tint2/jgmenu in Python) KLA_OT2 may prove particularly useful on lower-powered machines (though KLV-Airedale pretty efficient anyway). Even if it isn't stripped much in size, please remember that disk storage space is not itself relevant to the efficiency of the running distro (unless you wanted to load it all into RAM for some reason, which I generally don't recommend or see much point of doing nowadays other than for virtual machine use).

To install:

Simply extract the iso into the directory you wish to frugal install from. Then:

run command:

Code: Select all

./wd_grubconfig

which will provide your machine-specific grub (or menu.lst) stanza to boot it.

Using that stanza, by default, it will boot in w_changes=RAM2 mode, which is similar to Pupmode 13.

By default KLA_OT2 is booting via provided vupup kernel. If you wish to try the included Arch official 6.0.9 included I will post a short howto in a follow-up post shortly. The vupup kennel components do result in lower startup RAM however, and provide an example of how to use the likes of Puppy huge kernels with the system.

Per first post of this thread,

NOTE WELL: Someone dev-capable-interested forum member is requested to put up their hand to take on the lead of this KLA_OT2 project and the first post owner name changed appropriately to allow new download information to be modified appropriately when any later versions of KLA_OT2 are produced by the community.

I am too busy myself to work on it, though I will continue to develop FR_AOT2 which KLA is being forked from. However, I am unlikely to add much to FR_AOT2 itself since that is for business purposes and I plan to concentrate mainly in supporting FirstRib initrd and build system components rather than any particular distro that use any of these parts.

I will, however, contribute also via further help documentation since that is part of maintaining FirstRib initrd and build system anyway.

QEMU, SG2D, Ventoy and so on:

I do not know if the iso I produced works with any of qemu, sg2d or ventoy since I did not have time to investigate (for EFI and so on I simply copied stuff out of a fredx181 DebianDog without testing or knowing if correct for my purpose). May partly work or not work at all - that is a matter for later community development according to their own wishes - current KLA_OT2 is being provided as-is, though boots quicky and runs efficiently for me on my own machines.

TIP: One accurate and simple way to develop this iso (without needing remaster script) is to install it as a pseudo full install, where the main 07firstrib_rootfs.sfs is uncompressed at installation time and renamed to upper_changes (and thus becomes read-write when first used). For that pseudo full install method to work you do also need to create a dummy (empty folder) called 07dummy. That's all there is to that install mechanism. Once you have the distro working as you wish you can then recompress (mksquashfs) the final upper_changes back into 07firstrib_rootfs.sfs form (the filename itself can be anything you like as long as it includes these two numeric digits at the front to indicate the overlay layer position).

cheers, wiak

EDIT: By all means, report back bugs, successes and failures in this thread, since I will certainly post likely reasons for the future maintainer to help fix any such issues. I do need the community (volunteer KLA project leader) to implement any such bug fixes and produce new isos and so on though. Note: user/passwords are simply root/root and, currently, normal user firstrib/firstrib

EDIT2: The build scripts for producing the provided root filesystem are provided within the iso root folder. I will explain in a later post how to rebuild using these from scratch (or someone like rockedge can explain). When I first posted the iso to rockedge I included the following extra info (re: brightness, volume and build scripts) that I don't have time right now to re-draft more carefully:

"Try with default vupup kernel (default configured) first - that gives lowest free RAM report as it happens - probably because earlier kernel.

Volume icon uses middle mouse to change volume. Right click to get pavucontrol. The Battery icon is used by middle mouse button to increase intel backlight brightness. The 'other brightness mechanism (right-click with mouse on battery icon) uses xrandr to simply dim the display and remove blue light - I can't remember the details I put in so just experiment. filemnt should work.
I haven't cut out docs or language files nor investigated smaller firmware since I'm not bothered about these factors for this one myself, but my view is that it is easier to chop down a working distro than to work out how to build it up to polished form so makes a good project for someone (not me) to do so. The initrd.img was also created using FR_makeinitrd.sh (and its dep script). I've included the main utilities with the iso so good for experimenting.
NOTE WELL: On install you should run script wd_grubconfig to get grub entries that match where you stored the frugal components. I'm now using initrd.img rather than initrd.gz so that I can easily change compression types and still call initrd.img...
NOTE ALSO: As provided it is set up to work with vupup kernel/modules/firmware , but official Arch kernel is also there as an alternative; to use that just put D in from of the current 00modules and 01firmware filenames and the vmlinuz (i.e. D00modulesXXX.sfs D01firmwareXXX.sfs and Dvmlinuz) and then rename the vmlinuz_ArchOfficial simply to vmlinuz prior to booting. So easy to swap between such provided alternative kernels and official one."

REBUILDING FROM SCRATCH

If you ever want to rebuild the 07firstrib_rootfs (the main distro root filesystem) the way to do so is simplicity itself:

1. Open a terminal at the directory where you have your KLA_OT2 frugal install.

2. Enter the command:

Code: Select all

./build_firstrib_rootfs.sh arch default amd64 f_00_Arch_amd64-openboxFull_jgmenu_600r2.plug

(ignore any trap and tar error messages...)

Of course you could first edit the text plugin file f_00_Arch_amd64-openboxFull_jgmenu_600r2.plug to add or delete whatever apps and so on you wish first... simple build system you see.

Sit back and drink some coffee. A new directory called firstrib_rootfs containing the new root filesystem will be automatically created.

3. You can now disable the previous 07firstrib_rootfs.sfs by putting a D in front of the filename (i.e. D07firstrib_rootfs.sfs).

4. Assuming you continue to use the vupup kernel you don't need to modify the initrd.img so all you need to do to run your new build is change name of directory firstrib_rootfs to 07firstrib_rootfs. Note that you do not need to squash that up to an sfs (unless you want to) - it will be used as is.

Now just reboot and new build should be working.

TOTALLY OPTIONAL: If you instead wanted to build a new initrd.img (for those who are planning to use official Arch kernel):

1. Once directory firstrib_rootfs build has completed (prior to renaming the directory):

run the command:

Code: Select all

./FRmake_initrd.sh latest

A new initrdXXX.img file will be auto created and you can rename it to initrd.img so it works with your already configured grub.

Last edited by wiak on Tue Feb 14, 2023 10:36 pm, edited 2 times in total.

https://www.tinylinux.info/
DOWNLOAD wd_multi for hundreds of 'distros' at your fingertips: viewtopic.php?p=99154#p99154
Αξίζει να μεταφραστεί;

Clarity
Posts: 3270
Joined: Fri Jul 24, 2020 10:59 pm
Has thanked: 1347 times
Been thanked: 438 times

Re: Community 'fork' seeking dev lead after release

Post by Clarity »

QEMU
AFter the ISO file downloaded, it took 40 seconds to get to a desktop to test it.

  • Acquired the tar

  • renamed tar to ...sh

  • gave ...sh 'execute' priviledge

  • ran the ...sh to download the ISO file

  • After downloading ISO file, open a terminal

  • Entered

    Code: Select all

    qemu-system-x86_64 -enable-kvm -m 2G -vga std -smp 2 -device AC97 -cdrom /root/Erasedis/KLA_OT2.iso
  • Allowed ISO file to boot with NO console changes

  • Several early "red" message early then boot continues

    Could be missng a system drive
    Could be missng a system drive
    KLA-QEMU_013-messages.jpg (26.04 KiB) Viewed 5373 times
  • This ISO file boots to a functioning forum distro desktop

    KLA-QEMU_014.jpg
    KLA-QEMU_014.jpg (94.48 KiB) Viewed 5373 times
  • Reviewed Menu options

    KLA-QEMU_043-desktop.jpg
    KLA-QEMU_043-desktop.jpg (20.84 KiB) Viewed 5373 times
  • Menu>Poweroff

  • Entered 'K' key to exit

....No issues thus far in testing! :thumbup:

Clarity
Posts: 3270
Joined: Fri Jul 24, 2020 10:59 pm
Has thanked: 1347 times
Been thanked: 438 times

Re: Community 'fork' seeking dev lead after release

Post by Clarity »

SG2D
When booting the KLA on bare-metal from its ISO file, it abends at boot-time. ISO file boot cannot find its boot contents.

SG2D discovery
SG2D discovery
KLA-error1.jpg (77.57 KiB) Viewed 5328 times
KLA Menu selection
KLA Menu selection
KLA-error2.jpg (40.42 KiB) Viewed 5328 times
KLA cannot navigate to its file needs
KLA cannot navigate to its file needs
KLA-error3.jpg (35.03 KiB) Viewed 5328 times
User avatar
wiak
Posts: 3627
Joined: Tue Dec 03, 2019 6:10 am
Location: Packing - big job
Has thanked: 56 times
Been thanked: 994 times
Contact:

Re: Community 'fork' seeking dev lead after release

Post by wiak »

That's unfortunate about SG2D. I have forgotten how to make isos to a large extent in terms of being bootable so I have no idea. Like I said, I just threw in some EFI stuff out of a debiandog and hoped for the unlikely best about that sorry. If klv Airedale booting ok with SG2D then so could KLA if someone did a better job of packaging it as an iso. I'm not myself planning to - just provided iso as a download format for extraction for typical frugal install. That much worked for me but boot from iso not tested and realized unlikely therefore working till someone makes iso better, which is not 'my thing'. If no-one wants to take the KLA dev lead on, it won't progress, which is ok and up to the community.

But potentially I think you could find it pretty solid as a really quite resource efficient distro with many different types of possible re-development tracks (thicker/thinner) including adding Wayland/Sway/whatever (which I tried successfully with the original very quickly a year or more ago). What helps a lot in such dev work is that being fully Arch Linux upstream compatible everything in the Arch Wiki applies exactly - which is a huge documentation resource. Yet different from most Arch-based designs because of the FirstRib overlayfs initrd core, that provides all the save2flash frugal compressed and uncompressed layer support.

The simple rebuid firstrib_rootfs system via modification of the f_ file plugin is key to how easy it is to mould into different shapes and forms. Meanwhile I'll continue to maintain that build system and core initrd in the background whatever is used or not used by this community. Hope somebody finds it useful to them anyway.

https://www.tinylinux.info/
DOWNLOAD wd_multi for hundreds of 'distros' at your fingertips: viewtopic.php?p=99154#p99154
Αξίζει να μεταφραστεί;

User avatar
wiak
Posts: 3627
Joined: Tue Dec 03, 2019 6:10 am
Location: Packing - big job
Has thanked: 56 times
Been thanked: 994 times
Contact:

Re: Community 'fork' seeking dev lead after release

Post by wiak »

If you ever need to open filemanager at your bootfrom partition and directory, which you probably want to sometimes, you will find it under Filesystem -> mnt directory. Also the contents of any mounted layer will be found in /mnt/layers, which can prove pretty handy.

https://www.tinylinux.info/
DOWNLOAD wd_multi for hundreds of 'distros' at your fingertips: viewtopic.php?p=99154#p99154
Αξίζει να μεταφραστεί;

User avatar
wiak
Posts: 3627
Joined: Tue Dec 03, 2019 6:10 am
Location: Packing - big job
Has thanked: 56 times
Been thanked: 994 times
Contact:

Re: Community 'fork' seeking dev lead after release

Post by wiak »

Clarity wrote: Fri Nov 25, 2022 12:10 pm

SG2D
When booting the KLA on bare-metal from its ISO file, it abends at boot-time. ISO file boot cannot find its boot contents.KLA-error1.jpgKLA-error2.jpgKLA-error3.jpg

This much I'll probably look into eventually. Busy time here just now - partner just about to arrive home from international business trip so will be a delay prior to my checking anything further.

Disappointed no one has yet raised their hand to develop KLA from provided pretty reasonable (I feel) starting point; so much from KLV could be added to it and could become pretty successful distro in same vein as KLV but alternative upstream repo that can be useful for those that like Arch, but lighter using openbox/tint2 rather than XFCE (which could easily be added as alternative of course). Doesn't matter though, since using Arch upstream rolling distro KLA shouldn't go out of date for long... time and main thing is that w_changes=RAM2 save2flash is working out of the box. Next thing I'm likely to be getting back to (summer weather here now though) is 'firstribit' (was weedogit) since several recent developments could theoretically find there way into firstribit (e.g. slimming down the initrd.img and perhaps even the FRmake_intrd follow on and alternative to build_wiak_initrd script; though not sure about that replacement possibility right now).

https://www.tinylinux.info/
DOWNLOAD wd_multi for hundreds of 'distros' at your fingertips: viewtopic.php?p=99154#p99154
Αξίζει να μεταφραστεί;

User avatar
rockedge
Site Admin
Posts: 5711
Joined: Mon Dec 02, 2019 1:38 am
Location: Connecticut,U.S.A.
Has thanked: 1990 times
Been thanked: 2097 times
Contact:

Re: Community 'fork' seeking dev lead after release

Post by rockedge »

If I can get CUPS to work with network printers I will take a look and get the ball rolling

User avatar
Sofiya
Posts: 1803
Joined: Tue Dec 07, 2021 9:49 pm
Has thanked: 1202 times
Been thanked: 1076 times

Re: Community 'fork' seeking dev lead after release

Post by Sofiya »

WOW .... this is the fastest download of all downloads :thumbup:
Wow ! This is my favorite Arch.... :D
If you bring it to mind, it will be the smartest of puppies.

Attachments
Screenshot.jpg
Screenshot.jpg (101.97 KiB) Viewed 4629 times
Last edited by Sofiya on Thu Jan 19, 2023 7:19 pm, edited 5 times in total.

Vanilla Dpup 9.2.X - KLV-Airedale - KLA-OT2
PUPPY LINUX Simple fast free

User avatar
rockedge
Site Admin
Posts: 5711
Joined: Mon Dec 02, 2019 1:38 am
Location: Connecticut,U.S.A.
Has thanked: 1990 times
Been thanked: 2097 times
Contact:

Re: Community 'fork' seeking dev lead after release

Post by rockedge »

I am also using KLA in a KLV host with really good performance from both machines. Also using KLA as a VM in F96_5-radky6-CE which I am testing with Pkg2 replacing Pkg, which is the only change from F96_4

@Sofiya We will be starting to add the tools and utilities from KLV-Airedale to this KLA as work on it goes forward. Now that KL-Airedale is at rc8 and stable, there is time to bring out this distro's true potential.

Help will be appreciated :thumbup2:

User avatar
Sofiya
Posts: 1803
Joined: Tue Dec 07, 2021 9:49 pm
Has thanked: 1202 times
Been thanked: 1076 times

Re: Community 'fork' seeking dev lead after release

Post by Sofiya »

5 parallel downloads are already included, that's cool :) .
the image is saved on a flash drive and loaded directly from it

qemu-system-x86_64 -enable-kvm -m 4096 -vga std -smp 2 -device AC97 -cdrom /run/media/root/MULTISYSTEM/KLA_OT2.iso

Attachments
Screenshot.jpg
Screenshot.jpg (31.24 KiB) Viewed 3950 times
Last edited by Sofiya on Fri Jan 20, 2023 5:58 pm, edited 1 time in total.

Vanilla Dpup 9.2.X - KLV-Airedale - KLA-OT2
PUPPY LINUX Simple fast free

User avatar
Sofiya
Posts: 1803
Joined: Tue Dec 07, 2021 9:49 pm
Has thanked: 1202 times
Been thanked: 1076 times

Re: Community 'fork' seeking dev lead after release

Post by Sofiya »

rockedge wrote: Thu Jan 19, 2023 4:16 pm

I am also using KLA in a KLV host with really good performance from both machines. Also using KLA as a VM in F96_5-radky6-CE which I am testing with Pkg2 replacing Pkg, which is the only change from F96_4

@Sofiya We will be starting to add the tools and utilities from KLV-Airedale to this KLA as work on it goes forward. Now that KL-Airedale is at rc8 and stable, there is time to bring out this distro's true potential.

Help will be appreciated :thumbup2:

@rockedge how do you communicate between KLV-Airedale and Qemu, transfer files back and forth ?
I'm probably missing something

Vanilla Dpup 9.2.X - KLV-Airedale - KLA-OT2
PUPPY LINUX Simple fast free

User avatar
Sofiya
Posts: 1803
Joined: Tue Dec 07, 2021 9:49 pm
Has thanked: 1202 times
Been thanked: 1076 times

Re: Community 'fork' seeking dev lead after release

Post by Sofiya »

I haven't had Tin2 for a long time, I need to remember the settings :D

surprisingly almost all scripts from my Tint2 "former" work
battery and network need to be configured :) I only have a wifi script

Attachments
Screenshot.jpg
Screenshot.jpg (35.86 KiB) Viewed 3902 times

Vanilla Dpup 9.2.X - KLV-Airedale - KLA-OT2
PUPPY LINUX Simple fast free

User avatar
wiak
Posts: 3627
Joined: Tue Dec 03, 2019 6:10 am
Location: Packing - big job
Has thanked: 56 times
Been thanked: 994 times
Contact:

Re: Community 'fork' seeking dev lead after release

Post by wiak »

Sofiya wrote: Thu Jan 19, 2023 7:47 pm

@rockedge how do you communicate between KLV-Airedale and Qemu, transfer files back and forth ?
I'm probably missing something

Rather than using the likes of ftp server/client (which is an ok alternative), here is step by step how I myself do it using the 9p (Plan 9) shared folder mechanism I briefly described in another thread:

1. I use filemanager to go to location of an iso I want to boot in Qemu, and open a terminal there.

2. This step is optional except you may well need it for save persistence since this can be used as sda1 for RAM2 save on demand KLV guest persistence once formatted: If not already made, I create a qcom2 image that I will attach for use of the qemu booted iso. For example:

Code: Select all

qemu-img create -f qcow2 example.qcow2 5G

First time I boot a guest VM with that qcow2 image attached, I'll use gparted to partition and format example.qcow2. At that initial format qcow2 stage I also give a partition LABEL 'Persistence' so I can easily then use it with KLV-Airedale save on demand RAM2 mode Persistence/Sessions. Then I reboot the VM guest to actually use the qcow2 image for save persistence and so on. There are other tools available you can install on your host system for manipulating and mounting qcow2 images, but I just tend to use VM guest in RAM0 mode to do the required format qcow2 image work.

3. IMPORTANT! Prior to starting the qemu VM guest: On host machine I activate 9p (Plan 9) filesharing capability, which is simply a matter of doing command:

Code: Select all

modprobe 9p

4. Still at location of where the iso I want to qemu boot is, I now enter the qemu start command in the terminal. Personally I keep a selection of such qemu command lines stored in my cherrytree notebook. For example:

Code: Select all

qemu-system-x86_64 -enable-kvm -m 2G -vga cirrus -smp 2 -device AC97 -cdrom KLV-Airedale-rc8.iso -hda example.qcow2 -boot d \

NOTE WELL the space followed by the backslash at the end of the above line, which causes terminal to wait for further input.

5. To the above I now copy and paste the "use 9p file sharing between host and guest additional qemu string" (from my stored qemu commands), which is:

Code: Select all

-fsdev local,security_model=mapped,id=fsdev-fs0,multidevs=remap,path=. -device virtio-9p-pci,id=fs0,fsdev=fsdev-fs0,mount_tag=fs0

That shares the current directory of the host (where the KLV-Airedale-rc8.iso is in this case) with the guest VM. You can however change the "path=." (dot being current directory) to any path=PATH of the host system you want to share.

6. The above causes the iso to boot in qemu with 9p sharing enabled, but to use 9p you still need to mount the shared host PATH in the guest VM once it has booted. To do that the very first time, I do it manually with the two commands:

Code: Select all

mkdir -p /mnt/inst
mount -t 9p -o trans=virtio fs0 /mnt/inst -oversion=9p2000.L,posixacl,msize=5000000,cache=mmap

However, it is painful having to do that since the command is difficult to get correct (you can however browse internet in guest VM to this post to easy cut/paste these commands though), so the first thing I copy across to the guest VM is a simple script (attached) containing just these two commands, which I make executable and put in guest VM /usr/local/bin such that, via save persistence, on next boot I just need to run the command:

Code: Select all

9p_guest.sh

on subsequent boots.

7. That's all. The path=PATH directory is now available in the guest VM filemanager at location /mnt/inst for sharing anything you want in either direction back and forth between host and guest.

Attachments
qemu_KLV_host_and_guest.jpg
qemu_KLV_host_and_guest.jpg (33.55 KiB) Viewed 3860 times
9p_guest.sh.tar
remove dummy tar
(124 Bytes) Downloaded 44 times
Last edited by wiak on Fri Jan 20, 2023 7:52 am, edited 1 time in total.

https://www.tinylinux.info/
DOWNLOAD wd_multi for hundreds of 'distros' at your fingertips: viewtopic.php?p=99154#p99154
Αξίζει να μεταφραστεί;

User avatar
Sofiya
Posts: 1803
Joined: Tue Dec 07, 2021 9:49 pm
Has thanked: 1202 times
Been thanked: 1076 times

Re: Community 'fork' seeking dev lead after release

Post by Sofiya »

I notice that the network icon does not always appear when loading KLA_OT2

and the Chromium browser is terrible :thumbdown:

Attachments
Screenshot.jpg
Screenshot.jpg (959 Bytes) Viewed 3853 times

Vanilla Dpup 9.2.X - KLV-Airedale - KLA-OT2
PUPPY LINUX Simple fast free

User avatar
wiak
Posts: 3627
Joined: Tue Dec 03, 2019 6:10 am
Location: Packing - big job
Has thanked: 56 times
Been thanked: 994 times
Contact:

Re: Community 'fork' seeking dev lead after release

Post by wiak »

Sofiya wrote: Fri Jan 20, 2023 12:54 am

I notice that the network icon does not always appear when loading KLA_OT2

and the Chromium browser is terrible :thumbdown:

Haven't seen that network icon issue. You can only say it sometimes disappears if you are using pristine install - else you may have broken it! I don't know -as far as I remember it is normal netmanager-applet icon - that can get wrecked (I've seen it vanish never to return on my Zorin system; but always as a result of something I've done) - maybe you experimenting with your own tint2 themes - just demonstrate it isn't there on new pristine install and will be looked into if ever have time...

But, the Chromium browser...???...what is wrong with that?! It is Arch Linux compiled official Chromium and it is wonderful in my opinion, having used it for years! Oh well, each to their own tastes I suppose... sigh

https://www.tinylinux.info/
DOWNLOAD wd_multi for hundreds of 'distros' at your fingertips: viewtopic.php?p=99154#p99154
Αξίζει να μεταφραστεί;

User avatar
wiak
Posts: 3627
Joined: Tue Dec 03, 2019 6:10 am
Location: Packing - big job
Has thanked: 56 times
Been thanked: 994 times
Contact:

Re: Community 'fork' seeking dev lead after release

Post by wiak »

Obviously I haven't created the optimum isolinux/live.cfg file (and would likely be better using grub2 or grub4dos like KLV to boot). However, you can use save on demand RAM2 persistence when booting via qemu if you press TAB key to edit the isolinux menu displayed during boot. To get that RAM2 mode you need to change the w_changes=RAM0 to instead:

Code: Select all

w_changes=/mnt/sda1/KLA w_changes1=RAM2

on the kernel linux line. Note that doesn't matter what LABEL the /mnt/sda1 partition has (if any) since I'm not locating savefolder via LABEL method here.

Of course you must have something like a qcow2 image attached as -hda XXX.qcow2 in your qemu boot command and that must have been previously formatted with Linux format so that the savefolder can be stored there on /mnt/sda1.

After booting, and creating anything new on the filesystem, when you then issue command: save2flash (or press the icon that does that) the upper_changes savefolder will automatically be created on that qcow2 image in location /mnt/sda1/KLA/upper_changes

NOTE: In my test, I used same example.qcow2 image I have been using for KLV-Airedale qemu boots in RAM2 mode so that already had a /mnt/sda1/KLV-Airedale-rc8/upper_changes savefolder, but that is fine. In fact, because I'd already copied 9p_guest.sh into KLV-AIredale /usr/local/bin, I was able to quickly copy that file into my KLA/usr/local/bin by copying it from /mnt/sda1/KLV-Airedale-rc8/upper_changes/usr/local/bin/9p_guest.sh. So I was immediately thereafter able to share files between my KLV guest VM and the underlying host system I had started it from (via /mnt/inst, which I was using as the 9p share mount).

Yes, you could have used a /mnt/sda1 qcow2 image that had that partition labelled as 'Persistence' if you wished. Then the original w_changes=RAM0 line would be instead entered as:

Code: Select all

w_changes=LABEL=Persistence=/Sessions/KLA  w_changes1=RAM2

Unfortunately it seems you can't share the same qcow2 image between two qemu guests at exactly the same time. Not surprising I suppose since it is read/write filesystem so is locked for the use of whoever gets it first. On second thoughts, seems might be a way of sharing the bulk of it all - I still have to digest and try this to see if true - that would be handy (would remind me of old User Mode Linux sharing filesystems between tons of guests...): https://www.unixmen.com/qemu-kvm-using-copy-write-mode/
https://stackoverflow.com/questions/405 ... ngle-image
COW type use is great for creating networks of virtual machines on even quite low-resourced host system.

Last edited by wiak on Fri Jan 20, 2023 10:38 am, edited 1 time in total.

https://www.tinylinux.info/
DOWNLOAD wd_multi for hundreds of 'distros' at your fingertips: viewtopic.php?p=99154#p99154
Αξίζει να μεταφραστεί;

Clarity
Posts: 3270
Joined: Fri Jul 24, 2020 10:59 pm
Has thanked: 1347 times
Been thanked: 438 times

Re: Community 'fork' seeking dev lead after release

Post by Clarity »

Hi @Sofiya

You have asked 2 very good questions

  • sharing files between the VMs and your host

  • boot & run VMs

Boot-run
Although I haven't posted such, I do have and use a storage "WITHIN" my production VMs. On my system drive I have a folder that is named QEMU-Storage.qcow2 (you can choose ANY name for this storage of YOUR choosing), This is created as @wiak shares using the step, first, to create it, then a definition in my stanza to use it. As he shows you define a 15GB storage for VM use as follows:

Code: Select all

qemu-img create -f qcow2 example.qcow2 15G

Then when you ready to boot, add it to your QEMU stanza and once on desktop format it to your liking. I use Gparted to format mine to ext4, labeled Persistence, and add a folder on it as 'Sessions' where all forum distro saves are kept within it. Using your stanza

Code: Select all

qemu-system-x86_64 -enable-kvm -m 4G -vga std -smp 2 -device AC97 -cdrom KLA_OT2.iso -hda /mnt/somewhere/example.qcow2

When this boots, you'll see the sdaX icon on your desktop for formating.

Sharing files between host & VMs
I recommend SAMBA sharing. Reason: ALL users understand SAMBA sharing; its works, its easy, and it speedy.
BUT, there is a problem as some have had problems with definition of the stanza to have that support. I intend to present that, but, have been so busy I haven't gotten to it yet. It may be 10 days before I am totally free and can address it in an upcoming manual for QEMU-KVM for KLV users as well as sharing it, here, in the KLV areas.

User avatar
Sofiya
Posts: 1803
Joined: Tue Dec 07, 2021 9:49 pm
Has thanked: 1202 times
Been thanked: 1076 times

Re: Community 'fork' seeking dev lead after release

Post by Sofiya »

wiak wrote: Fri Jan 20, 2023 8:32 am

Haven't seen that network icon issue. You can only say it sometimes disappears if you are using pristine install - else you may have broken it! I don't know -as far as I remember it is normal netmanager-applet icon - that can get wrecked (I've seen it vanish never to return on my Zorin system; but always as a result of something I've done) - maybe you experimenting with your own tint2 themes - just demonstrate it isn't there on new pristine install and will be looked into if ever have time...

apparently the last time the image was downloaded broken, downloaded again with the network everything is in order.
it turns out that it happens

Attachments
Screenshot.jpg
Screenshot.jpg (7.96 KiB) Viewed 3772 times

Vanilla Dpup 9.2.X - KLV-Airedale - KLA-OT2
PUPPY LINUX Simple fast free

User avatar
wiak
Posts: 3627
Joined: Tue Dec 03, 2019 6:10 am
Location: Packing - big job
Has thanked: 56 times
Been thanked: 994 times
Contact:

Re: Community 'fork' seeking dev lead after release

Post by wiak »

Sofiya wrote: Fri Jan 20, 2023 11:42 am
wiak wrote: Fri Jan 20, 2023 8:32 am

Haven't seen that network icon issue. You can only say it sometimes disappears if you are using pristine install - else you may have broken it! I don't know -as far as I remember it is normal netmanager-applet icon - that can get wrecked (I've seen it vanish never to return on my Zorin system; but always as a result of something I've done) - maybe you experimenting with your own tint2 themes - just demonstrate it isn't there on new pristine install and will be looked into if ever have time...

apparently the last time the image was downloaded broken, downloaded again with the network everything is in order.
it turns out that it happens

network icon (as in nm-applet) does seem to get lost now and again for some reason unknown. As I say, I've seen that happen on Zorin, though that's XFCE-based, not tint2 (don't know if I have seen it happen with KLA - I can't remember), but on Zorin at least is something to do with something installed or changed. I never did find out what, and re-installed Zorin hasn't given me that issue again, but it can happen for sure!

Last edited by wiak on Fri Jan 20, 2023 10:03 pm, edited 1 time in total.

https://www.tinylinux.info/
DOWNLOAD wd_multi for hundreds of 'distros' at your fingertips: viewtopic.php?p=99154#p99154
Αξίζει να μεταφραστεί;

User avatar
Sofiya
Posts: 1803
Joined: Tue Dec 07, 2021 9:49 pm
Has thanked: 1202 times
Been thanked: 1076 times

Re: Community 'fork' seeking dev lead after release

Post by Sofiya »

The panel is configured nothing disappears, which is very pleasing :)
The rest is a matter of technology, as they say, the eyes are afraid of the hands do :)
site for setting up Tint2 https://gitlab.com/o9000/tint2/blob/master/doc/tint2.md
AQEMU:
/bin/qemu-system-x86_64 -smp 2 -vga std -machine accel=kvm -m 4096 -cdrom "/run/media/root/MULTISYSTEM/KLA_OT2.iso" -hda "/root/.aqemu/KLA_OT2_x86_64_HDA.img" -boot once=d,menu=off -net nic -net user -rtc base=localtime -name "KLA_OT2_x86_64" "$@"

Attachments
Screenshot.jpg
Screenshot.jpg (33.04 KiB) Viewed 5615 times
Last edited by Sofiya on Mon Jan 23, 2023 2:15 pm, edited 1 time in total.

Vanilla Dpup 9.2.X - KLV-Airedale - KLA-OT2
PUPPY LINUX Simple fast free

User avatar
wiak
Posts: 3627
Joined: Tue Dec 03, 2019 6:10 am
Location: Packing - big job
Has thanked: 56 times
Been thanked: 994 times
Contact:

Re: Community 'fork' seeking dev lead after release

Post by wiak »

@Sofiya:

One hopefully useful fact about the KLA_OT2 release is that build plugin for it is complete. If you re-run the simple build script with the provided in the iso f_XXX build plugin a new root filesystem will be made and will be exactly the same as what is in the iso.

It is possible therefore to include new ideas permanently in a way that others can also use if you manage to put any new work you have experimented with into the simple f_XXX build plugin (for KLA_OT2 that build 'plugin' file is named f_00_Arch_amd64-openboxFull_jgmenu_600r2.plug; the actual build script is called build_firstrib_rootfs.sh).

Whilst it is not always easy to write new ideas into coded plugin form, it isn't too difficult either; you just need some practice doing it and various 'tricks' can be used to include more difficult modifications and extras. To get up to speed at that, best is to first simply try a simple rebuild using the provided f_00_Arch_amd64-openboxFull_jgmenu_600r2.plug unmodified. When I say the resulting root filesystem will be exactly the same as was provided in the iso, that is not quite correct - it will use the latest Arch Linux released packages so it will be better than what the iso provides by default!

I explained how simple this rebuild is in the second post of this thread. Of course, a rebuild will take the form of a normal frugal install into an empty build directory:

https://forum.puppylinux.com/viewtopic. ... 555#p73555

REBUILDING FROM SCRATCH

If you ever want to rebuild the 07firstrib_rootfs (the main distro root filesystem) the way to do so is simplicity itself:

1. Open a terminal at the directory where you have your KLA_OT2 frugal install.

2. Enter the command:

Code: Select all

./build_firstrib_rootfs.sh arch default amd64 f_00_Arch_amd64-openboxFull_jgmenu_600r2.plug
(ignore any trap and tar error messages...)

Of course you could first edit the text plugin file f_00_Arch_amd64-openboxFull_jgmenu_600r2.plug to add or delete whatever apps and so on you wish first... simple build system you see.

Sit back and drink some coffee. A new directory called firstrib_rootfs containing the new root filesystem will be automatically created.

Don't be afraid to try this. It really is pretty easy to do. Rockedge himself started making such builds in exactly the same manner back in early 2019 when firstrib build system first became available.

A really major idea of FIrstRib building is to make it absolutely not require any experience of using the likes of git. Just a couple of simple scripts (no big 'build system' needing downloaded) that can be published directly on this forum and used by anyone who wants to make their own build design or easily modify existing one). I have nothing against git; in fact I use it to save copies of most stuff I work on, so could revert back to earlier versions if I wanted to (which pretty much never happens in practice); i.e. for simple FirstRIb builds, git is simply not needed and people wanting to make FirstRIb-based distros don't have that burden of having to know anything about git at all - the build discussions and work can all be done here on the forum. KLV-Airedale is testament to the fact that the simple FirstRib build system works fine for our purposes. For brief usage/help on using most all FirstRib scripts, and in particular build_firstrib_rootfs.sh, simply enter command:

Code: Select all

./build_firstrib_rootfs.sh --help

at whatever directory you have that build script in (which in practice you normally simply copy it into the directory you plan to make a new build in if it is not already there...).

Of course, an alternative to using build_firstrib_rootfs.sh is to simply 'borrow' pretty much any existing root filesystem from somewhere else and use FR initrd to boot that..., but the f_ plugin builds like KLV-AIredale are nice because they provide good recipe for re-use and improving the result and are as unique as the f_plugin writer makes them.

Some other 'build systems' force a core build and only provide for minor alterations by other than the build system designer (who thus has ultimate power over design possibilities), and changes can be very difficult (near impossible aside from remasters) to make to what is provided by the underlying core build. FirstRIb simple script method, on the other hand, allows builder to change anything and everything and no arduous efforts are used in making any core build at all so it is a very easy build system to maintain (almost nothing to do maintaining FR build system scripts really aside from an occasional update to an upstream repo url or some such).

https://www.tinylinux.info/
DOWNLOAD wd_multi for hundreds of 'distros' at your fingertips: viewtopic.php?p=99154#p99154
Αξίζει να μεταφραστεί;

Clarity
Posts: 3270
Joined: Fri Jul 24, 2020 10:59 pm
Has thanked: 1347 times
Been thanked: 438 times

Community 'fork' seeking dev lead after release

Post by Clarity »

I posted to this thread a couple days ago that I would NOT be able to respond for several days to show steps to exchange information from your VM to your host.

I have NOT created the NEW QEMU-KVM for KLV-KLA document. It will be addressed at the end-of-the month.

For now, I have posted these instructions for use to Share information between your VMs and your host system.

This ALSO allows members to use the printers (and other devices that are shared too) that the hosts has connected to it.

Enjoy

Last edited by Clarity on Sat Jan 21, 2023 9:08 pm, edited 1 time in total.
User avatar
Sofiya
Posts: 1803
Joined: Tue Dec 07, 2021 9:49 pm
Has thanked: 1202 times
Been thanked: 1076 times

Re: Community 'fork' seeking dev lead after release

Post by Sofiya »

settings completed :thumbup:

before you put the contents of the tint2 folder in your tint2 folder, rename in your folder /root/.config/tint2/ tint2rc to tint2rc.bak

volume control - mouse wheel, functions left mouse click, right mouse click on the cpu icon, mem, volume

jgmenu I don't customize, color scheme, transparency, element sizes... , it's up to the taste of each individual
go to /root/.config/jgmenu/jgmenurc and customize as you like.
or type in terminal: jgmenu_run init -i
and get into the interactive menu. Select the "t" option and see a list of available templates. You can try each one in turn and choose the one you like.

in the picture jgmenu_run init -i > "t" > "o" is selected

uploaded from AQEMU:

/bin/qemu-system-x86_64 -smp 2 -vga std -machine accel=kvm -m 4096 -cdrom "/run/media/root/MULTISYSTEM/KLA_OT2.iso" -hda "/root/.aqemu/example.qcow2" -boot once=d,menu=off -net nic -net user -rtc base=localtime -name "KLA_OT2_x86_64" "$@"

Attachments
wallpaper-Arch.tar.xz
(346.32 KiB) Downloaded 41 times
tint2.tar.xz
(264.37 KiB) Downloaded 61 times
Screenshot.png
Screenshot.png (255.43 KiB) Viewed 5384 times
Last edited by Sofiya on Mon Jan 30, 2023 8:22 pm, edited 18 times in total.

Vanilla Dpup 9.2.X - KLV-Airedale - KLA-OT2
PUPPY LINUX Simple fast free

User avatar
wiak
Posts: 3627
Joined: Tue Dec 03, 2019 6:10 am
Location: Packing - big job
Has thanked: 56 times
Been thanked: 994 times
Contact:

Re: Community 'fork' seeking dev lead after release

Post by wiak »

Sofiya wrote: Sat Jan 21, 2023 9:04 pm

settings completed :thumbup:

before you put the contents of the tint2 folder in your tint2 folder, rename in your folder /root/.config/tint2/ "tint2rc to tint2rc.bak "

I don't know if the cpu and mem scripts will work on your computers.

I haven't tried your tar.gz yet Sofiya, but aside from putting the configs individually into the f_plugin file, there is probably also an easy way of incorporating it: all that is needed for special package inclusion is to host it somewhere and then use wget -c in the f_plug build script followed by the necessary tar extract command. Indeed, wget -c is used in that way from time to time in builds already.
Of course the original f_plugin can be kept too - end result is that people easily have a choice regarding what gets built.

https://www.tinylinux.info/
DOWNLOAD wd_multi for hundreds of 'distros' at your fingertips: viewtopic.php?p=99154#p99154
Αξίζει να μεταφραστεί;

User avatar
Sofiya
Posts: 1803
Joined: Tue Dec 07, 2021 9:49 pm
Has thanked: 1202 times
Been thanked: 1076 times

Re: Community 'fork' seeking dev lead after release

Post by Sofiya »

wiak wrote: Thu Jan 19, 2023 11:37 pm
Sofiya wrote: Thu Jan 19, 2023 7:47 pm

@rockedge how do you communicate between KLV-Airedale and Qemu, transfer files back and forth ?
I'm probably missing something

@wiak
Thank you very much ! for the detailed explanation.
Everything is set up, files are exchanged between the host and Qemu :thumbup: :)
Saving works.
Full virtual OS.

by the way, Aqemu can create "qemu-img create -f qcow2 example.qcow2 5G" from the xxx.img file it creates.
and connect it to Aqemu.the file is named the same as the image "KLV-Airedale-HDA.img.
select "KLV-Airedale-HDA.img" and convert to "KLV-Airedale-HDA.qcow2" and connect it.
and it turns out the processed disk . https://forum.puppylinux.com/viewtopic. ... 805#p78805
here is a good description about Qemu. https://github.com/greg-js/arch-wiki-md ... _with_QEMU .

Attachments
Screenshot(1).png
Screenshot(1).png (212.5 KiB) Viewed 5348 times

Vanilla Dpup 9.2.X - KLV-Airedale - KLA-OT2
PUPPY LINUX Simple fast free

User avatar
Sofiya
Posts: 1803
Joined: Tue Dec 07, 2021 9:49 pm
Has thanked: 1202 times
Been thanked: 1076 times

Re: Community 'fork' seeking dev lead after release

Post by Sofiya »

:thumbup:

Attachments
Arch_transparent_80x108.png
Arch_transparent_80x108.png (5.15 KiB) Viewed 5191 times
Arch_transparent_101x135.png
Arch_transparent_101x135.png (6.38 KiB) Viewed 5198 times
logo_Arch_transparent.png
logo_Arch_transparent.png (6.1 KiB) Viewed 5220 times
Last edited by Sofiya on Thu Jan 26, 2023 12:11 pm, edited 1 time in total.

Vanilla Dpup 9.2.X - KLV-Airedale - KLA-OT2
PUPPY LINUX Simple fast free

User avatar
Sofiya
Posts: 1803
Joined: Tue Dec 07, 2021 9:49 pm
Has thanked: 1202 times
Been thanked: 1076 times

Re: Community 'fork' seeking dev lead after release

Post by Sofiya »

Economical installation, better than virtual :)
Update packages : sudo pacman -Suy

install the missing elements:
1.pacman -S xfce4-power-manager to control screen brightness ,and also it serves as our system tray battery
2.pacman -S lxhotkey-gtk3 to assign hotkeys to the openbox config
3,write commands to "lxhotkey" to control volume with hotkeys -in file /root/config/openbox/rc.xml
amixer -D pulse -q sset Master 5%+ unmute on the volume up key
amixer -D pulse -q sset Master 5%- unmute on the volume down key

if you are using two keyboard layout languages: prescribe : /root/config/openbox/autostart .
setxkbmap -layout us,ru -variant -option grp:alt_shift_toggle,terminate:ctrl_alt_bksp & - switching by alt-shift
also write there commands for autostart at boot:
xfce4-power-manager & - battery management
so that the battery icon is displayed in the tray in the power manager on the general tab "System Tray Icon" turn on. "It's for a laptop"

/usr/lib/xfce4/notifyd/xfce4-notifyd & - pop-up notification management

also install pacman -S lxappearance-obconf ,to manage openbox window themes
management and selection of themes, cursor, etc... in settings > lxappearance

You can also install : pacman -S obconf
Obconf is a small graphical utility for configuring Openbox properties and settings.
It allows you to choose themes, some window options, number of desktops.

install beautiful theme in /usr/share/themes
and icons /usr/share/icons

about Jgmenu setup - https://forum.puppylinux.com/viewtopic. ... 160#p79160

install - https://forum.puppylinux.com/download/file.php?id=13641

tint2: replace in /root/.config/tint2/tint2rc

Code: Select all

#---- Generated by tint2conf 9319 ----
# See https://gitlab.com/o9000/tint2/wikis/Configure for 
# full documentation of the configuration options.
#-------------------------------------
# Gradients
#-------------------------------------
# Backgrounds
# Background 1: Popup Text, Urgent Task, Collapsed Task
rounded = 7
border_width = 0
border_sides = TBLR
border_content_tint_weight = 0
background_content_tint_weight = 0
background_color = #000000 0
border_color = #ffffff 16
background_color_hover = #000000 0
border_color_hover = #ffffff 16
background_color_pressed = #000000 0
border_color_pressed = #ffffff 16

# Background 2: 
rounded = 7
border_width = 0
border_sides = TBLR
border_content_tint_weight = 0
background_content_tint_weight = 0
background_color = #ffffff 10
border_color = #ffffff 48
background_color_hover = #ffffff 10
border_color_hover = #ffffff 48
background_color_pressed = #ffffff 10
border_color_pressed = #ffffff 48

# Background 3: Battery, Inactive Taskbar, Panel, System Tray
rounded = 7
border_width = 0
border_sides = TBLR
border_content_tint_weight = 0
background_content_tint_weight = 0
background_color = #000000 40
border_color = #ffffff 68
background_color_hover = #000000 40
border_color_hover = #ffffff 68
background_color_pressed = #000000 40
border_color_pressed = #ffffff 68

# Background 4: Active Task, Active Taskbar, Default Task, Clock
rounded = 7
border_width = 0
border_sides = TBLR
border_content_tint_weight = 0
background_content_tint_weight = 0
background_color = #000000 80
border_color = #000000 0
background_color_hover = #000000 80
border_color_hover = #000000 0
background_color_pressed = #000000 80
border_color_pressed = #000000 0

#-------------------------------------
# Panel
panel_items = PLTEEEEEEEESBPCP
panel_size = 100% 32
panel_margin = 0 0
panel_padding = 5 0 5
panel_background_id = 3
wm_menu = 0
panel_dock = 0
panel_pivot_struts = 0
panel_position = bottom center horizontal
panel_layer = top
panel_monitor = all
panel_shrink = 0
autohide = 0
autohide_show_timeout = 0
autohide_hide_timeout = 0
autohide_height = 2
strut_policy = follow_size
panel_window_name = tint2
disable_transparency = 0
mouse_effects = 0
font_shadow = 0
mouse_hover_icon_asb = 100 0 9
mouse_pressed_icon_asb = 100 -1 -1
scale_relative_to_dpi = 0
scale_relative_to_screen_height = 0

#-------------------------------------
# Taskbar
taskbar_mode = multi_desktop
taskbar_hide_if_empty = 0
taskbar_padding = 2 2 4
taskbar_background_id = 3
taskbar_active_background_id = 4
taskbar_name = 1
taskbar_hide_inactive_tasks = 0
taskbar_hide_different_monitor = 0
taskbar_hide_different_desktop = 0
taskbar_always_show_all_desktop_tasks = 0
taskbar_name_padding = 0 0
taskbar_name_background_id = 0
taskbar_name_active_background_id = 0
taskbar_name_font = Sans Bold 8
taskbar_name_font_color = #ffffff 20
taskbar_name_active_font_color = #ffffff 80
taskbar_distribute_size = 0
taskbar_sort_order = none
task_align = left

#-------------------------------------
# Task
task_text = 0
task_icon = 1
task_centered = 1
urgent_nb_of_blink = 8
task_maximum_size = 24 24
task_padding = 6 2 6
task_font = Sans 8
task_tooltip = 1
task_thumbnail = 0
task_thumbnail_size = 210
task_font_color = #ffffff 60
task_active_font_color = #ffffff 80
task_urgent_font_color = #ffffff 80
task_iconified_font_color = #ffffff 60
task_icon_asb = 30 0 0
task_active_icon_asb = 90 0 0
task_urgent_icon_asb = 90 0 0
task_iconified_icon_asb = 30 0 0
task_background_id = 4
task_active_background_id = 4
task_urgent_background_id = 1
task_iconified_background_id = 1
mouse_left = toggle_iconify
mouse_middle = none
mouse_right = prev_task
mouse_scroll_up = toggle
mouse_scroll_down = iconify

#-------------------------------------
# System tray (notification area)
systray_padding = 2 3 2
systray_background_id = 3
systray_sort = ascending
systray_icon_size = 0
systray_icon_asb = 100 0 0
systray_monitor = primary
systray_name_filter = 

#-------------------------------------
# Launcher
launcher_padding = 0 0 5
launcher_background_id = 0
launcher_icon_background_id = 0
launcher_icon_size = 24
launcher_icon_asb = 100 0 0
launcher_icon_theme_override = 0
startup_notifications = 1
launcher_tooltip = 1
launcher_item_app = /usr/share/applications/50toggle-show-desktop.desktop
launcher_item_app = /usr/share/applications/pcmanfm-search.desktop
launcher_item_app = /usr/share/applications/speedcrunch.desktop
launcher_item_app = /usr/share/applications/pcmanfm.desktop
launcher_item_app = /usr/share/applications/chromium-firstrib.desktop
launcher_item_app = /usr/share/applications/lxterminal.desktop
launcher_item_app = /usr/share/applications/org.gnome.Screenshot.desktop
launcher_item_app = /usr/share/applications/cherrytree.desktop
launcher_item_app = /usr/share/applications/leafpad.desktop
launcher_item_app = /usr/share/applications/geany.desktop
launcher_item_app = /usr/share/applications/tint2conf.desktop
launcher_item_app = ~/.local/share/applications/wd_save2flash.desktop

#-------------------------------------
# Clock
time1_format = %H:%M:%S
time2_format = %A %d %B
time1_font = Sans 9
time1_timezone = 
time2_timezone = 
time2_font = Sans 8
clock_font_color = #3584e4 100
clock_padding = 3 4
clock_background_id = 4
clock_tooltip = 
clock_tooltip_timezone = 
clock_lclick_command = osmo
clock_rclick_command = 
clock_mclick_command = 
clock_uwheel_command = 
clock_dwheel_command = 

#-------------------------------------
# Battery
battery_tooltip = 1
battery_low_status = 20
battery_low_cmd = notify-send "Battery low"
battery_full_cmd = notify-send "Battery full"
bat1_font = Sans 8
bat2_font = Sans 6
battery_font_color = #d9dbdd 100
bat1_format = %s
bat2_format = %p 
battery_padding = 3 3
battery_background_id = 3
battery_hide = 101
battery_lclick_command = xfce4-power-manager-settings
battery_rclick_command = 
battery_mclick_command = 
battery_uwheel_command = 
battery_dwheel_command = 
ac_connected_cmd = notify-send "power on"
ac_disconnected_cmd = notify-send "power off"

#-------------------------------------
# Executor 1
execp = new
execp_command = /root/.config/tint2/tint2-executors/cpu
execp_interval = 1
execp_has_icon = 1
execp_cache_icon = 0
execp_continuous = 0
execp_markup = 0
execp_monitor = all
execp_tooltip = 
execp_lclick_command = lxtask
execp_rclick_command = 
execp_mclick_command = 
execp_uwheel_command = 
execp_dwheel_command = 
execp_font = Sans 10
execp_font_color = #ffffff 60
execp_padding = 0 0
execp_background_id = 4
execp_centered = 1
execp_icon_w = 0
execp_icon_h = 0

#-------------------------------------
# Executor 2
execp = new
execp_command = /root/.config/tint2/tint2-executors/mem
execp_interval = 1
execp_has_icon = 1
execp_cache_icon = 0
execp_continuous = 0
execp_markup = 0
execp_monitor = all
execp_tooltip = 
execp_lclick_command = /usr/bin/lxterminal -e btop
execp_rclick_command = lxtask
execp_mclick_command = hardinfo
execp_uwheel_command = 
execp_dwheel_command = 
execp_font = Sans 10
execp_font_color = #ffffff 60
execp_padding = 3 0
execp_background_id = 4
execp_centered = 1
execp_icon_w = 0
execp_icon_h = 0

#-------------------------------------
# Executor 3
execp = new
execp_command = /root/.config/tint2/tint2-executors/wifi-name.sh
execp_interval = 1
execp_has_icon = 1
execp_cache_icon = 0
execp_continuous = 0
execp_markup = 0
execp_monitor = all
execp_tooltip = 
execp_lclick_command = connectwizard
execp_rclick_command = 
execp_mclick_command = 
execp_uwheel_command = 
execp_dwheel_command = 
execp_font = Sans 10
execp_font_color = #ffffff 60
execp_padding = 0 0
execp_background_id = 4
execp_centered = 1
execp_icon_w = 18
execp_icon_h = 18

#-------------------------------------
# Executor 4
execp = new
execp_command = /root/.config/tint2/tint2-executors/cputemp.sh
execp_interval = 1
execp_has_icon = 1
execp_cache_icon = 0
execp_continuous = 0
execp_markup = 0
execp_monitor = all
execp_tooltip = 
execp_lclick_command = hardinfo
execp_rclick_command = 
execp_mclick_command = 
execp_uwheel_command = 
execp_dwheel_command = 
execp_font = Sans 10
execp_font_color = #ffffff 60
execp_padding = 0 0
execp_background_id = 4
execp_centered = 0
execp_icon_w = 0
execp_icon_h = 0

#-------------------------------------
# Executor 5
execp = new
execp_command = /root/.config/tint2/tint2-executors/brightness-icon.sh
execp_interval = 0
execp_has_icon = 1
execp_cache_icon = 0
execp_continuous = 0
execp_markup = 0
execp_monitor = all
execp_tooltip = 
execp_lclick_command = 
execp_rclick_command = 
execp_mclick_command = 
execp_uwheel_command = /root/.brighteness_up.sh
execp_dwheel_command = /root/.brightness_down..sh
execp_font = Sans 9
execp_font_color = #dcdcdc 100
execp_padding = 0 0
execp_background_id = 4
execp_centered = 0
execp_icon_w = 18
execp_icon_h = 18

#-------------------------------------
# Executor 6
execp = new
execp_command = /root/.config/tint2/tint2-executors/volume-icon.sh
execp_interval = 1
execp_has_icon = 1
execp_cache_icon = 0
execp_continuous = 0
execp_markup = 0
execp_monitor = all
execp_tooltip = 
execp_lclick_command = pavucontrol
execp_rclick_command = xterm alsamixer
execp_mclick_command = amixer set Master toggle
execp_uwheel_command = amixer set Master 2%+
execp_dwheel_command = amixer set Master 2%-
execp_font = Sans 10
execp_font_color = #ffffff 60
execp_padding = 3 0
execp_background_id = 4
execp_centered = 1
execp_icon_w = 18
execp_icon_h = 18

#-------------------------------------
# Executor 7
execp = new
execp_command = /root/.config/tint2/tint2-executors/battery-icon.sh
execp_interval = 1
execp_has_icon = 1
execp_cache_icon = 1
execp_continuous = 0
execp_markup = 1
execp_monitor = all
execp_lclick_command = 
execp_rclick_command = 
execp_mclick_command = 
execp_uwheel_command = 
execp_dwheel_command = 
execp_font_color = #000000 100
execp_padding = 0 0
execp_background_id = 0
execp_centered = 0
execp_icon_w = 0
execp_icon_h = 0

#-------------------------------------
# Button 1
button = new
button_icon = /root/.config/tint2/icons/arch.png
button_text = Menu
button_lclick_command = jgmenu_run
button_rclick_command = 
button_mclick_command = 
button_uwheel_command = 
button_dwheel_command = 
button_font = Sans 10
button_font_color = #3584e4 100
button_padding = 0 0
button_background_id = 4
button_centered = 0
button_max_icon_size = 24

#-------------------------------------
# Button 2
button = new
button_text = 
button_lclick_command = 
button_rclick_command = 
button_mclick_command = 
button_uwheel_command = 
button_dwheel_command = 
button_font_color = #000000 100
button_padding = 0 0
button_background_id = 0
button_centered = 0
button_max_icon_size = 0

#-------------------------------------
# Tooltip
tooltip_show_timeout = 0.5
tooltip_hide_timeout = 0.1
tooltip_padding = 2 2
tooltip_background_id = 1
tooltip_font_color = #ffffff 60
tooltip_font = Sans 10

rc.xml : replace in /root/.config/openbox/rc.xml

Code: Select all

<?xml version="1.0" encoding="UTF-8"?>
<!-- Do not edit this file, it will be overwritten on install.
        Copy the file to $HOME/.config/openbox/ instead. -->
<openbox_config xmlns="http://openbox.org/3.4/rc" xmlns:xi="http://www.w3.org/2001/XInclude">
  <resistance>
    <strength>10</strength>
    <screen_edge_strength>20</screen_edge_strength>
  </resistance>
  <focus>
    <focusNew>yes</focusNew>
    <!-- always try to focus new windows when they appear. other rules do
       apply -->
    <followMouse>no</followMouse>
    <!-- move focus to a window when you move the mouse into it -->
    <focusLast>yes</focusLast>
    <!-- focus the last used window when changing desktops, instead of the one
       under the mouse pointer. when followMouse is enabled -->
    <underMouse>no</underMouse>
    <!-- move focus under the mouse, even when the mouse is not moving -->
    <focusDelay>200</focusDelay>
    <!-- when followMouse is enabled, the mouse must be inside the window for
       this many milliseconds (1000 = 1 sec) before moving focus to it -->
    <raiseOnFocus>no</raiseOnFocus>
  </focus>
  <!-- when followMouse is enabled, and a window is given focus by moving the
       mouse into it, also raise the window -->
  <placement>
    <policy>Smart</policy>
    <!-- 'Smart' or 'UnderMouse' -->
    <center>yes</center>
    <!-- whether to place windows in the center of the free area found or
       the top left corner -->
    <monitor>Primary</monitor>
    <!-- with Smart placement on a multi-monitor system, try to place new windows
       on: 'Any' - any monitor, 'Mouse' - where the mouse is, 'Active' - where
       the active window is, 'Primary' - only on the primary monitor -->
    <primaryMonitor>1</primaryMonitor>
  </placement>
  <!-- The monitor where Openbox should place popup dialogs such as the
       focus cycling popup, or the desktop switch popup.  It can be an index
       from 1, specifying a particular monitor.  Or it can be one of the
       following: 'Mouse' - where the mouse is, or
                  'Active' - where the active window is -->
  <theme>
    <name>Syscrash</name>
    <titleLayout>NLIMC</titleLayout>
    <!--       available characters are NDSLIMC, each can occur at most once.
      N: window icon
      L: window label (AKA title).
      I: iconify
      M: maximize
      C: close
      S: shade (roll up/down)
      D: omnipresent (on all desktops).
  -->
    <keepBorder>yes</keepBorder>
    <animateIconify>no</animateIconify>
    <font place="ActiveWindow">
      <name>sans</name>
      <size>8</size>
      <!-- font size in points -->
      <weight>bold</weight>
      <!-- 'bold' or 'normal' -->
      <slant>normal</slant>
    </font>
    <!-- 'italic' or 'normal' -->
    <font place="InactiveWindow">
      <name>sans</name>
      <size>8</size>
      <!-- font size in points -->
      <weight>bold</weight>
      <!-- 'bold' or 'normal' -->
      <slant>normal</slant>
    </font>
    <!-- 'italic' or 'normal' -->
    <font place="MenuHeader">
      <name>sans</name>
      <size>9</size>
      <!-- font size in points -->
      <weight>normal</weight>
      <!-- 'bold' or 'normal' -->
      <slant>normal</slant>
    </font>
    <!-- 'italic' or 'normal' -->
    <font place="MenuItem">
      <name>sans</name>
      <size>9</size>
      <!-- font size in points -->
      <weight>normal</weight>
      <!-- 'bold' or 'normal' -->
      <slant>normal</slant>
    </font>
    <!-- 'italic' or 'normal' -->
    <font place="ActiveOnScreenDisplay">
      <name>sans</name>
      <size>9</size>
      <!-- font size in points -->
      <weight>bold</weight>
      <!-- 'bold' or 'normal' -->
      <slant>normal</slant>
    </font>
    <!-- 'italic' or 'normal' -->
    <font place="InactiveOnScreenDisplay">
      <name>sans</name>
      <size>9</size>
      <!-- font size in points -->
      <weight>bold</weight>
      <!-- 'bold' or 'normal' -->
      <slant>normal</slant>
    </font>
  </theme>
  <!-- 'italic' or 'normal' -->
  <desktops>
    <!-- this stuff is only used at startup, pagers allow you to change them
       during a session

       these are default values to use when other ones are not already set
       by other applications, or saved in your session

       use obconf if you want to change these without having to log out
       and back in -->
    <number>2</number>
    <firstdesk>1</firstdesk>
    <names/>
    <!-- set names up here if you want to, like this:
    <name>desktop 1</name>
    <name>desktop 2</name>
    -->
    <popupTime>875</popupTime>
  </desktops>
  <!-- The number of milliseconds to show the popup for when switching
       desktops.  Set this to 0 to disable the popup. -->
  <resize>
    <drawContents>yes</drawContents>
    <popupShow>Nonpixel</popupShow>
    <!-- 'Always', 'Never', or 'Nonpixel' (xterms and such) -->
    <popupPosition>Center</popupPosition>
    <!-- 'Center', 'Top', or 'Fixed' -->
    <popupFixedPosition>
      <!-- these are used if popupPosition is set to 'Fixed' -->
      <x>10</x>
      <!-- positive number for distance from left edge, negative number for
         distance from right edge, or 'Center' -->
      <y>10</y>
    </popupFixedPosition>
  </resize>
  <!-- You can reserve a portion of your screen where windows will not cover when
     they are maximized, or when they are initially placed.
     Many programs reserve space automatically, but you can use this in other
     cases. -->
  <margins>
    <top>5</top>
    <bottom>38</bottom>
    <left>5</left>
    <right>4</right>
  </margins>
  <dock>
    <position>TopLeft</position>
    <!-- (Top|Bottom)(Left|Right|)|Top|Bottom|Left|Right|Floating -->
    <floatingX>0</floatingX>
    <floatingY>0</floatingY>
    <noStrut>no</noStrut>
    <stacking>Above</stacking>
    <!-- 'Above', 'Normal', or 'Below' -->
    <direction>Vertical</direction>
    <!-- 'Vertical' or 'Horizontal' -->
    <autoHide>no</autoHide>
    <hideDelay>300</hideDelay>
    <!-- in milliseconds (1000 = 1 second) -->
    <showDelay>300</showDelay>
    <!-- in milliseconds (1000 = 1 second) -->
    <moveButton>Middle</moveButton>
  </dock>
  <!-- 'Left', 'Middle', 'Right' -->
  <keyboard>
    <chainQuitKey>C-g</chainQuitKey>
    <!-- Keybindings for desktop switching -->
    <keybind key="C-A-Left">
      <action name="GoToDesktop">
        <to>left</to>
        <wrap>no</wrap>
      </action>
    </keybind>
    <keybind key="C-A-Right">
      <action name="GoToDesktop">
        <to>right</to>
        <wrap>no</wrap>
      </action>
    </keybind>
    <keybind key="C-A-Up">
      <action name="GoToDesktop">
        <to>up</to>
        <wrap>no</wrap>
      </action>
    </keybind>
    <keybind key="C-A-Down">
      <action name="GoToDesktop">
        <to>down</to>
        <wrap>no</wrap>
      </action>
    </keybind>
    <keybind key="S-A-Left">
      <action name="SendToDesktop">
        <to>left</to>
        <wrap>no</wrap>
      </action>
    </keybind>
    <keybind key="S-A-Right">
      <action name="SendToDesktop">
        <to>right</to>
        <wrap>no</wrap>
      </action>
    </keybind>
    <keybind key="S-A-Up">
      <action name="SendToDesktop">
        <to>up</to>
        <wrap>no</wrap>
      </action>
    </keybind>
    <keybind key="S-A-Down">
      <action name="SendToDesktop">
        <to>down</to>
        <wrap>no</wrap>
      </action>
    </keybind>
    <keybind key="W-F1">
      <action name="GoToDesktop">
        <to>1</to>
      </action>
    </keybind>
    <keybind key="W-F2">
      <action name="GoToDesktop">
        <to>2</to>
      </action>
    </keybind>
    <keybind key="W-F3">
      <action name="GoToDesktop">
        <to>3</to>
      </action>
    </keybind>
    <keybind key="W-F4">
      <action name="GoToDesktop">
        <to>4</to>
      </action>
    </keybind>
    <keybind key="W-d">
      <action name="ToggleShowDesktop"/>
    </keybind>
    <!-- Keybindings for windows -->
    <keybind key="A-F4">
      <action name="Close"/>
    </keybind>
    <keybind key="A-Escape">
      <action name="Lower"/>
      <action name="FocusToBottom"/>
      <action name="Unfocus"/>
    </keybind>
    <keybind key="A-space">
      <action name="ShowMenu">
        <menu>client-menu</menu>
      </action>
    </keybind>
    <!-- Take a screenshot of the current window with gnome-screenshot when Alt+Print are pressed -->
    <keybind key="A-Print">
      <action name="Execute">
        <command>gnome-screenshot -w</command>
      </action>
    </keybind>
    <!-- Keybinding for Volume management -->
    <keybind key="XF86AudioRaiseVolume">
      <action name="Execute">
        <command>amixer -D pulse -q sset Master 5%+ unmute</command>
      </action>
    </keybind>
    <keybind key="XF86AudioLowerVolume">
      <action name="Execute">
        <command>amixer -D pulse -q sset Master 5%- unmute</command>
      </action>
    </keybind>
    <keybind key="XF86AudioMute">
      <action name="Execute">
        <command>amixer -D pulse -q sset Master toggle</command>
      </action>
    </keybind>
    <!-- Keybindings for Multimedia Keys and LCD Backlight (alternative when not using gnome-power-manager or xfce4-volumed) -->
    <keybind key="C-F7">
      <action name="Execute">
        <command>xset dpms force off</command>
      </action>
    </keybind>
    <!-- Keybindings for custom options -->
    <keybind key="A-F1">
      <action name="Execute">
        <execute>lxpanelctl menu</execute>
      </action>
    </keybind>
    <keybind key="A-F2">
      <action name="Execute">
        <execute>lxpanelctl run</execute>
      </action>
    </keybind>
    <keybind key="W-L">
      <action name="Execute">
        <execute>dm-tool lock</execute>
      </action>
    </keybind>
    <!-- Keybindings for window switching -->
    <keybind key="A-Tab">
      <action name="NextWindow">
        <finalactions>
          <action name="Focus"/>
          <action name="Raise"/>
          <action name="Unshade"/>
        </finalactions>
      </action>
    </keybind>
    <keybind key="A-S-Tab">
      <action name="PreviousWindow">
        <finalactions>
          <action name="Focus"/>
          <action name="Raise"/>
          <action name="Unshade"/>
        </finalactions>
      </action>
    </keybind>
    <keybind key="C-A-Tab">
      <action name="NextWindow">
        <panels>yes</panels>
        <desktop>yes</desktop>
        <finalactions>
          <action name="Focus"/>
          <action name="Raise"/>
          <action name="Unshade"/>
        </finalactions>
      </action>
    </keybind>
    <!-- Keybindings for window switching with the arrow keys -->
    <keybind key="W-S-Right">
      <action name="DirectionalCycleWindows">
        <direction>right</direction>
      </action>
    </keybind>
    <keybind key="W-S-Left">
      <action name="DirectionalCycleWindows">
        <direction>left</direction>
      </action>
    </keybind>
    <keybind key="W-S-Up">
      <action name="DirectionalCycleWindows">
        <direction>up</direction>
      </action>
    </keybind>
    <keybind key="W-S-Down">
      <action name="DirectionalCycleWindows">
        <direction>down</direction>
      </action>
    </keybind>
    <!-- Keybindings for running applications -->
    <keybind key="W-e">
      <action name="Execute">
        <startupnotify>
          <enabled>true</enabled>
          <name>Konqueror</name>
        </startupnotify>
        <command>kfmclient openProfile filemanagement</command>
      </action>
    </keybind>
    <!-- Launch gnome-screenshot when Print is pressed -->
    <keybind key="Insert">
      <action name="Execute">
        <command>gnome-screenshot</command>
      </action>
    </keybind>
    <keybind key="Menu">
      <action name="Execute">
        <command>touchpad_toggle</command>
      </action>
    </keybind>
    <keybind key="W-t">
      <action name="Execute">
        <command>lxterminal</command>
      </action>
    </keybind>
  </keyboard>
  <mouse>
    <dragThreshold>1</dragThreshold>
    <!-- number of pixels the mouse must move before a drag begins -->
    <doubleClickTime>200</doubleClickTime>
    <!-- in milliseconds (1000 = 1 second) -->
    <screenEdgeWarpTime>400</screenEdgeWarpTime>
    <!-- Time before changing desktops when the pointer touches the edge of the
       screen while moving a window, in milliseconds (1000 = 1 second).
       Set this to 0 to disable warping -->
    <screenEdgeWarpMouse>false</screenEdgeWarpMouse>
    <!-- Set this to TRUE to move the mouse pointer across the desktop when
       switching due to hitting the edge of the screen -->
    <context name="Frame">
      <mousebind button="A-Left" action="Press">
        <action name="Focus"/>
        <action name="Raise"/>
      </mousebind>
      <mousebind button="A-Left" action="Click">
        <action name="Unshade"/>
      </mousebind>
      <mousebind button="A-Left" action="Drag">
        <action name="Move"/>
      </mousebind>
      <mousebind button="A-Right" action="Press">
        <action name="Focus"/>
        <action name="Raise"/>
        <action name="Unshade"/>
      </mousebind>
      <mousebind button="A-Right" action="Drag">
        <action name="Resize"/>
      </mousebind>
      <mousebind button="A-Middle" action="Press">
        <action name="Lower"/>
        <action name="FocusToBottom"/>
        <action name="Unfocus"/>
      </mousebind>
      <mousebind button="A-Up" action="Click">
        <action name="GoToDesktop">
          <to>previous</to>
        </action>
      </mousebind>
      <mousebind button="A-Down" action="Click">
        <action name="GoToDesktop">
          <to>next</to>
        </action>
      </mousebind>
      <mousebind button="C-A-Up" action="Click">
        <action name="GoToDesktop">
          <to>previous</to>
        </action>
      </mousebind>
      <mousebind button="C-A-Down" action="Click">
        <action name="GoToDesktop">
          <to>next</to>
        </action>
      </mousebind>
      <mousebind button="A-S-Up" action="Click">
        <action name="SendToDesktop">
          <to>previous</to>
        </action>
      </mousebind>
      <mousebind button="A-S-Down" action="Click">
        <action name="SendToDesktop">
          <to>next</to>
        </action>
      </mousebind>
    </context>
    <context name="Titlebar">
      <mousebind button="Left" action="Drag">
        <action name="Move"/>
      </mousebind>
      <mousebind button="Left" action="DoubleClick">
        <action name="ToggleMaximize"/>
      </mousebind>
      <mousebind button="Up" action="Click">
        <action name="if">
          <shaded>no</shaded>
          <then>
            <action name="Shade"/>
            <action name="FocusToBottom"/>
            <action name="Unfocus"/>
            <action name="Lower"/>
          </then>
        </action>
      </mousebind>
      <mousebind button="Down" action="Click">
        <action name="if">
          <shaded>yes</shaded>
          <then>
            <action name="Unshade"/>
            <action name="Raise"/>
          </then>
        </action>
      </mousebind>
    </context>
    <context name="Titlebar Top Right Bottom Left TLCorner TRCorner BRCorner BLCorner">
      <mousebind button="Left" action="Press">
        <action name="Focus"/>
        <action name="Raise"/>
        <action name="Unshade"/>
      </mousebind>
      <mousebind button="Middle" action="Press">
        <action name="Lower"/>
        <action name="FocusToBottom"/>
        <action name="Unfocus"/>
      </mousebind>
      <mousebind button="Right" action="Press">
        <action name="Focus"/>
        <action name="Raise"/>
        <action name="ShowMenu">
          <menu>client-menu</menu>
        </action>
      </mousebind>
    </context>
    <context name="Top">
      <mousebind button="Left" action="Drag">
        <action name="Resize">
          <edge>top</edge>
        </action>
      </mousebind>
    </context>
    <context name="Left">
      <mousebind button="Left" action="Drag">
        <action name="Resize">
          <edge>left</edge>
        </action>
      </mousebind>
    </context>
    <context name="Right">
      <mousebind button="Left" action="Drag">
        <action name="Resize">
          <edge>right</edge>
        </action>
      </mousebind>
    </context>
    <context name="Bottom">
      <mousebind button="Left" action="Drag">
        <action name="Resize">
          <edge>bottom</edge>
        </action>
      </mousebind>
      <mousebind button="Right" action="Press">
        <action name="Focus"/>
        <action name="Raise"/>
        <action name="ShowMenu">
          <menu>client-menu</menu>
        </action>
      </mousebind>
    </context>
    <context name="TRCorner BRCorner TLCorner BLCorner">
      <mousebind button="Left" action="Press">
        <action name="Focus"/>
        <action name="Raise"/>
        <action name="Unshade"/>
      </mousebind>
      <mousebind button="Left" action="Drag">
        <action name="Resize"/>
      </mousebind>
    </context>
    <context name="Client">
      <mousebind button="Left" action="Press">
        <action name="Focus"/>
        <action name="Raise"/>
      </mousebind>
      <mousebind button="Middle" action="Press">
        <action name="Focus"/>
        <action name="Raise"/>
      </mousebind>
      <mousebind button="Right" action="Press">
        <action name="Focus"/>
        <action name="Raise"/>
      </mousebind>
    </context>
    <context name="Icon">
      <mousebind button="Left" action="Press">
        <action name="Focus"/>
        <action name="Raise"/>
        <action name="Unshade"/>
        <action name="ShowMenu">
          <menu>client-menu</menu>
        </action>
      </mousebind>
      <mousebind button="Right" action="Press">
        <action name="Focus"/>
        <action name="Raise"/>
        <action name="ShowMenu">
          <menu>client-menu</menu>
        </action>
      </mousebind>
    </context>
    <context name="AllDesktops">
      <mousebind button="Left" action="Press">
        <action name="Focus"/>
        <action name="Raise"/>
        <action name="Unshade"/>
      </mousebind>
      <mousebind button="Left" action="Click">
        <action name="ToggleOmnipresent"/>
      </mousebind>
    </context>
    <context name="Shade">
      <mousebind button="Left" action="Press">
        <action name="Focus"/>
        <action name="Raise"/>
      </mousebind>
      <mousebind button="Left" action="Click">
        <action name="ToggleShade"/>
      </mousebind>
    </context>
    <context name="Iconify">
      <mousebind button="Left" action="Press">
        <action name="Focus"/>
        <action name="Raise"/>
      </mousebind>
      <mousebind button="Left" action="Click">
        <action name="Iconify"/>
      </mousebind>
    </context>
    <context name="Maximize">
      <mousebind button="Left" action="Press">
        <action name="Focus"/>
        <action name="Raise"/>
        <action name="Unshade"/>
      </mousebind>
      <mousebind button="Middle" action="Press">
        <action name="Focus"/>
        <action name="Raise"/>
        <action name="Unshade"/>
      </mousebind>
      <mousebind button="Right" action="Press">
        <action name="Focus"/>
        <action name="Raise"/>
        <action name="Unshade"/>
      </mousebind>
      <mousebind button="Left" action="Click">
        <action name="ToggleMaximize"/>
      </mousebind>
      <mousebind button="Middle" action="Click">
        <action name="ToggleMaximize">
          <direction>vertical</direction>
        </action>
      </mousebind>
      <mousebind button="Right" action="Click">
        <action name="ToggleMaximize">
          <direction>horizontal</direction>
        </action>
      </mousebind>
    </context>
    <context name="Close">
      <mousebind button="Left" action="Press">
        <action name="Focus"/>
        <action name="Raise"/>
        <action name="Unshade"/>
      </mousebind>
      <mousebind button="Left" action="Click">
        <action name="Close"/>
      </mousebind>
    </context>
    <context name="Desktop">
      <mousebind button="Up" action="Click">
        <action name="GoToDesktop">
          <to>previous</to>
        </action>
      </mousebind>
      <mousebind button="Down" action="Click">
        <action name="GoToDesktop">
          <to>next</to>
        </action>
      </mousebind>
      <mousebind button="A-Up" action="Click">
        <action name="GoToDesktop">
          <to>previous</to>
        </action>
      </mousebind>
      <mousebind button="A-Down" action="Click">
        <action name="GoToDesktop">
          <to>next</to>
        </action>
      </mousebind>
      <mousebind button="C-A-Up" action="Click">
        <action name="GoToDesktop">
          <to>previous</to>
        </action>
      </mousebind>
      <mousebind button="C-A-Down" action="Click">
        <action name="GoToDesktop">
          <to>next</to>
        </action>
      </mousebind>
      <mousebind button="Left" action="Press">
        <action name="Focus"/>
        <action name="Raise"/>
      </mousebind>
      <mousebind button="Right" action="Press">
        <action name="Focus"/>
        <action name="Raise"/>
      </mousebind>
    </context>
    <context name="Root">
      <!-- Menus -->
      <mousebind button="Middle" action="Press">
        <action name="ShowMenu">
          <menu>client-list-combined-menu</menu>
        </action>
      </mousebind>
      <mousebind button="Right" action="Press">
        <action name="ShowMenu">
          <menu>root-menu</menu>
        </action>
      </mousebind>
    </context>
    <context name="MoveResize">
      <mousebind button="Up" action="Click">
        <action name="GoToDesktop">
          <to>previous</to>
        </action>
      </mousebind>
      <mousebind button="Down" action="Click">
        <action name="GoToDesktop">
          <to>next</to>
        </action>
      </mousebind>
      <mousebind button="A-Up" action="Click">
        <action name="GoToDesktop">
          <to>previous</to>
        </action>
      </mousebind>
      <mousebind button="A-Down" action="Click">
        <action name="GoToDesktop">
          <to>next</to>
        </action>
      </mousebind>
    </context>
  </mouse>
  <menu>
    <!-- system menu files on Debian systems -->
    <file>/var/lib/openbox/debian-menu.xml</file>
    <file>menu.xml</file>
    <hideDelay>200</hideDelay>
    <!-- if a press-release lasts longer than this setting (in milliseconds), the
       menu is hidden again -->
    <middle>no</middle>
    <!-- center submenus vertically about the parent entry -->
    <submenuShowDelay>100</submenuShowDelay>
    <!-- time to delay before showing a submenu after hovering over the parent
       entry.
       if this is a negative value, then the delay is infinite and the
       submenu will not be shown until it is clicked on -->
    <submenuHideDelay>400</submenuHideDelay>
    <!-- time to delay before hiding a submenu when selecting another
       entry in parent menu
       if this is a negative value, then the delay is infinite and the
       submenu will not be hidden until a different submenu is opened -->
    <applicationIcons>yes</applicationIcons>
    <!-- controls if icons appear in the client-list-(combined-)menu -->
    <manageDesktops>yes</manageDesktops>
  </menu>
  <!-- show the manage desktops section in the client-list-(combined-)menu -->
  <applications/>
</openbox_config>

autostart : replace in /root/.config/openbox/autostart

Code: Select all

#
# These things are run when an Openbox X Session is started.
# You may place a similar script in $HOME/.config/openbox/autostart
# to run user-specific things.
#

# If you want to use GNOME config tools...
#
#if test -x /usr/lib/openbox/gnome-settings-daemon >/dev/null; then
#  /usr/lib/openbox/gnome-settings-daemon &
#elif which gnome-settings-daemon >/dev/null 2>&1; then
#  gnome-settings-daemon &
#fi
# Touchpad
touchpad_toggle &
#
# Set keyboard settings
setxkbmap -layout us,ru -variant -option grp:alt_shift_toggle,terminate:ctrl_alt_bksp &
#
# Power manager - battery
xfce4-power-manager &
#
# Notifications
/usr/lib/xfce4/notifyd/xfce4-notifyd &
#
# Screen brightness
/usr/local/bin/brightness.sh &
#
#xfce-mcs-manager &
sudo update-menus  # in case of config changes
exec_lxrandr-autostart
tint2 &  # start tint2 to auto-create initial ~/.config/tint2/tint2rc from /etc/xdg/tint2/tintrc
pcmanfm --desktop &  # use pcmanfm for setting wallpapers and to allow desktop icons
jgmenu_run init  # creates ~/.config/jgmenu/jgmenurc for Start Menu configuration
sed -i 's/# tint2_look = 0/tint2_look = 1/' ~/.config/jgmenu/jgmenurc  # needed for changed screen resolutions
# parcellite & # wiak remove: I don't really use or like parcellite so leaving user to install
# volumeicon &  # pacman -Sy volumeicon and uncomment if you want it but taskbar-provided pavucontrol more reliable and less CPU...
# NOTE: For volume control currently now using tint2 executor volume script
# pulseaudio has earlier been started by systemd for non-root logins
# wiak remove: I'm not sure the following start as 'root' pulseaudio method is optimum
[ "$USER" == "root" ] && pulseaudio --start  # ignoring Warning
nm-applet &  # NetworkManager applet
# xterm -e sudo wiakwifi  # using: 'systemctl enable wiakwifi' instead #wiak remove: using NetworkManager instead now
if [ ! -L ~/Desktop/wd_save2flash ];then
  if grep -q "w_changes=RAM2" /proc/cmdline || grep -q "w_changes1=RAM2" /proc/cmdline; then
    ln -s ~/.local/share/applications/wd_save2flash.desktop ~/Desktop/wd_save2flash
  else
    [ -L ~/Desktop/wd_save2flash ] && rm -f ~/Desktop/wd_save2flash 
  fi
fi
Attachments
Papirus-Dark.tar.xz
icons
(277.36 KiB) Downloaded 44 times
Mantis Night.tar.xz
themes
(72.94 KiB) Downloaded 36 times
Снимок экрана от 2023-01-28 00-38-32.png
Снимок экрана от 2023-01-28 00-38-32.png (311.66 KiB) Viewed 5124 times
Last edited by Sofiya on Fri Feb 03, 2023 1:09 am, edited 32 times in total.

Vanilla Dpup 9.2.X - KLV-Airedale - KLA-OT2
PUPPY LINUX Simple fast free

User avatar
wiak
Posts: 3627
Joined: Tue Dec 03, 2019 6:10 am
Location: Packing - big job
Has thanked: 56 times
Been thanked: 994 times
Contact:

Re: Community 'fork' seeking dev lead after release

Post by wiak »

Sofiya wrote: Fri Jan 27, 2023 8:29 pm

Economical installation, better than virtual :)

Very nice desktop. KLA remains my personal favourite, because I really like Arch Linux (and its wiki!), despite KLA being packaged in much larger iso form.

I don't know how you do your theming (in fact I know nothing about mechanisms and best ways to change icon themes), but your end results look very good.

https://www.tinylinux.info/
DOWNLOAD wd_multi for hundreds of 'distros' at your fingertips: viewtopic.php?p=99154#p99154
Αξίζει να μεταφραστεί;

User avatar
Sofiya
Posts: 1803
Joined: Tue Dec 07, 2021 9:49 pm
Has thanked: 1202 times
Been thanked: 1076 times

Re: Community 'fork' seeking dev lead after release

Post by Sofiya »

wiak wrote: Fri Jan 27, 2023 9:49 pm
Sofiya wrote: Fri Jan 27, 2023 8:29 pm

Economical installation, better than virtual :)

Very nice desktop. KLA remains my personal favourite, because I really like Arch Linux (and its wiki!), despite KLA being packaged in much larger iso form.

I don't know how you do your theming (in fact I know nothing about mechanisms and best ways to change icon themes), but your end results look very good.

Thank you ! @Wiak
You have to set up a lot, install missing parts. The result is beautiful, it's worth it.

Vanilla Dpup 9.2.X - KLV-Airedale - KLA-OT2
PUPPY LINUX Simple fast free

Post Reply

Return to “KLA”