Puppy Linux Discussion Forum Forum Index Puppy Linux Discussion Forum
Puppy HOME page : puppylinux.com
"THE" alternative forum : puppylinux.info
 
 FAQFAQ   SearchSearch   MemberlistMemberlist   UsergroupsUsergroups   RegisterRegister 
 ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in 

The time now is Tue 12 Nov 2019, 17:55
All times are UTC - 4
 Forum index » Advanced Topics » Puppy Projects
FirstRib default WeeDog Linux build system
Moderators: Flash, JohnMurga
Post new topic   Reply to topic View previous topic :: View next topic
Page 28 of 48 [709 Posts]   Goto page: Previous 1, 2, 3, ..., 26, 27, 28, 29, 30, ..., 46, 47, 48 Next
Author Message
rufwoof


Joined: 24 Feb 2014
Posts: 3611

PostPosted: Mon 02 Sep 2019, 17:37    Post subject: Re: New/revised build scripts uploaded  

Quote:
did you put inram_sz=100% on grub

Doh! I was looking at this in your earlier post when I edited grub
wiak wrote:
2. new grub kernel line optional parameter: inram=size
where size could be in bytes, M, G or % (of total RAM)
(inram being the tmpfs used by /mnt/layers/RAM when either changes=RAM, or copy2ram being specified)

and used inram=100% not inram_sz=100%

I've left it set as hard coded 100% as I can't see much reason not to have that as the default.

Does it still need the resize /mnt/layers/RAM ? I'm setting mine to around the same as what memory is available when set to inram_sz=100%

_rdsh rdsh2 # rdsh2.plug will be sourced here
mount -o remount,size=3472M /mnt/layers/RAM

Copied the initramfs, vmlinux and 01firstrib_root.sfs over to a usb and booted it all in ram (so usb can be unplugged) at first that also caught me out as no zram was being loaded, then I realised the inram.plug also needs be copied across (double Doh!). That also highlighted that I need to change my save.sh and merge-changes.sh scripts to actually make sure the device is mounted before saving/merging saves. i.e. when booted from usb and then the usb is unplugged, then to save the usb obviously needs to be reattached and mounted again before saving (or merging multiple save sfs's).

_________________
( ͡° ͜ʖ ͡°) :wq
Fatdog multi-session usb

echo url|sed -e 's/^/(c/' -e 's/$/ hashbang.sh)/'|sh
Back to top
View user's profile Send private message 
wiak

Joined: 11 Dec 2007
Posts: 1828
Location: not Bulgaria

PostPosted: Mon 02 Sep 2019, 18:29    Post subject: Re: New/revised build scripts uploaded  

rufwoof wrote:
new grub kernel line optional parameter: inram=size


Ah, sorry, have now fixed that post to say inram_sz=size

I'm not myself sure the optimum way to set things up with swap or zram swap or remounting /mnt/layers/RAM since I haven't experimented with that so far.

EDIT: I wouldn't think you need:
mount -o remount,size=3472M /mnt/layers/RAM
If you are originally mounting it as 100% size anyway (?)

What difference does it make to your set up if zram was loaded after the switch_root? (can be done either way with current scripts of course).

wiak

_________________
Tiny Linux Blog: http://www.tinylinux.info/
Check Firmware: www.murga-linux.com/puppy/viewtopic.php?p=1022797
tinycore/slitaz: http://www.murga-linux.com/puppy/viewtopic.php?p=990130#990130
Back to top
View user's profile Send private message 
rufwoof


Joined: 24 Feb 2014
Posts: 3611

PostPosted: Mon 02 Sep 2019, 18:47    Post subject: Re: New/revised build scripts uploaded  

wiak wrote:
What difference does it make to your set up if zram was loaded after the switch_root? (can be done either way with current scripts of course).

The difference in setting it up before switch-root is that if there's insufficient space to load the main sfs and saves into then it overflows into (already created at that point) zram swap. Unless I set mount -o remount,size=3472M /mnt/layers/RAM it seems to be reverting to 1.7GB after the switch-root. Before using zram it wasn't resetting, but was showing 3.4GB. Quite likely something I've changed, really need to start over afresh, but putting that onto the back burner as I'd like to look at the straight swap setup next.

_________________
( ͡° ͜ʖ ͡°) :wq
Fatdog multi-session usb

echo url|sed -e 's/^/(c/' -e 's/$/ hashbang.sh)/'|sh
Back to top
View user's profile Send private message 
wiak

Joined: 11 Dec 2007
Posts: 1828
Location: not Bulgaria

PostPosted: Mon 02 Sep 2019, 18:55    Post subject: Re: New/revised build scripts uploaded  

rufwoof wrote:
wiak wrote:
What difference does it make to your set up if zram was loaded after the switch_root? (can be done either way with current scripts of course).

The difference in setting it up before switch-root is that if there's insufficient space to load the main sfs and saves into then it overflows into (already created at that point) zram swap. Unless I set mount -o remount,size=3472M /mnt/layers/RAM it seems to be reverting to 1.7GB after the switch-root. Before using zram it wasn't resetting, but was showing 3.4GB.


Interesting. The various setups need a lot of testing, so time will tell. I'm not sure myself how RAM works when it comes to the before and after switch_root part (I'll try to observe the difference between with and without mount -o remount, size=3472M /mnt/layers/RAM also).

