RC7 (STABLE) WeeDogLinux Arch 64 now released

A home for all kinds of Puppy related projects
Message
Author
User avatar
rufwoof
Posts: 3690
Joined: Mon 24 Feb 2014, 17:47

#301 Post by rufwoof »

Just as a test, whilst watching/listening to a hour long youtube I kicked off a unsquashfs of a 14GB sfs file on hdd extracting that to under /root. The youtube did start juttering and the system slowed as the sfs was extracted (swapping etc.), but after going off for a coffee and returning the system was all back to running as normal, with 60GB of additional data (unsquashed sfs) under /root. Starting libre to open one of the spreadsheets in that data extract and it started up quickly and ran fine. Of course all being in 'ram' that was all lost/reset after a reboot.
[size=75]( ͡° ͜ʖ ͡°) :wq[/size]
[url=http://murga-linux.com/puppy/viewtopic.php?p=1028256#1028256][size=75]Fatdog multi-session usb[/url][/size]
[size=75][url=https://hashbang.sh]echo url|sed -e 's/^/(c/' -e 's/$/ hashbang.sh)/'|sh[/url][/size]

wiak
Posts: 2040
Joined: Tue 11 Dec 2007, 05:12
Location: not Bulgaria

#302 Post by wiak »

In the few days since s102 version I note there have been about seven downloads so presume that means around that number (apart from myself) been checking it out.

One of the things I hoped for was that by making the build system as simple and flexible and easy-to-alter as possible more people who can script (and there are many on the forum) would get into dev work, which keeps systems alive, being-developed, and well for the future (i.e. the more the merry).

There could also, I imagined, be spin-off benefits of other distro offerings having to up their game too and offering new facilities and so on, rather than just resting on their laurels as we all do most of the time.

Pity, though, that with seven downloads so soon there are not many reports of usage/testing as yet - why keep results secret - on the whole the most important thing needed is to know all is working and on what hardware and what combinations of options are being tested? There is a lot to test to come to trust reliablity of existing models, prior to risking adding new ideas.

And of course, if system all going well, it is ready now for all sorts of desktop versions to be created and published in the form of firstrib00.plug txt file plugins for build_firstrib_rootfs script. No need to just watch and wait folks - feel free to try it out, tell us the bugs you find, and contribute what you can.

Anyway, all does seem to be going well and I hope the more secret testers are also having success and coming up with new ideas either for their own FirstRib WeeDog or to encourage them to provide new facilities on the other distros they contribute to or develop.

wiak

wiak
Posts: 2040
Joined: Tue 11 Dec 2007, 05:12
Location: not Bulgaria

#303 Post by wiak »

Even if you don't want to use FirstRib WeeDog as a desktop system you may find, with its small and easy to understand scripts, flexibility, and quick build capability that it can be used as a good testbed for new ideas for later incorporating into the alternative system of your choice.

wiak

User avatar
rufwoof
Posts: 3690
Joined: Mon 24 Feb 2014, 17:47

#304 Post by rufwoof »

Voidlinux has been incredibly impressive for me so far.

This is my updated firstrib00.plug that includes the mouse into top left for skippy and bottom left for xlunch. Haven't yet included additional xlunch config files for shutdown/restart etc. alternative view (thinking bottom right hot corner for that) ... so it looks something like as on the xlunch web page http://xlunch.org/

Build using ...

./build_firstrib_rootfs_x86_64_008.sh
./build_firstrib_initramfs04_s102.sh kernel=void

Code: Select all

xbps-install -y linux4.19 base-system shadow xorg xinit xbitmaps terminus-font squashfs-tools alsa-utils pulseaudio pavucontrol jwm chromium tilda mtpaint mc galculator adwaita-icon-theme libreoffice ccrypt gparted xdotool skippy-xd xlunch bmon calcurse htop ncdu curl

# Root password
pwconv
grpconv
echo -e "root\nroot" | passwd >/dev/null 2>&1

# set root to use /bin/bash
usermod --shell /bin/bash root

# Network (wireless where ifconfig shows my device as wlp2s0)
echo "network={" >>/etc/wpa_supplicant/wpa_supplicant.conf
echo "  ssid=\"VM12345678-2G\"" >>/etc/wpa_supplicant/wpa_supplicant.conf
echo "  psk=\"abcd1234\"" >>/etc/wpa_supplicant/wpa_supplicant.conf
echo "}" >>/etc/wpa_supplicant/wpa_supplicant.conf

# Prepare a /usr/local/bin/connect script we can run to network connect
echo "wpa_supplicant -i wlp2s0 -c /etc/wpa_supplicant/wpa_supplicant.conf -B" >/usr/local/bin/connect
echo "dhcpcd" >>/usr/local/bin/connect
#echo "pulseaudio --start" >>/usr/local/bin/connect
chmod +x /usr/local/bin/connect
loadkeys uk
# So tilda continually runs
echo "#!/bin/sh" >/root/tilda.sh
echo "while :;do" >>/root/tilda.sh
echo "   tilda" >>/root/tilda.sh
echo "done" >>/root/tilda.sh
chmod +x /root/tilda.sh
echo "FONT=ter-i28b" >>/etc/rc.conf
echo "TIMEZONE=\"Europe/London\"" >>/etc/rc.conf
echo "KEYMAP=\"uk\"" >>/etc/rc.conf
echo "/root/tilda.sh &" >/root/.xinitrc
echo "/usr/local/bin/skippy &" >>/root/.xinitrc
echo "setxkbmap -layout gb" >>/root/.xinitrc
echo "pavucontrol &" >>/root/.xinitrc
echo "chromium --no-sandbox &" >>/root/.xinitrc
#echo "rox -p default &" >>/root/.xinitrc
echo "exec jwm" >>/root/.xinitrc
echo "Xft.dpi: 144" >/root/.Xdefaults
ln -s /root/.Xdefaults /root/.Xresources

# Set system to run our connection script on bootup
echo "/usr/local/bin/connect" >>/etc/rc.local

# Set locale
sed -i 's/#en_GB.UTF-8 UTF-8/en_GB.UTF-8 UTF-8/' /etc/default/libc-locales
xbps-reconfigure -f glibc-locales

# Change jwm clock to also show date
sed -i 's/<Clock format="%H:%M">/<Clock format="%a %d %b %H:%M">/' /etc/system.jwmrc

# Show MENU in jwm tray
sed -i 's/TrayButton icon="jwm-blue"/TrayButton label="MENU" icon="jwm-blue"/' /etc/system.jwmrc

# Trap scrollwheel on jwm root window from scrolling through desktops
sed -i 's/<\/JWM>/    <RootMenu onroot="4"\/>\
    <RootMenu onroot="5"\/>\
<\/JWM>/' /etc/system.jwmrc

# Revise default jwm menu that include things we don't have installed by default
# ... comment out terminal and utilities menu items
sed -i 's/<Program icon="terminal.png"/<!-- <Program icon="terminal.png"/' /etc/system.jwmrc
sed -i 's/<Menu icon="folder.png" label="Utilities">/-->\
       <Menu icon="folder.png" label="Utilities">/' /etc/system.jwmrc
# ... comment out lock menu item
sed -i 's/<Program icon="lock.png" label="Lock">/<!--\
       <Program icon="lock.png" label="Lock">/' /etc/system.jwmrc
sed -i 's/<Restart label="Restart" icon="restart.png"\/>/-->\
       <Restart label="Restart" icon="restart.png"\/>/' /etc/system.jwmrc

# Get Steven Black's /etc/hosts file (form of ad-block)
rm /etc/hosts;wget -O /etc/hosts https://github.com/StevenBlack/hosts/blob/master/hosts?raw=true

# Set up voiduser userid (so we can login and run chromium within its sandbox)
useradd -m -s /bin/bash -U -G wheel,users,audio,video,cdrom,input voiduser
echo -e "voiduser\nvoiduser" | passwd voiduser >/dev/null 2>&1
cp /root/.xinitrc /home/voiduser/.xinitrc
cp /root/.Xdefaults /home/voiduser/.Xdefaults
ln -s /home/voiduser/.Xdefaults /home/voiduser/.Xresources
# voiduser doesn't need the --no-sandbox chromium parameter
sed -i 's/chromium --no-sandbox/chromium/' /home/voiduser/.xinitrc
chown voiduser:voiduser /home/voiduser/.Xdefaults
chown voiduser:voiduser /home/voiduser/.xinitrc

# SAL_USE_VCLPLUGIN env variable required for libreoffice menubar to be visible
echo "SAL_USE_VCLPLUGIN=gen export SAL_USE_VCLPLUGIN" >>/etc/profile

cat <<'EOF' >> /usr/local/bin/skippy
#!/bin/sh
#
# Script to monitor mouse position and run skippy-xd (assumed to already be installed)
# whenever the mouse is moved into the top left corner (like a hot corner)
#
# Requires xdotool, xlunch and skippy-xd (xbps-install xdotools xlunch skippy-xd))
#

# Retreive screen height
SCREEN_HEIGHT=`xwininfo -root|sed '/Height/!d;s/.* //'`
# subtract 1 as 0..899 for 900 xwininfo height screen
SCREEN_HEIGHT=`expr ${SCREEN_HEIGHT} - 1` 
BOTTOM_LEFT="0x${SCREEN_HEIGHT}"
TOP_LEFT="0x0"
while : ;do
   CURRENT_MOUSE_POSITION=`xdotool getmouselocation | sed 's/ sc.*//; s/.://g; s/ /x/'`
   if [ "$CURRENT_MOUSE_POSITION" = "$TOP_LEFT" ]; then
       xdotool mousemove 60 60  # move mouse away from corner so doesn't retrigger
       skippy-xd 
   else
      if [ "$CURRENT_MOUSE_POSITION" = "$BOTTOM_LEFT" ]; then
           xdotool mousemove 60 ${SCEEN_HEIGHT}  # move mouse away from corner so doesn't retrigger
	   xlunch -f DejaVuSans/16 -i /etc/xlunch/entries.dsv &
      fi
   fi
   sleep 0.2
done
EOF
chmod +x /usr/local/bin/skippy

# launcher items for xlunch
mkdir -p /etc/xlunch
if [ -f /etc/xlunch/entries.dsv ]; then
	rm /etc/xlunch/entries.dsv
fi
cat <<'EOF' >> /etc/xlunch/entries.dsv
Chromium;/usr/share/icons/hicolor/48x48/apps/chromium.png;chromium
GParted;/usr/share/icons/hicolor/48x48/apps/gparted.png;/bin/gparted
Galculator;/usr/share/icons/hicolor/48x48/apps/galculator.png;galculator
LibreOffice Base;/usr/share/icons/hicolor/48x48/apps/libreoffice-base.png;libreoffice --base
LibreOffice Calc;/usr/share/icons/hicolor/48x48/apps/libreoffice-calc.png;libreoffice --calc
LibreOffice Draw;/usr/share/icons/hicolor/48x48/apps/libreoffice-draw.png;libreoffice --draw
LibreOffice Impress;/usr/share/icons/hicolor/48x48/apps/libreoffice-impress.png;libreoffice --impress
LibreOffice Math;/usr/share/icons/hicolor/48x48/apps/libreoffice-math.png;libreoffice --math
LibreOffice Writer;/usr/share/icons/hicolor/48x48/apps/libreoffice-writer.png;libreoffice --writer
LibreOffice;/usr/share/icons/hicolor/48x48/apps/libreoffice-startcenter.png;libreoffice
EOF

# Clear xbps install packages cache
rm /var/cache/xbps/*
Love how updated voidlinux is, and rather than running xbps-install -Su to update things, using wiak's scripts is just a 15 minute task (that I run in the background whilst doing other things), and you have a newly built system all ready to go. The above firstrib00.plug script is however configured for my system (UK layout, wifi ssid/password ...etc.). Really those settings should really be in a separate include file. Early days.
Last edited by rufwoof on Tue 20 Aug 2019, 08:16, edited 2 times in total.
[size=75]( ͡° ͜ʖ ͡°) :wq[/size]
[url=http://murga-linux.com/puppy/viewtopic.php?p=1028256#1028256][size=75]Fatdog multi-session usb[/url][/size]
[size=75][url=https://hashbang.sh]echo url|sed -e 's/^/(c/' -e 's/$/ hashbang.sh)/'|sh[/url][/size]

wiak
Posts: 2040
Joined: Tue 11 Dec 2007, 05:12
Location: not Bulgaria

#305 Post by wiak »

Yes, apart from the quick root filesystem build script and WeeDog firstrib initramfs to provide flexible frugal install capability (which Void itself doesn't provide by default), the superb design of Void Linux and particularly its whole design being centred around its terrific package manager, xpbs, is the key to all this. So the power and utility comes from quick simple build system, flexible and easy to modify initramfs and xbps/Void rolling distro repositories. It's fun to experiment and play with. No bloated increasingly complex build system needing difficult hacking to fix, and not just the convenience of excellent upstream repositories of packages, but native access to them including the source building/packaging systems they provide. My only regret, for the moment, is that Void Linux doesn't have a good forum because Void Linux distro deserves a lot of support.

Of course, some may say that WeeDog depends on Void Linux, and it does, but that's also its strength: it depends on Void Linux and its native package manager xbps. Puppy Linux depends on Ubuntu, or Debian, or Slackware, benefiting from their package repositories, but relies on its own package manager via conversion tools; and my longtime favourites, the DebianDogs, rely on Debian/Ubuntu/Devuan but also have the strength of native package manager. Would take a big development support effort to rely on own repositories (with resulting probable issue of seriously limited availability of packages)... however, with Void also it is easy to set up own repositories as a addition to the official Void ones - that is all described on the Void Linux wiki and in the Void Linux documentation.

wiak

wiak
Posts: 2040
Joined: Tue 11 Dec 2007, 05:12
Location: not Bulgaria

#306 Post by wiak »

rufwoof wrote:This is my updated firstrib00.plug that includes the mouse into top left for skippy and bottom left for xlunch. Haven't yet included additional xlunch config files for shutdown/restart etc. alternative view (thinking bottom right hot corner for that) ... so it looks something like as on the xlunch web page http://xlunch.org/
Thanks, I'll use that firstrib plugin root filesystem build recipe in my coming initramfs development tests.

wiak

wiak
Posts: 2040
Joined: Tue 11 Dec 2007, 05:12
Location: not Bulgaria

#307 Post by wiak »

Minor but significant script change in next initramfs model:

kernel commandline parsing changed a bit (additional abilities) from kernel 3.16 onwards. Now that I'm planning to add zram support (which I believe only became available from kernel 3.14 onwards, and thus using some additional kernel commandline options, it makes sense to use the newer kernel parsing capability (simplifies the init code a little bit).

It only involves minor code alterations so hopefully I don't break anything - based on that alteration I'll call the next build initramfs script model 05. The changes won't effect any current work otherwise - pre-built firstrib_rootfs will continue to function as before. But it means that build_firstrib_initramfs05 will only support Linux kernels greater or equal to 3.16, but Void Linux probably doesn't support any kernels below that anyway... and model04 will still be available should anyone want to try and build some hybrid system (using older kernel from old Puppy) - not sure how well such old kernels would work with modern Void xbps and its repositories anyway...

wiak

User avatar
rufwoof
Posts: 3690
Joined: Mon 24 Feb 2014, 17:47

#308 Post by rufwoof »

I have been building using the 4.19 kernel series, as that is what I was using under Fatdog. As 4.14 is a LTS kernel (support up to 2023) I'm currently building using that to see how that runs with my hardware.

I've also switched back to the standard gzip sfs compression, and along with clearing out /var/cache/xbps folder contents that's reducing the sfs down to less than 1GB size. I have modified the tmpfs mount to include a size=100% parameter so the extra space that makes available on my 4GB laptop is enough to fully ram load (copy2ram kernel boot parameter). I've modified the hdd swap partition I've been using down to 10GB, so around 13GB total 'ram' available (including swap) for upper_changes.

EDIT: Hmmm, with firstrib00.plug xbps-install line adjusted from linux4.19 to linux4.14 .... it didn't build. No vmlinuz... created after running both build..ramfs and build...initrd with kernel=void parameter. I see that the default voidlinux kernel is currently 4.19 - because of some dkms modules which do not build with newer versions (so if any of them are used they obviously not work under a later kernel). So perhaps best to just stick with the default current kernel version (4.19)
[size=75]( ͡° ͜ʖ ͡°) :wq[/size]
[url=http://murga-linux.com/puppy/viewtopic.php?p=1028256#1028256][size=75]Fatdog multi-session usb[/url][/size]
[size=75][url=https://hashbang.sh]echo url|sed -e 's/^/(c/' -e 's/$/ hashbang.sh)/'|sh[/url][/size]

wiak
Posts: 2040
Joined: Tue 11 Dec 2007, 05:12
Location: not Bulgaria

#309 Post by wiak »

rufwoof wrote:EDIT: Hmmm, with firstrib00.plug xbps-install line adjusted from linux4.19 to linux4.14 .... it didn't build. No vmlinuz... created after running both build..ramfs and build...initrd with kernel=void parameter.
That's interesting. I wonder why. Did build_firstrib_rootfsXX.sh end up producing a firstrib_rootfs that contained the 4.14xxx kernel and the modules/firmware for that in /usr/lib/{firmware,modules}?

If it did then build_firstrib_initramfs04XX.sh kernel=void script should simply have copied them across into the initramfs.gz and the vmlinuz4.14xxx should have been extracted out per code extract:

Code: Select all

  case "$1" in
	"kernel=void")
		# Copy in Void Linux kernel modules and firmware from firstrib_rootfs,
		# and copy out Void kernel vmlinuz for later copying to /mnt/bootpartition/bootdir
		echo "Copying Void Linux modules to initramfs build. Please wait patiently..."
		cp -af firstrib_rootfs/usr/lib/modules firstrib_rootfs_for_initramfs_sNNN/usr/lib/
		cp -a firstrib_rootfs/boot/vmlinuz* .
If not, I presume xbps-install linux4.14 didn't infact provide/install that requested kernel/modules/firmware combination. If the package was installed it should be found as void package in /var/cache/xbps for checking via extraction:

Code: Select all

tar xvf packagename.xpbs
I can't remember if I've ever tried changing to earlier kernel. I'm not sure if it is anything to do with build_firstrib_rootfsXX.sh script using current xbps static to fetch first set of packages (that seems unlikely to me to be the issue though - more likely to do with what Void repos themselves provide).

Currently the build rootfs script fetches:

xbps-static-latest.x86_64-musl.tar.xz
(the firstrib build script later replaces that with latest non-static xbps version)

from repo:

https://alpha.de.repo.voidlinux.org/static/

but though file says static-latest, there do seem to be some much more recent ones - but I can't remember now if these newer ones are for producing actual musl libc builds rather than the glibc builds current script is designed to build (though musl is used in the xbps-static itself). I knew at the time I first made the script but my memory has slipped on that one - I'll have to recheck but most likely there was a good reason for any choice I made back then, and probably nothing to do with the not being able to build 4.14 system.

Will have to test what happens if chose a newer available kernel to see if that builds. I'm too busy at the moment too working on all the tmpfs/zram block/zram swap combinations I'm planning as user options.

wiak

wiak
Posts: 2040
Joined: Tue 11 Dec 2007, 05:12
Location: not Bulgaria

#310 Post by wiak »

Okay, curiousity killed the cat. I have used ./mount_chroot on my firstrib_rootfs and am currently installing linux4.14 to see the result. (I note xbps asked for itself to be updated, which I allowed, when I ran command):

xbps-install -S linux4.14

It is being installed in firstrib_rootfs right now (will take a while because I have rural ADSL broadband D/L speeds often around 200kB/sec...).

Okay, that is now installed. I checked and vmlinuz4.14 is also now in firstrib_rootfs/boot and /usr/lib/modules also contains set of modules for 4.14.

I then tried:

./build_firstrib_initramfs04_s102.sh kernel=void

and it refuses to do it saying:
firstrib_rootfs needs to at least include xbps-install:\nlinuxX.XX, ncurses-base, and linux-firmware-network
But, I know why... there are now two kernels in my firstrib_rootfs: 4.19 (since I had that from before) and 4.14. So I just renamed (mv) the vmlinuz4.19 one to NOvmlinuz4.19 and tried build initramfs kernel=void again, and it has now copied out the 4.14 kernel (as it should) and created the initramfs04.gz for that. I'll try to boot it now and report back...

EDIT: the resultant vmlinuz4.14 and associated initramfs04.gz with 01firstrib_rootfs.sfs booted fine for me:

Code: Select all

uname -a

Linux (none) 4.14.138_1 #1 SMP PREEMPT Sun Aug 11 20:25:01 UTC 2019 x86_64 GNU/Linux
I didn't try a build rootfs from scratch, as I say, but I can't imagine any difference (wouldn't then have the problem of two vmlinuz files in my firstrib_rootfs). Of course my final firstrib_rootfs ended up with two kernels and module sets for both 4.19 and 4.14; I just left the 4.19 in there too, but should really have deleted that dir before build initramfs since just a waste of space.

Is there anything above that answers why 4.14 didn't build for you rufwoof? Late here, so can't look into it further just now.

EDIT2: couldn't resist before sleeping. Build rootfs from scratch, but not using your firstrib00.plug since would take me too long - instead just ./mount_chroot script and installing linux4.14 - that seems to be going fine (size looks right). I'll check build_firstrib_initramfs04...sh copies out the vmlinuz4.14 from resulting firstrib_rootfs okay, which I'm currently confident it will (we will see in a moment)...

EDIT3: Yes, it did. Worked perfectly for me.

EDIT4: Ah, looking at your firstrib00.plug, I think I see the problem. It installs base-system, which includes 4.19 kernel install anyway, so you also end up with two kernels and two sets of modules. Just do as I did above (get rid of the kernel/modules you don't want from your firstrib_rootfs and only then run build_firstrib_initramfs04.....sh kernel=void. Should then work fine (the build initramfs script isn't itself clever enough to decide which kernel you want).

wiak

wiak
Posts: 2040
Joined: Tue 11 Dec 2007, 05:12
Location: not Bulgaria

#311 Post by wiak »

re: my post above.

@rufwoof:

I would suggest therefore, that if you want to use kernel 4.14 (or some other kernel than current default 4.19) that you do not install Void template base-system in your firstrib00.plug, but instead install its dependencies with linux4.19 replaced by linux4.14. That is:

https://github.com/void-linux/void-pack ... m/template
base-system
depends="
base-files>=0.77 ncurses coreutils findutils diffutils libgcc
dash bash grep gzip file sed gawk less util-linux which tar man-pages
mdocml>=1.13.3 shadow e2fsprogs btrfs-progs xfsprogs f2fs-tools dosfstools
psmisc procps-ng tzdata pciutils usbutils iana-etc openssh dhcpcd
kbd iproute2 iputils iw wpa_supplicant xbps nvi sudo wifi-firmware
void-artwork traceroute ethtool kmod acpid eudev runit-void"
hmmm... I don't see 'linux' meaning current linux kernel in there, but I recall it is part of base-system installation in practice, in which case what I suggest still applies. Let me know if that works (or is 'linux' a dep of one of these other packages?...seems unlikely.

EDIT: yes, linux4.19 package is installed by base-system. I just checked the list after ./mount_chroot...sh followed by xbps-install base-system. Not sure why not shown in that dependency listing - must have been updated in the repository I guess.

wiak

User avatar
rockedge
Posts: 1864
Joined: Wed 11 Apr 2012, 13:32
Location: Connecticut, United States
Contact:

#312 Post by rockedge »

I am posting a copy of a firstrip00.plug that creates a fully functional WeeDog (firstrib-s102) outfitted with the Void kernel 4.19.66

this version uses jwm and rox --pinboard for the desktop. the firstrib00.plug will set up the default pinboard. Network connection and audio scripts are created by firstrib00.plug and run at boot in /etc/rc.local

the OS boots into the void-linux login at the shell.
user = root
password = root

using startx will launch Xorg , jwm and rox --pinboard

I modified firstrib00.plug in include file which became evident that it was missing while running MMview which has become a strong tool featured in the WeeDog's I am making.
I am also using xlunch both in 32 and 64 bit versions as the main menu but in this firstrib00.plug the stock jwm menu is setup.

this is only a very simple example with basic code but it is tested and works well.

NOTE: the partition is the usb HDD I am using and may need to be changed to whatever one's system requires.

Code: Select all

#WeeDog (firstrib-s102) outfitted with some basic tools and the Void Linux kernel 4.19.66
xbps-install -y base-minimal file mc
xbps-install -y ncurses-base linux4.19 linux-firmware-network wifi-firmware shadow
pwconv # set up passwd system
grpconv
echo -e "root\nroot" | passwd >/dev/null 2>&1 # Quietly set default root passwd to "root" 

# set root to use /bin/bash
usermod --shell /bin/bash root

# you can add as many valid commandlines as you want in here
xbps-install -y xorg jwm rox bash xterm lxterminal geany adwaita-icon-theme
xbps-install -y mtpaint htop viewnior xarchiver guvcview ffmpeg alsa-utils
xbps-install -y firefox squashfs-tools vlc gtkdialog


# Set locale
sed -i 's/#en_US.UTF-8 UTF-8/en_US.UTF-8 UTF-8/' /etc/default/libc-locales
xbps-reconfigure -f glibc-locales 

#Make changes in /etc/X11/xinit/xinitrc to start jwm and rox -p default with startx
sed -i '51,$d' /etc/X11/xinit/xinitrc
echo "jwm &" >>/etc/X11/xinit/xinitrc
echo "rox -p default &" >>/etc/X11/xinit/xinitrc
echo "exec xterm -geometry 60x10+600+480 -name login" >>/etc/X11/xinit/xinitrc

# Change jwm clock to also show date
sed -i 's/<Clock format="%H:%M">/<Clock format="%a %d %b %H:%M">/' /etc/system.jwmrc

# Show MENU in jwm tray
sed -i 's/TrayButton icon="jwm-blue"/TrayButton label="MENU" icon="jwm-blue"/' /etc/system.jwmrc  

# Set up VLC to run as root
sed -i 's/geteuid/getppid/' /usr/bin/vlc

# Construct rox pinboard default
mkdir /root/.config
mkdir /root/.config/rox.sourceforge.net
mkdir /root/.config/rox.sourceforge.net/ROX-Filer
cd /root/.config/rox.sourceforge.net/ROX-Filer
touch pb_default
echo '<?xml version="1.0"?>' >>pb_default
echo '<pinboard>' >>pb_default
echo '<icon x="32" y="128" label="xterm">/usr/share/applications/xterm.desktop</icon>' >>pb_default
echo '<icon x="32" y="224" label="firefox">/usr/share/applications/firefox.desktop</icon>' >>pb_default
echo '<icon x="128" y="32" label="applications">/usr/share/applications</icon>' >>pb_default
echo '<icon x="32" y="32" label="Home">/root</icon>' >>pb_default
echo '<icon x="32" y="320" label="geany">/usr/share/applications/geany.desktop</icon>' >>pb_default
echo '<icon x="64" y="960" label="sdb1">/mnt/sdb1</icon>' >>pb_default
echo '</pinboard>' >>pb_default

# Network script construction for eth0 and lo
cd /usr/local/bin/
touch net_connect
echo '#!/bin/sh' >>net_connect
echo 'ip link set eth0 up' >>net_connect
echo 'ip link set lo up' >>net_connect
echo 'udhcpc -i eth0' >>net_connect

# start audio script construction
touch start_sound
echo '#!/bin/sh' >>start_sound
echo 'modprobe snd_hda_intel' >>start_sound
echo 'alsactl init' >>start_sound

# make both net_connect and start_sound executable
chmod +x /usr/local/bin/net_connect
chmod +x /usr/local/bin/start_sound

# Set system to run our connection and audio start scripts on bootup
cd /etc
echo "/usr/local/bin/net_connect" >>rc.local 
echo "/usr/local/bin/start_sound" >>rc.local

# Set Bash as shell
mv /usr/bin/sh /usr/bin/sh-dash
ln -s /usr/bin/bash /usr/bin/sh
I added scrot and MMview after WeeDog was up and running also the screenshot icon for a shortcut to a script that was added to make some screenshots
Attachments
2019-08-20-110402_700px.png
(22.15 KiB) Downloaded 559 times
Last edited by rockedge on Tue 20 Aug 2019, 17:30, edited 2 times in total.

User avatar
rockedge
Posts: 1864
Joined: Wed 11 Apr 2012, 13:32
Location: Connecticut, United States
Contact:

#313 Post by rockedge »

I also am having excellent results with Void Linux and I have a complex WeeDog going 64 bit using a Puppy Linux Bionic kernel that is running ZoneMinder, zmNinja, X10 wireless motion detectors, zmeventnotification sever with neural network object/face/license plate recognition (close to real time!)


This one is also is using xlunch for main menus and logout menus with jwm and rox --pinboard with a logout button and xlunch menu on the tray, equipped with opencv, geany,vlc,leafpad,mtpaint,viewnior,guvcview,git,cmake and base-devel which has the gcc compiler. Also running DOSBox (for Skyglobe) and PYTHON 3 for all the object detection programs.

User avatar
rufwoof
Posts: 3690
Joined: Mon 24 Feb 2014, 17:47

#314 Post by rufwoof »

wiak wrote:EDIT4: Ah, looking at your firstrib00.plug, I think I see the problem. It installs base-system, which includes 4.19 kernel
Yes - thanks wiak. Upon reflection I've opted to stay with the defaults 'current' kernel as that's likely less inclined to encounter breakages.
[size=75]( ͡° ͜ʖ ͡°) :wq[/size]
[url=http://murga-linux.com/puppy/viewtopic.php?p=1028256#1028256][size=75]Fatdog multi-session usb[/url][/size]
[size=75][url=https://hashbang.sh]echo url|sed -e 's/^/(c/' -e 's/$/ hashbang.sh)/'|sh[/url][/size]

User avatar
rufwoof
Posts: 3690
Joined: Mon 24 Feb 2014, 17:47

#315 Post by rufwoof »

rockedge wrote:This one is also is using xlunch for main menus and logout menus with jwm and rox --pinboard with a logout button and xlunch menu on the tray, equipped with opencv, geany, vlc, leafpad, mtpaint, viewnior, guvcview, git, cmake and base-devel which has the gcc compiler. Also running DOSBox (for Skyglobe) and PYTHON 3 for all the object detection programs.
I've modified mine to also not show the jwm tray, just using jwm as the window manager along with (top left hot corner) skippy-xd for showing/switching between windows/program and (bottom left corner) xlunch as the program launcher. No rox either (mc serves my needs). I've also removed libreoffice as for the amount of documentation/spreadsheets I do nowadays googledocs suffices. Not bothering with vlc either as chromium is good enough for sound/video. Combined with tilda multi-tab F1 to show/hide toggle and a relatively lightweight but functional desktop.

I had tried with that sort of setup before but found niggles here and there, under voidlinux however its all been good (at least so far).

Mostly running chromium under voiduser userid, that has no mount privs, and chromium's sandbox also is active that way.

Main window (with F1 tilda drop down activated)
Image

(skippy-xd - switch between windows with live previewing of windows)
Image

(xlunch - haven't yet populated it with much (/etc/xlunch/entries.dsv)
Image
(clickable thumbnails)
[size=75]( ͡° ͜ʖ ͡°) :wq[/size]
[url=http://murga-linux.com/puppy/viewtopic.php?p=1028256#1028256][size=75]Fatdog multi-session usb[/url][/size]
[size=75][url=https://hashbang.sh]echo url|sed -e 's/^/(c/' -e 's/$/ hashbang.sh)/'|sh[/url][/size]

wiak
Posts: 2040
Joined: Tue 11 Dec 2007, 05:12
Location: not Bulgaria

#316 Post by wiak »

Sorry, meant to implement the zram and tmpfs size options functionality by now. I have it worked out and was testing but been a bit distracted - looking at something else for a couple for days, but will be done after that.

wiak

wiak
Posts: 2040
Joined: Tue 11 Dec 2007, 05:12
Location: not Bulgaria

#317 Post by wiak »

Progress Report

Have successfully tested a new flavour: FirstRib WeeDog Debuntu

The build_firstram_debuntu_initramfs04_s102.sh only needed one minor change to produce identical functionality (the resulting initramfs04.gz was tested in FirstRib Debian flavour build, but should also work with no code change with Ubuntu or Devuan).

The build_firstrib_debuntu_rootfsXX.sh script is structurally close to what it was before but using debootstrap rather than xbps. The plugin system (firstrib00.plug and so on) will work exactly as before but you will be using apt commands of course instead of xbps with this WeeDog flavour. I have tested simple firstrib00.plug with a few apt install commands in it during a build_firstrib_debuntu_rootfsXX.sh build, and it is worked fine.

One interesting feature is that build_firstrib_debuntu_initramfs04_s102.sh would work with a root filesystem created on any system that has debootstrap installed (and its normal dependencies, which include perl) as per Will Haley's blogs and as I described for using debootstrap in Puppy here:

http://www.murga-linux.com/puppy/viewto ... 063#963063

However, I'm doing it a somewhat different way than that so build_firstrib_debuntu_rootfsXX.sh will work on systems that don't themselves have debootstrap installed, and no perl required anywhere at all, and this alternative FirstRib build method also provides the flexibility of firstrib00.plug like in FirstRib Void flavour. i.e. it is a pretty much a universal build system that should build successfully on most modern Linux systems without user-intervention (and fast, flexible and efficient using simple, easy-to-understand/modify build scripts).

All the usual WeeDog initramfs are of course available: changes=RAM, copy2ram, ability to use either numbered NNsfs filesystems and/or numbered NNuncompressed_directories, and ability to create rollback directories such as 50upper_changes, 51upper_changes, 52upperchanges (can include NNupperchanges sfs files and/or NNupperchanges directories) and so on.

Again, I leave it up to the build system users to create their own desktops, as it suits them, via firstrib00.plug facility. The following is from the successfully booted system (this particular test being with changes=RAM copy2ram on the grub kernel line):

Code: Select all

# uname -a
Linux localhost 4.9.0-9-amd64 #1 SMP Debian 4.9.168-1 (2019-04-12) x86_64 GNU/Linux

# df -h
Filesystem      Size  Used Avail Use% Mounted on
/dev/sda2        53G   20G   30G  41% /mnt/sda2
inram           1.9G  279M  1.6G  15% /mnt/layers/RAM
overlay_result  1.9G  279M  1.6G  15% /
devtmpfs        1.9G     0  1.9G   0% /dev
tmpfs           1.9G     0  1.9G   0% /dev/shm
tmpfs           1.9G  8.9M  1.9G   1% /run
tmpfs           5.0M     0  5.0M   0% /run/lock
tmpfs           1.9G     0  1.9G   0% /sys/fs/cgroup
tmpfs           380M     0  380M   0% /run/user/0

# mount | head -n 3
/dev/sda2 on /mnt/sda2 type ext4 (rw,relatime,block_validity,delalloc,nojournal_checksum,barrier,user_xattr,acl)
inram on /mnt/layers/RAM type tmpfs (rw,nosuid,nodev,relatime)
overlay_result on / type overlay (rw,relatime,lowerdir=01,upperdir=/mnt/layers/RAM/upper_changes,workdir=/mnt/layers/RAM/work)
I need to tidy the scripts up now and put a couple of extra lines of logic in the build initramfs script to accomodate either Debian, Ubuntu, Devuan, or Void. More to come... the zram etc additions included. I'll probably publish theFirstRib WeeDog Debuntu scriipts next week once I have them tidied up the way I want them.

Anyway, now that I know I can create these new flavour build scripts I'm keen to get back to what I'm more interested in really - the new zram additions etc to the initramfs, so I'm not quite sure which I'll publish first (of course all the initramfs facilities/flexibility will work with all the flavours).

Note that, as before, I am not bothering to strip the size of the distributions. That can be done easily enough using separate utilities, for those that care about that (which I don't so much really).

EDIT: If I knew anything about Arch I'd be tempted to make a flavour for that too since it has its own debootstrap type ability. Maybe I will later... Unfortunately, Puppy doesn't have the Void xbps kind of package manager (I tried earlier but would be too much work) or debootstrap script capability but I prefer these native package manager solutions anyway. Nevertheless, I may yet manage to produce some Puppy system version of it, especially if 01scottman's pkg develops to work just with busybox and to not require some kind of Puppy skeleton rootfs downloaded/installed first - getting away from that rootfs skeleton model would be the best improvement Puppy itself could get IMO. Having said that, Debian-based systems aren't much better - I wish apt could stand alone and be able to install whole Debian/Ubuntu system by itself from scratch rather than need whole debootstrap build first... I much prefer Void in that sense - very elegant system design, but once Debian/Ubuntu system going, apt is an unmatched for facilities, that I know of, though xbps is pretty close and good enough.

EDIT2: My test WeeDog debuntu uses Debian's default systemd though (since that's what debootstrap download provides by default); but I see runit is available and from posts in DD thread it appears runit appears to work fine (with Devuan at least). Actually, systemd is also used on my other system, XenialDog, which is fine - I actually like having the chance to play with systemd configuration, but I do worry about its invasive nature for the future (the worry that too many key system components might come to depend on systemd - or is that worry an illusion? - I hope so).

wiak
Last edited by wiak on Wed 21 Aug 2019, 22:36, edited 5 times in total.

User avatar
rufwoof
Posts: 3690
Joined: Mon 24 Feb 2014, 17:47

#318 Post by rufwoof »

Activating xlunch and then skippy-xd, has the xlunch program selection window shown as a window within the set of displayed/selectable windows (avoids having to take two screenshots). Intention of the attached image however is to highlight having a couple of xclocks running and sized quite large is a means to view the current date and time via mousing into the top left corner i.e. via skippy-xd.
Attachments
s.png
(20.93 KiB) Downloaded 527 times
[size=75]( ͡° ͜ʖ ͡°) :wq[/size]
[url=http://murga-linux.com/puppy/viewtopic.php?p=1028256#1028256][size=75]Fatdog multi-session usb[/url][/size]
[size=75][url=https://hashbang.sh]echo url|sed -e 's/^/(c/' -e 's/$/ hashbang.sh)/'|sh[/url][/size]

User avatar
rufwoof
Posts: 3690
Joined: Mon 24 Feb 2014, 17:47

#319 Post by rufwoof »

Question : what do you set the bootfrom kernel boot parameter to when booting from usb?

Frugal booting as I have been from hdd and /dev/sda1 is consistently /dev/sda1 when no usb's are also attached at bootup. But when a usb is plugged in at bootup then its a (kernel based) lottery as to whether the usb will be assigned to /dev/sda1 and the hdd assigned /dev/sdb1 or the other way around (usb assigned /dev/sdb1 and hdd assigned /dev/sda1).
[size=75]( ͡° ͜ʖ ͡°) :wq[/size]
[url=http://murga-linux.com/puppy/viewtopic.php?p=1028256#1028256][size=75]Fatdog multi-session usb[/url][/size]
[size=75][url=https://hashbang.sh]echo url|sed -e 's/^/(c/' -e 's/$/ hashbang.sh)/'|sh[/url][/size]

User avatar
rockedge
Posts: 1864
Joined: Wed 11 Apr 2012, 13:32
Location: Connecticut, United States
Contact:

#320 Post by rockedge »

rufwoof I really like your xlunch version! I have also played with just using jwm and xlunch and mc for the desktop.

my system with an internal HDD assigns the HDD always as /sda1 and the usb HDD I boot from is /sdb1...but if there is another usb drive attached then it is which usb device spools up quickest that gets assigned to sdb1 and not /sdc1. I try to use UUID which prevents the mix up in case of the 2 or more usb drives attached scenario

Post Reply