Quote:
if there's insufficient space to load the main sfs and saves into then it overflows into (already created at that point) zram swap


EDIT

Above was what I was hoping, by the way, but didn't seem to work for me though testing was brief. I began to wonder if somehow zram swap was behaving differently to normal swap but I'm glad to hear you managed to get the 'overflow' working. I also thought it should even work if I used inram_sz=0, but it didn't - said not enough space to copy... but I haven't tried -o remount as yet.

wiak

_________________
Tiny Linux Blog: http://www.tinylinux.info/
Check Firmware: www.murga-linux.com/puppy/viewtopic.php?p=1022797
tinycore/slitaz: http://www.murga-linux.com/puppy/viewtopic.php?p=990130#990130
Back to top
View user's profile Send private message 
wiak

Joined: 11 Dec 2007
Posts: 1828
Location: not Bulgaria

PostPosted: Mon 02 Sep 2019, 19:03    Post subject:  

rufwoof wrote:

./build_weedog_initramfs05_s101.sh: line 381: 8: command not found
./build_weedog_initramfs05_s101.sh: line 392: initramfs05.gz: command not found
./build_weedog_initramfs05_s101.sh: line 393: unexpected EOF while looking for matching `''
./build_weedog_initramfs05_s101.sh: line 419: syntax error: unexpected end of file
.


What were these errors by the way? I don't have any of that in builds I've made. Or were you trying different cpio compressions of your own?

wiak

_________________
Tiny Linux Blog: http://www.tinylinux.info/
Check Firmware: www.murga-linux.com/puppy/viewtopic.php?p=1022797
tinycore/slitaz: http://www.murga-linux.com/puppy/viewtopic.php?p=990130#990130
Back to top
View user's profile Send private message 
rufwoof


Joined: 24 Feb 2014
Posts: 3611

PostPosted: Mon 02 Sep 2019, 19:35    Post subject:  

Those errors were the first time I tried a build with the new scripts and was using the wrong inram and had made changes to the inram.plug that I suspect had a bug/mis-typing, but not sure where (deleted that and re-did a different way and it was fine).

Trying a rdsh2.plug at present. Done away with swap and zram and just using the normal upper_changes but where rdsh2.plug does a rm -rf of that folder so it always starts clean. So either just reboot at the end of a session (no save), or run save.sh to make a 02changes.sfs (03changes.sfs ..etc) of that upper_changes folder so changes are persistent.

Staggered at how you got your head around all the different options. let alone coding that all up such that it works Smile

_________________
( ͡° ͜ʖ ͡°) :wq
Fatdog multi-session usb

echo url|sed -e 's/^/(c/' -e 's/$/ hashbang.sh)/'|sh
Back to top
View user's profile Send private message 
wiak

Joined: 11 Dec 2007
Posts: 1828
Location: not Bulgaria

PostPosted: Tue 03 Sep 2019, 03:18    Post subject: can use zram swap with the likes of inram_sz=200%  

wiak wrote:
EDIT: I wouldn't think you need:
mount -o remount,size=3472M /mnt/layers/RAM
If you are originally mounting it as 100% size anyway (?)


Yes, I think you don't need to remount like this. The trick is simply to set inram tmpfs up to the size you want right from the beginning. Funnily enough you can lie to the mount command whether you already have the swap space set up or not already. So you can, for example, simply put inram_sz=200% (or whatever) on the grub menu.lst kernel commandline.

It makes sense of course to already have the swap set up (be it zram swap or conventional swap), though it doesn't actually matter which comes first, the swapon or the setting inram tmpfs size. Anyway, I've amended my exemplar inram.plug file to setup zram swap prior to the if...copyram ... statement.

http://www.murga-linux.com/puppy/viewtopic.php?p=1035869#1035869

Thanks for that remount large inram /mnt/layers/RAM idea though, rufwoof, that's really the key to how it works. I had it in my head to use zram to achieve exactly same advantage, but was erroneously thinking tmpfs size of 0 would achieve the effect because swappiness pressure, when tmpfs memory so low (0...) would, I thought, result in any pages being sent there (e.g. files copied) automatically ending up in the zram swap space, but that was nonsense because of course if filesystem size 0 the system is not stupid and will simply tell you not enough space for the copy... The key was indeed the remount tmpfs size being bigger than the physical RAM available - hence starting with inram_sz="more than 100%" achieves same effect.

https://superuser.com/questions/460811/controling-tmpfs-memory-usage
https://serverfault.com/questions/677510/increase-tmpfs-size-more-than-available-ram-is-that-a-good-option

Old, but interesting: http://www.softpanorama.org/Internals/Unix_filesystems/linux_tmpfs.shtml
Quote:
Then, make sure that you specify a tmpfs upper-bound that's slightly less than the sum of all free swap and free RAM during these peak usage times.


So summary, with swap (be it zram or conventional, you can use the likes of inram_sz=200% to copy2ram bigger filesystems than actual physical RAM size. Actually I haven't tried an actual example because I don't at the moment have a big enough filesystem to try loading, but mount, df, and free results tell me it should indeed work. EDIT: Now tried it: build 4 GB firstrib_rootfs (using rufwoof template) and with zram swap of 8GB and inram_sz=200% that uncompressed 01firstrib_rootfs worked fine copied into RAM:tmpfs+zram_swap via copy2ram changes=RAM on my 4GB physical RAM machine. Have now removed 2GB RAM stick (so 2GB left) - it failed to boot. So using the 1.3GB 01firstrib_rootfs.sfs instead on this 2GB phys RAM system and all fine. I'm posting from it now (Chromium) and very fast actually (using 3GB zram and inram_sz=200% and still has 1.6 GB free swap).

Funnily enough, though "man mount command" does say tmpfs size can be % of PHYSICAL ram size, it doesn't say anywhre that it works as % of VIRTUAL ram size; however it does, and it makes sense that it does...

One consequence of using zram swap is that even if you are using 01firstrib_rootfs as an uncompressed directory (rather than sfs) then when that gets stored in zram swap it will be automatically stored compressed in that part, hence the huge advantage of zram swap use in this scenario. i.e. if using 01firstrib_rootfs.sfs then since already compressed zram can't compress it more (unless using different comp algorithm) whereas uncompressed filesystem though starting out huge can get hugely compressed in zram (when being paged in and out of fast RAM swap).

I imagine there will be performance advantages to using activating more than one zram swap device on multi-core systems, but there can also be multi-read/write streams so I am not sure which is best to utilise. Experiments will tell...:

I was originally intending using zram block device also, as optional alternative to current tmpfs, for inram (then whole inram would be stored in compressed form), but first I'd need mke2fs available on initramfs, and (currently used) busybox doesn't have that applet compiled in (though it could). So can't do the following at present unless recompile static busybox or make static compile of mk2efs. Note that for that extra functionality simply the change of busybox would be enough, the actual optional zram block creation code can be done in inram.plug (I'll consider the matter later, but tend to think zram swap idea here is a better/simpler idea anyway):

From:
https://www.kernel.org/doc/html/latest/admin-guide/blockdev/zram.html

Code:
mkfs.ext4 /dev/zram1
mount /dev/zram1 /mnt/layers/RAM


wiak

_________________
Tiny Linux Blog: http://www.tinylinux.info/
Check Firmware: www.murga-linux.com/puppy/viewtopic.php?p=1022797
tinycore/slitaz: http://www.murga-linux.com/puppy/viewtopic.php?p=990130#990130
Back to top
View user's profile Send private message 
rockedge


Joined: 11 Apr 2012
Posts: 1281
Location: Connecticut, United States

PostPosted: Tue 03 Sep 2019, 09:18    Post subject:  

Here is a simple firstrib00-64..plug that will construct a JWM and ROX --pinboard desktop.
with firefox,geany and some others
user=root
password=root
startx launches the desktop and time is set to UTC and all the settings are at default so for example in rox-filer options deselect the iconified Windows option under Pinboard to allow dragging shortcuts to the desktop.

for 64 bit ->

Code:
# WeeDog Void (tested up to and through firstrib05-s201) outfitted with a basic desktop and the Void Linux kernel
# login is user=root passwd=root
# startx will launch the desktop and time is set to UTC
# all the parameters can changed as desired.
#
xbps-install -y base-minimal file mc
xbps-install -y ncurses-base linux 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 chrony leafpad scrot
xbps-install -y yad cpanminus menu-cache librsvg-utils

# Set locale to en_US.UTF-8
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 if startx is included in /etc/rc.local
# and auto starts the X server, jwm and rox before the login prompt.
# Add /root/.xinitrc for the actual startx commands that will be used after logging in as "root"
cp /etc/X11/xinit/xinitrc /root/.xinitrc
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
sed -i '51,$d' /root/.xinitrc
echo "rox -p default &" >>/root/.xinitrc
echo "exec jwm" >>/root/.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
# ***NOTE*** change /mnt/sda1 to match the partition WeeDog is installed on
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
cat <<'EOF' >> pb_default
<?xml version="1.0"?>
<pinboard>
<backdrop style="Stretched">/usr/share/backgrounds/DarkGray.svg</backdrop>
<icon x="256" y="32" label="mm_viewme">/usr/local/bin/mm_viewme</icon>
<icon x="32" y="128" label="xterm">/usr/share/applications/xterm.desktop</icon>
<icon x="32" y="224" label="firefox">/usr/share/applications/firefox.desktop</icon>
<icon x="128" y="32" label="applications">/usr/share/applications</icon>
<icon x="32" y="32" label="Home">/root</icon>
<icon x="32" y="320" label="geany">/usr/share/applications/geany.desktop</icon>
<icon x="64" y="960" label="sda1">/mnt/sda1</icon>
</pinboard>
EOF

# 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

# Set Time script construction. will set to UTC
# modify /etc/rc.conf to adjust timezone and hardware clock
touch set_time
echo '#!/bin/sh' >>set_time
echo 'chronyd -q "pool pool.ntp.org iburst"' >>set_time

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

# start_pmcputemp script construction
touch start_pmcputemp
echo '#!/bin/sh' >>start_pmcputemp
echo 'exec pmcputemp' >>start_pmcputemp

# start_retrovol script construction
touch start_retrovol
echo '#!/bin/sh' >>start_retrovol
echo 'exec retrovol' >>start_retrovol

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

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

#ln -s /etc/sv/alsa /var/service/alsa


# Set Bash as shell
xbps-alternatives --set bash

# create /root/.jwmrc with correct menu links for jwm logged in as root
cd /root/
cat <<'EOF' >> /root/.jwmrc
<?xml version="1.0"?>
<JWM>
<!-- Disable virtual desktop scroll. -->
   <RootMenu onroot="4"/>
   <RootMenu onroot="5"/>
   
<!-- The root menu. -->
  <RootMenu onroot="12" height="24">
    <Program icon="/usr/share/icons/Adwaita/48x48/legacy/utilities-terminal.png" label="Terminal">xterm -bg black -fg green</Program>
    <Program icon="/usr/share/pixmaps/rox.png" label="ROX">rox</Program>
      <Menu icon="/usr/share/icons/Adwaita/48x48/legacy/system-run.png" label="Applications">
         <Program icon="/usr/share/icons/hicolor/16x16/apps/vlc.png" label="VLC">vlc</Program>
         <Program icon="/usr/share/icons/hicolor/128x128/apps/lxterminal.png" label="lxterminal">lxterminal</Program>
         <Program icon="/usr/share/pixmaps/mtpaint.png" label="mtpaint">mtpaint</Program>
         <Program icon="/usr/share/icons/Adwaita/32x32/legacy/camera-web.png" label="guvcview">guvcview</Program>
         <Program icon="/usr/share/icons/hicolor/32x32/apps/firefox.png" label="Firefox">firefox</Program>
         <Program icon="/usr/share/icons/hicolor/32x32/apps/leafpad.png" label="leafpad">leafpad</Program>
       </Menu>
        <Menu icon="/usr/share/icons/Adwaita/48x48/legacy/applications-system.png" label="Utilities">
            <Program icon="/usr/share/icons/Adwaita/256x256/legacy/preferences-desktop-font.png" label="Fonts">xfontsel</Program>
            <Program icon="/usr/share/icons/Adwaita/256x256/legacy/preferences-desktop-remote-desktop.png" label="Window Properties">
                xprop | xmessage -file -
            </Program>
            <Program icon="/usr/share/icons/Adwaita/256x256/legacy/preferences-desktop-display.png" label="Window Information">
                xwininfo | xmessage -file -
            </Program>
        </Menu>
        <Separator/>
        <Program icon="/usr/share/icons/Adwaita/256x256/legacy/system-lock-screen.png" label="Lock">
            xlock -mode blank
        </Program>
        <Separator/>
        <Restart label="Restart" icon="/usr/share/icons/Adwaita/48x48/actions/view-refresh-symbolic.symbolic.png"/>
        <Exit label="Exit" confirm="true" icon="/usr/share/icons/Adwaita/48x48/actions/application-exit-symbolic.symbolic.png"/>
        <Program icon="/usr/share/icons/Adwaita/48x48/actions/system-shutdown-symbolic.symbolic.png" label="Shutdown">xlunch-logout</Program>
    </RootMenu>
 <!-- Options for program groups. -->
    <Group>
        <Option>tiled</Option>
        <Option>aerosnap</Option>
    </Group>
    <Group>
        <Class>Pidgin</Class>
        <Option>sticky</Option>
    </Group>
    <Group>
        <Name>xterm</Name>
        <Option>vmax</Option>
    </Group>
    <Group>
        <Name>xclock</Name>
        <Option>drag</Option>
        <Option>notitle</Option>
    </Group>
                                                           
  <!-- Tray at the bottom. -->
    <Tray x="0" y="-1" autohide="off" height="24">
        <TrayButton label="MENU" icon="jwm-blue">root:1</TrayButton>
        <Spacer width="2"/>
        <TrayButton popup="xlunch" icon="/usr/share/pixmaps/xlunch-logo.png">exec:xluncher3</TrayButton>
        <Spacer width="2"/>
        <TrayButton label="_">showdesktop</TrayButton>
        <Spacer width="2"/>
                                                           
    <Pager labeled="true"/>
        <TaskList maxwidth="256"/>
                                                           
    <Dock/>
                                                                 
        <Swallow name="xload" width="32">xload -nolabel -bg "#444444" -fg "#00FF00" -hl "#4C7CC1"</Swallow>
        <Clock format="%a %d %b %H:%M"><Button mask="123">exec:xclock</Button></Clock>
                                                           
    </Tray>
                                                           
<!-- Visual Styles -->
    <WindowStyle>
        <Font>Sans-9:bold</Font>
        <Width>4</Width>
        <Height>21</Height>
        <Corner>3</Corner>
        <Foreground>#FFFFFF</Foreground>
        <Background>#555555</Background>
        <Outline>#000000</Outline>
        <Opacity>0.5</Opacity>
        <Active>
            <Foreground>#FFFFFF</Foreground>
            <Background>#0077CC</Background>
            <Outline>#000000</Outline>
            <Opacity>1.0</Opacity>
        </Active>
    </WindowStyle>
    <TrayStyle group="true" list="all">
        <Font>Sans-9</Font>
        <Background>#333333</Background>
        <Foreground>#FFFFFF</Foreground>
        <Outline>#000000</Outline>
        <Opacity>0.75</Opacity>
    </TrayStyle>
    <TaskListStyle>
      <Font>Sans-9</Font>
      <Active>
        <Foreground>#FFFFFF</Foreground>
        <Background>#555555</Background>
      </Active>
      <Foreground>#FFFFFF</Foreground>
      <Background>#333333</Background>
    </TaskListStyle>
    <PagerStyle>
        <Outline>#000000</Outline>
        <Foreground>#555555</Foreground>
        <Background>#333333</Background>
        <Text>#FFFFFF</Text>
        <Active>
            <Foreground>#0077CC</Foreground>
            <Background>#004488</Background>
        </Active>
    </PagerStyle>
    <MenuStyle>
        <Font>Sans-9</Font>
        <Foreground>#FFFFFF</Foreground>
        <Background>#333333</Background>
        <Outline>#000000</Outline>
        <Active>
            <Foreground>#FFFFFF</Foreground>
            <Background>#0077CC</Background>
       </Active>
        <Opacity>0.85</Opacity>
    </MenuStyle>
    <PopupStyle>
        <Font>Sans-9</Font>
        <Foreground>#000000</Foreground>
        <Background>#999999</Background>
   </PopupStyle>
                                                           
<!-- Path where icons can be found.
         IconPath can be listed multiple times to allow searching
         for icons in multiple paths.
     -->
    <IconPath>
        /usr/share/icons/wm-icons/32x32-aquafusion
    </IconPath>
    <IconPath>
        /usr/local/share/jwm
    </IconPath>
                                                           
    <!-- Virtual Desktops -->
    <!-- Desktop tags can be contained within Desktops for desktop names. -->
    <Desktops width="4" height="1">
        <!-- Default background. Note that a Background tag can be
              contained within a Desktop tag to give a specific background
              for that desktop.
         -->
        <Background type="solid">#111111</Background>
    </Desktops>
                                                           
<!-- Double click speed (in milliseconds) -->
    <DoubleClickSpeed>400</DoubleClickSpeed>
                                                           
<!-- Double click delta (in pixels) -->
    <DoubleClickDelta>2</DoubleClickDelta>
                                                           
<!-- The focus model (sloppy or click) -->
    <FocusModel>click</FocusModel>
                                                           
<!-- The snap mode (none, screen, or border) -->
    <SnapMode distance="10">border</SnapMode>
                                                           
<!-- The move mode (outline or opaque) -->
    <MoveMode>opaque</MoveMode>
                                                           
<!-- The resize mode (outline or opaque) -->
    <ResizeMode>opaque</ResizeMode>
                                                           
<!-- Key bindings -->
    <Key key="Up">up</Key>
    <Key key="Down">down</Key>
    <Key key="Right">right</Key>
    <Key key="Left">left</Key>
    <Key key="h">left</Key>
    <Key key="j">down</Key>
    <Key key="k">up</Key>
    <Key key="l">right</Key>
    <Key key="Return">select</Key>
    <Key key="Escape">escape</Key>
                                                           
    <Key mask="A" key="Tab">nextstacked</Key>
    <Key mask="A" key="F4">close</Key>
    <Key mask="A" key="#">desktop#</Key>
    <Key mask="A" key="F1">root:1</Key>
    <Key mask="A" key="F2">window</Key>
    <Key mask="A" key="F10">maximize</Key>
    <Key mask="A" key="Right">rdesktop</Key>
    <Key mask="A" key="Left">ldesktop</Key>
    <Key mask="A" key="Up">udesktop</Key>
    <Key mask="A" key="Down">ddesktop</Key>

    <StartupCommand>start_retrovol &</StartupCommand>
    <StartupCommand>start_pmcputemp &</StartupCommand>
                                                           
</JWM>
EOF

# install pmcputemp 0.63
mkdir /root/Build
cd /root/Build
wget http://rockedge.org/kernels/data/firstrib/pmcputemp-0.63a.tar.gz
tar xvfz pmcputemp-0.63a.tar.gz
cd pmcputemp-0.63a
cp -r $PWD/root/.config/pmcputemp /root/.config/pmcputemp
cp -r $PWD/root/.config/autostart/pmcputemp.desktop /usr/share/applications/pmcputemp.desktop
cp -r $PWD/usr/bin/pmcputemp /usr/bin/pmcputemp
cp -r $PWD/usr/bin/pmcputemp.sh /usr/bin/pmcputemp.sh
 
# install retrovol 0.10
cd /root/Build
wget http://rockedge.org/kernels/data/firstrib/retrovol-0.10-x86_64.tar.gz
tar xvfz retrovol-0.10-x86_64.tar.gz
cd retrovol-0.10-x86_64
cp -r $PWD/usr/bin/retrovol /usr/bin/retrovol
cp -r $PWD/usr/share/applications/Retrovol.desktop /usr/share/applications/Retrovol.desktop
cp -r $PWD/usr/share/retrovol /usr/share/retrovol

# install mm_viewme which is in the pb_default
cd /root/Build
wget http://rockedge.org/kernels/data/firstrib/mm_viewme.tar.gz
tar xvfz mm_viewme.tar.gz
cp -r $PWD/mm_viewme /usr/local/bin/mm_viewme

# install xlunch
cd /root/Build
wget http://rockedge.org/kernels/data/firstrib/xlunch_4.1.1-1_amd64.tar.gz
tar xvfz xlunch_4.1.1-1_amd64.tar.gz
cd xlunch_4.1.1-1_amd64
cp -r $PWD/etc/xdg/menus /etc/xdg/menus
cp -r $PWD/etc/xlunch /etc/xlunch
cp -r $PWD/usr/bin/genentries /usr/bin/genentries
cp -r $PWD/usr/local/bin/xlunch /usr/local/bin/xlunch
cp -r $PWD/usr/local/bin/xlunch-menu /usr/local/bin/xlunch-menu
cp -r $PWD/usr/local/bin/xlunch-menu-update  /usr/local/bin/xlunch-menu-update
cp -r $PWD/usr/local/bin/xlunch-menu-gen /usr/local/bin/xlunch-menu-gen
cp -r $PWD/usr/local/bin/xlunch-logout /usr/local/bin/xlunch-logout
cp -r $PWD/usr/local/bin/xluncher3 /usr/local/bin/xluncher3
cp -r $PWD/usr/local/share/fonts /usr/local/share/fonts
cp -r $PWD/usr/share/wallpapers /usr/share/wallpapers
cp -r $PWD/usr/share/xlunch /usr/share/xlunch
cp -r $PWD/usr/share/icons/hicolor/48x48/apps/xlunch.png /usr/share/icons/hicolor/48x48/apps/xlunch.png
cp -r $PWD/usr/share/icons/hicolor/48x48/apps/highlight.png /usr/share/icons/hicolor/48x48/apps/highlight.png
cp -r $PWD/usr/share/icons/hicolor/48x48/apps/xlunch_ghost.png /usr/share/icons/hicolor/48x48/apps/xlunch_ghost.png
cp -r $PWD/usr/share/pixmaps/xlunch-logo.png /usr/share/pixmaps/xlunch-logo.png
cp -r $PWD/usr/share/applications/Xlunchlogout.desktop /usr/share/applications/Xlunchlogout.desktop
cp -r $PWD/usr/share/applications/Xlunch3.desktop /usr/share/applications/Xlunch3.desktop
cp -r $PWD/usr/share/applications/update-entries.desktop /usr/share/applications/update-entries.desktop

rm -r /etc/xlunch/logout.dsv
cat <<'EOF' >> /etc/xlunch/logout.dsv
Shutdown;/usr/share/xlunch/icons/logout/shutdown.png;poweroff
Restart;/usr/share/xlunch/icons/logout/restart.png;reboot
Suspend;/usr/share/xlunch/icons/logout/suspend.png;logout
Exit X;/usr/share/xlunch/icons/logout/logout.png;pkill X
Cancel;/usr/share/xlunch/icons/logout/cancel.png;killall xlunch
EOF


# Add background directory with some wallpapers
cd /root/Build
wget http://rockedge.org/kernels/data/firstrib/backgrounds.tar.gz
tar xvfz backgrounds.tar.gz -C /usr/share/

# remove pmcputemp, retrovol, xlunch, mm_viewme install files
rm -r /root/Build

####### Finished and echo report
echo "desktop build process finished"




Download the firstrib00.plug file HERE -> https://github.com/techrockedge/weedog-ZM


**
2019-09-11-034638_600px.png
 Description   
 Filesize   30.88 KB
 Viewed   131 Time(s)

2019-09-11-034638_600px.png


Last edited by rockedge on Sun 03 Nov 2019, 14:49; edited 16 times in total
Back to top
View user's profile Send private message Visit poster's website 
wiak

Joined: 11 Dec 2007
Posts: 1828
Location: not Bulgaria

PostPosted: Tue 03 Sep 2019, 16:41    Post subject:  

rockedge wrote:
So I can report using a very simple firstrib00.plug which creates a WeeDog (Void) with the jwm -rox --pinboard combination with some tools like geany and firefox, that the latest build scripts are working very well. And it will be interesting to eventually give my setups a whirl in zram.l

Now to figure out how to make a Void package of ZM, LHMP and their dependencies......


Did you previous firstrib00.plug post include that simple jwm config? If not, that simple plugin would be a very useful one for people starting out on using FirstRib WeeDog.

Today I'm also planning to look into how to make Void packages, since I want to be able to install my Puppy/DDog utilities and also learn how to compile with xbps-src. The main scripts are now working pretty much to my satisfaction with the flexibility I wanted for them (apart from the stub for Arch Linux, which is just a reminder to me and not one of my priorities), so learning Void better (including xbps-src packaging) becomes a major interest now.

wiak

_________________
Tiny Linux Blog: http://www.tinylinux.info/
Check Firmware: www.murga-linux.com/puppy/viewtopic.php?p=1022797
tinycore/slitaz: http://www.murga-linux.com/puppy/viewtopic.php?p=990130#990130
Back to top
View user's profile Send private message 
AndresC2

Joined: 08 Jul 2017
Posts: 73

PostPosted: Tue 03 Sep 2019, 18:46    Post subject:  

Hi wiak Very Happy

can weedog boot from fat32?

work with syslinux?

can i save my changes in fat32 changes= /mnt/sdb1/firstrib/data?

this changes are compress in squashfs?

and when there are new changes in upper_changes are merge with old changes in a new squashfs ?

in debian buster i need install live-boot?

thank you
Back to top
View user's profile Send private message 
wiak

Joined: 11 Dec 2007
Posts: 1828
Location: not Bulgaria

PostPosted: Tue 03 Sep 2019, 19:18    Post subject:  

AndresC2 wrote:
Hi wiak Very Happy

can weedog boot from fat32?

work with syslinux?

can i save my changes in fat32 changes= /mnt/sdb1/firstrib/data?

this changes are compress in squashfs?

and when there are new changes in upper_changes are merge with old changes in a new squashfs ?

in debian buster i need install live-boot?

thank you


WeeDog is designed to boot from Linux filesystems (since using saving to folder and so symlinks have to be supported by the underlying filesystem).
I have not implemented save to file, which would be necessary to boot from fat32 or ntfs. I will consider that later - it wouldn't be difficult to implement in the script but I have no use for it myself, so not a high priority for me. So changes have to be stored either in RAM or on Linux filesystem. I believe most live Linux users tend to prefer save to folder nowadays rather than messing around with save files, but I may be wrong about that.

Of course you can make the changes (wherever it is stored) into a squashfs, sfs extension: WeeDog initramfs has special feature of being able to use either uncompressed changes directory or a changes.sfs. When only using sfs changes files in that way, you could of course then boot from fat32 or ntfs as long as you were using changes=RAM mode (and you could still save the changes, as stored in RAM in that case, to another sfs using some user-utility if you wish...). So it is more accurate to say, yes weedog can be booted from fat32 media and used as a rescue disk from RAM or changes stored to other Linux file system (on other device) if you wish.

The FirstRib/WeeDog build scripts themselves do not come with merge changes functionality (though weedog initramfs does provide for multiple changes in rollback system). I consider that better left for a userland utility; indeed rufwoof has produced such.

Refer to rufwoofs post re. his save.sh script here:

http://www.murga-linux.com/puppy/viewtopic.php?p=1036020#1036020

and for the script itself, here:

http://murga-linux.com/puppy/viewtopic.php?p=1035465#1035465

Yes, WeeDog could be booted using syslinux/extlinux, or grub2 or grub4dos etc. I never use syslinux nowadays so I couldn't post the setup details.

No, it does not use any code from debianlive or use/need that at all. The build_weedog_initramfs script creates a completely independent of other distros initramfs for booting and providing the rollback/save-persistence functionality. If you were to build a debian/ubuntu/devuan system using build_firstrib_rootfs, the root filesystem created is stock debian/ubuntu/devuan using the tool 'debian' provides for such purpose: debootstrap. However, you can add to the build via FirstRib plugin facility firstrib00.plug, much the way most are building using Void Linux root filesystem instead (so you would use apt commands rather than xbps commands). Once that debian/ubuntu/devuan root filesystem has been contructed to your satisfaction, build_weedog_initramfs script creates the independent WeeDog initramfs you can use to make it a bootable distro (which is therefore an independent alternative to debianlive-based systems, which WeeDog is not).

wiak

EDIT: one different method than a big save file method of saving changes to say fat32 etc would simply be to make tar.gz archive at end of session and simply untar that back in again on reboot. I discussed maybe doing that later earlier in this thread somewhere. Rather like the method tinycore Linux uses. I like it because generally results in very small changes files unlike Puppy-type save to file. But, honestly, I think userland utility to merge to sfs files for rollback functionality is much more sophisticated and useful in the end, and like I say such sfs files can already be used in fat32 media boots.

_________________
Tiny Linux Blog: http://www.tinylinux.info/
Check Firmware: www.murga-linux.com/puppy/viewtopic.php?p=1022797
tinycore/slitaz: http://www.murga-linux.com/puppy/viewtopic.php?p=990130#990130

Last edited by wiak on Tue 03 Sep 2019, 23:08; edited 11 times in total
Back to top
View user's profile Send private message 
rockedge


Joined: 11 Apr 2012
Posts: 1281
Location: Connecticut, United States

PostPosted: Tue 03 Sep 2019, 20:21    Post subject:  

I added a copy of the simple firstrib00.plug in my previous post here ->
http://murga-linux.com/puppy/viewtopic.php?p=1035969#1035969
Back to top
View user's profile Send private message Visit poster's website 
rufwoof


Joined: 24 Feb 2014
Posts: 3611

PostPosted: Tue 03 Sep 2019, 20:57    Post subject:  

wiak wrote:
Of course you can make the changes (wherever it is stored into a squashfs, sfs extension): WeeDog initramfs has special feature of being able to use either uncompressed changes directory or a changes.sfs. When only using sfs changes files in that way, you could of course then boot from fat32 or ntfs as long as you were using changes=RAM mode (and you could still save the changes, as stored in RAM in that case, to another sfs using some user-utility if you wish...). So it is more accurate to say, yes weedog can be booted from fat32 media and used as a rescue disk from RAM or changes stored to other Linux file system (on other device) if you wish.

I boot with changes=RAM, with my save.sh script that makes a sfs out of /mnt/layers/RAM/upper_changes that excludes /var (and /run ...etc.) folders. So I could actually make a sfs copy of the current upper_changes folder content within /var. And/or boot and extract a prior sfs of a upper_changes save sfs back into /upper_changes, where that sfs might have been stored anywhere (including pulling it down from a remote site).

That's somewhat like loading a sfs into a full install (extract it into the main system), but with the added benefit that you could create a sfs copy of upper_changes before doing that (snapshot), extract the sfs on top (or as a replacement) to the upper_changes folder, use as desired, and then roll back to the prior upper_changes snapshot - as though the sfs had been unloaded.

_________________
( ͡° ͜ʖ ͡°) :wq
Fatdog multi-session usb

echo url|sed -e 's/^/(c/' -e 's/$/ hashbang.sh)/'|sh
Back to top
View user's profile Send private message 
wiak

Joined: 11 Dec 2007
Posts: 1828
Location: not Bulgaria

PostPosted: Tue 03 Sep 2019, 21:06    Post subject:  

rockedge wrote:
I added a copy of the simple firstrib00.plug in my previous post here ->
http://murga-linux.com/puppy/viewtopic.php?p=1035969#1035969


Thanks, rockedge. Have added link to user contributed plugins post. Did the addition from my android phone whilst reading a book in a cafe..., so couldn't download as yet, but hope I managed the post correctly.

http://www.murga-linux.com/puppy/viewtopic.php?p=1029029#1029029

wiak

EDIT: downloading your firstrib00.plug and building from it now. Nicely done rockedge. Simple build but not at all simplistic - familiar jwm desktop and very useful indeed.
EDIT2: Posting from it now. Were a few warnings during boot, including something about alsactrl I think, but surprisingly I just tried Firefox and a youtube video and video and sound working fine! Needs some fonts to make firefox text nicer, but I expect that a small install anyway (I've never done much with fonts so don't really know). [EDIT: since noticed most webpage font rendering smooth and fine - but not good on murga forum for some reason - any ideas? need microsoft webfonts (msttcorefonts)?]EDIT2: 'Fixed' it from Firefox Preferences: under Fonts and Colors (Advanced): unticked "Allow pages to choose their own fonts". Looks good now. I suspect adding more fonts would have fixed it in ticked box case (probably needs the likes of Verdana, Arial, Helvetica - so I guess msoft webfonts would be alternative fix).

EDIT3: Have since read: https://unix.stackexchange.com/questions/226831/how-can-i-improve-the-font-rendering-in-firefox
which details how to add file .fonts.conf (in your home directory). I haven't tried yet.
http://blog.brunomiguel.net/geekices/how-to-get-good-font-rendering-in-void-linux/
https://www.reddit.com/r/voidlinux/comments/b6a8f8/firefox_ugly_fonts_rendering/
https://www.reddit.com/r/voidlinux/comments/b4v2gj/ms_fonts/
Haven't tried any of the above yet either... (google-fonts-ttf is huge... so won't be using that) I can't remember much about fonts but do remember I used to copy msttcorefonts over to appropriate directory on other linux systems and that usually fixed issues. But that last reddit link above seems to show how to build Void package msttcorefonts using xbps-src. Incredibly this ancient Puppy post provides link to where you can still find a tar.gz of msttcorefonts:
http://murga-linux.com/puppy/viewtopic.php?p=99736#99736
http://www.murga-linux.com/puppy/viewtopic.php?t=44882

Anyway, very usable out of the box despite JWM menu needing fixed up (mtpaint available but not in JWM menu, but all installed apps in desktop applications folder) - excellent starting point for sure. I've actually booted it using my inram.plug on my 4GB phys RAM machine, and booted using copy2ram and changes=RAM whilst giving it 6GB of zram swap, so I'm going to try loading a heap of gmail tabs (since these are heavy) and will watch free output to see how many I can load till it all crashes due to lack of virtual memory - hopefully manage a dozen such tabs (if I'm lucky...)
EDIT3: Well, I couldn't crash the system with 12 tabs each with loaded heavy gmail inbox page, but the system certainly slowed painfully, but that with full copy2ram so hardly surprising. Still have half the zram swap left, but I guess gets slow uncompressing/bringing pages out of that swap area when the uncompresses tmpfs RAM is pretty much all used up. My CPU is an old 2008 Intel Core2Duo (HP Elitebook 2530p) so not super fast either - okay though.

wiak
screenshot_rockedge_scrot.jpg
 Description   
 Filesize   48 KB
 Viewed   260 Time(s)

screenshot_rockedge_scrot.jpg


_________________
Tiny Linux Blog: http://www.tinylinux.info/
Check Firmware: www.murga-linux.com/puppy/viewtopic.php?p=1022797
tinycore/slitaz: http://www.murga-linux.com/puppy/viewtopic.php?p=990130#990130
Back to top
View user's profile Send private message 
rockedge


Joined: 11 Apr 2012
Posts: 1281
Location: Connecticut, United States

PostPosted: Wed 04 Sep 2019, 08:56    Post subject:  

some good points wiak!

I'll will refine and improve the firstrib00.plug to be more complete as far as the failed partition icon at the bottom left..something more to insure there is no broken link

perhaps some more fonts and fix up the menu to include the actual programs present!

get the plug to the point it will set up a basic familiar desktop with very few missed items!

I think once we see what works and what happens across different machines we could present some more plugs with alternative window managers and file managers

the scripts make it all very customizable and the simple plugs will inspire others to come up with some really good ones

I will also improve the zoneminder build script and include it as a step by step guide for anyone to successfully build a camera security system. Even though there will be manual steps it will be clear what to do.

_

Last edited by rockedge on Wed 04 Sep 2019, 08:59; edited 2 times in total
Back to top
View user's profile Send private message Visit poster's website 
Display posts from previous:   Sort by:   
Page 28 of 48 [709 Posts]   Goto page: Previous 1, 2, 3, ..., 26, 27, 28, 29, 30, ..., 46, 47, 48 Next
Post new topic   Reply to topic View previous topic :: View next topic
 Forum index » Advanced Topics » Puppy Projects
Jump to:  

You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum
You cannot attach files in this forum
You can download files in this forum


Powered by phpBB © 2001, 2005 phpBB Group
[ Time: 0.2311s ][ Queries: 13 (0.0375s) ][ GZIP on ]