Light-Debian-Core-Live-CD-Wheezy + Porteus-Wheezy

For talk and support relating specifically to Puppy derivatives
Message
Author
User avatar
saintless
Posts: 3862
Joined: Sat 11 Jun 2011, 13:43
Location: Bulgaria

#3241 Post by saintless »

Peasyglue 1.8 debian package made for smaller size.
http://smokey01.com/saintless/Fredx181/ ... 8_i386.deb
Added only the needed files from wheezy dependencies in /opt/lib and /opt/bin. This way the bigger dependencies package can be safely installed/uninstalled without breaking peasyglue.
Uninstall peasyglue 1.7 deb if it is installed because the executable is in /opt/bin. This new one keeps the executable symlink in /usr/local/bin as it is in the pet package.

Anikin, can you. please, test if it works for you in Wheezy and Sid when you have time?

Fred, I plan to include this deb in Jwm. It adds only 268k uncompressed as it is now. With full netpbm dependencie it is over 3Mb.

Toni

anikin
Posts: 994
Joined: Thu 10 May 2012, 06:16

#3242 Post by anikin »

Hi Toni, Fred and everyone,

Works absolutely fine in DD, but doesn't start in SID:

Code: Select all

root@debian:~# peasyglue
/usr/local/bin/peasyglue: 33: export: Illegal option -f
root@debian:~#

mcewanw
Posts: 3169
Joined: Thu 16 Aug 2007, 10:48
Contact:

#3243 Post by mcewanw »

anikin wrote:Hi Toni, Fred and everyone,

Works absolutely fine in DD, but doesn't start in SID:

Code: Select all

root@debian:~# peasyglue
/usr/local/bin/peasyglue: 33: export: Illegal option -f
root@debian:~#
In DebianDog, /bin/sh is linked to /bin/bash. export -f is a bashism so bash is needed to export functions; dash won't do. I believe that is the problem you have at the moment.

William
github mcewanw

anikin
Posts: 994
Joined: Thu 10 May 2012, 06:16

#3244 Post by anikin »

William,

Thank you for the lead.

Being totally innocent of b/d/ashisms, had a quick crash course here ==>https://wiki.debian.org/DashAsBinSh
Am I doing it right?

Code: Select all

root@debian:~# dpkg-reconfigure dash
Removing 'diversion of /bin/sh to /bin/sh.distrib by dash'
Adding 'diversion of /bin/sh to /bin/sh.distrib by bash'
Removing 'diversion of /usr/share/man/man1/sh.1.gz to /usr/share/man/man1/sh.distrib.1.gz by dash'
Adding 'diversion of /usr/share/man/man1/sh.1.gz to /usr/share/man/man1/sh.distrib.1.gz by bash'
root@debian:~# cd /tmp
root@debian:/tmp# dpkg -i peasyglue_1.8_i386.deb
Selecting previously unselected package peasyglue.
(Reading database ... 32166 files and directories currently installed.)
Preparing to unpack peasyglue_1.8_i386.deb ...
Unpacking peasyglue (1.8) ...
Setting up peasyglue (1.8) ...
Processing triggers for menu (2.1.46) ...
root@debian:/tmp# peasyglue
/usr/local/bin/peasyglue: line 309: gtkdialog3: command not found
root@debian:/tmp#
This SID is a half-*ssed, self-made contraption - a skeleton, actually. Stuff is expected to be missing.

User avatar
saintless
Posts: 3862
Joined: Sat 11 Jun 2011, 13:43
Location: Bulgaria

#3245 Post by saintless »

Thank you, William!

Anikin, the deb package replaced with change in peasyglue executable #!/bin/sh to #!/bin/bash
It should work without changing sh to bash in SID now.
gtkdialog3 - you can copy /opt/bin/gtkdialog3 from DebianDog in SID and test again. You can also try just to symlink gtkdialog from SID to gtkdialog3 to see if this works.

Toni

User avatar
fredx181
Posts: 4448
Joined: Wed 11 Dec 2013, 12:37
Location: holland

#3246 Post by fredx181 »

Hi Toni,
Anikin, the deb package replaced with change in peasyglue executable #!/bin/sh to #!/bin/bash
I am afraid that won't help because still then gtkdialog depends on symlink sh > bash.
That's why we needed to make symlink /bin/sh to /bin/bash in the past (same problem as with pburn and frisbee).

Anikin, dpkg-reconfigure dash should do fine like you did.

Fred

User avatar
saintless
Posts: 3862
Joined: Sat 11 Jun 2011, 13:43
Location: Bulgaria

#3247 Post by saintless »

Thanks, Fred! Didn't think about gtkdialog.
deb replaced again with #!/bin/sh

Toni

User avatar
saintless
Posts: 3862
Joined: Sat 11 Jun 2011, 13:43
Location: Bulgaria

#3248 Post by saintless »

Edit: No longer supported by me. For download links for kernel modules, initrd file, more information and help ask Stemsee.
The changes I made in initrd file are at the end of this post. It will be easy to reproduce them.


Original post:

For anyone interested - Puppy initrd boot for DebianDog (experimental):
Kernel modules available for download here:
https://9eb8f45ca0acc9dd68fbe8a604cd729 ... itrd-boot/
Extract the archive inside /live
Download initrd.gz and move it inside /live

Example boot code for sda1:

Code: Select all

title DebianDog-Puppy
root=(hd0,0)
kernel /live/vmlinuz pmedia=atahd psubdir=live pfix=nocopy
initrd /live/initrd.gz
initrd.gz - initrd with small changes made from Shinobar for slacko 6 and taken from here:
http://shinobar.server-on.net/puppy/slacko/test/
All kernels work with the same initrd.gz file.

Archive content:
vmlinuz + kernel-modules.sfs - almost all compiled from Stemsee for Puppy linux and DebianDog.


Maximum xz compression used for initrd.gz and kernel-modules.sfs

initrd.gz depends on 01-filesystem.squashfs DebianDog module name.
If you use remastered module with different name symlink 01-filesystem.squashfs also works.

If you create save folder named debdogsave inside /live or save file debdogsave.2fs, 3fs, 4fs it will be loaded on boot.
If save folder and save file present there will be choice prompt which one to use or to ignore both.
Sfs files inside /live named ydrv_debdog.sfs and adrv_debdog.sfs will be auto-loaded on boot.

/live/cow and /live/image links will be autocreated depending on save file/folder is used or not.

On first boot you will get prompt to search for swap file/partition and mount it.

Overlay order from what I tested so far (not sure if it is the same in Puppy).
If you have file with the same name and location in all modules the last one will appear after boot
(or 04 overlay 03 overlay 02 overlay 01):

01) 01-filesystem.squashfs
02) ydrv_debdog.sfs
03) adrv_debdog.sfs
04) save-file/folder

Changes inside initrd.gz:

DISTRO_SPECS changed to:

Code: Select all

DISTRO_NAME='DebianDog-Wheezy-Puppy'
DISTRO_VERSION=7.2
DISTRO_BINARY_COMPAT='debian'
DISTRO_FILE_PREFIX='debdog'
DISTRO_COMPAT_VERSION='debian'
DISTRO_XORG_AUTO='yes'
DISTRO_TARGETARCH='x86'
DISTRO_DB_SUBNAME='debian'
DISTRO_PUPPYSFS=01-filesystem.squashfs
DISTRO_ZDRVSFS=kernel-modules.sfs
DISTRO_ADRVSFS='adrv_debdog.sfs'
DISTRO_YDRVSFS='ydrv_debdog.sfs'        

init - added at the end:

Code: Select all

##################################Changes for DebianDog start: ###############################

# Create symlinks /live/image /live/cow depending on save file/folder is in use or not:
mkdir -p /pup_new/live
ln -s /initrd/pup_rw /pup_new/live/cow
if [ $PUPMODE -eq 12 -o $PUPMODE -eq 13  ];then
ln -s /initrd/mnt/dev_save /pup_new/live/image
else
ln -s /initrd/mnt/dev_ro2 /pup_new/live/image
fi
# Prompt to mount swap partition or /live/image/pupswap.swp:
echo '#!/bin/bash

swapcheck() {
/opt/bin/mount-swap
rm -f /root/Startup/swap-start
rm -f /initrd/tmp/swap-prompt
}

echo ###
echo "Do you want to check for SWAP partition or pupswap.swp file and mount it?"
echo ###
echo "1)Yes, check and mount."
echo "2)No, close this window."
echo ###
echo "Type the number and press Enter."
echo ###

read n
case $n in
    1) swapcheck;;
    2) exit;;
esac
exit 0' > /pup_new/initrd/tmp/swap-prompt
chmod u+x /pup_new/initrd/tmp/swap-prompt

mkdir -p /pup_new/root
mkdir -p /pup_new/root/Startup
echo '#!/bin/bash
if [ -f /initrd/tmp/swap-prompt ]; then
xterm -e /initrd/tmp/swap-prompt
fi
exit 0' > /pup_new/root/Startup/swap-start
chmod u+x /pup_new/root/Startup/swap-start

################################## Changes for DebianDog end. ######################################    

What we get to the moment is Puppy kernel and structure with Puppy save file/folder option keeping DebianDog main module untouched.
I'm not sure yet what will become from this optional boot method but it is good to have it anyway.

Copy to Ram creates troubles on my machine. I use pfix=nocopy for PC with more than 256 MB Ram.
Last edited by saintless on Mon 02 Feb 2015, 17:09, edited 3 times in total.

stemsee

#3249 Post by stemsee »

@saintless

I am really enjoying DebianDog with this boot method the most, but that's just me! Thanks for sharing your work.

Also remind anyone that DebianDog has a script to create new savefile, which can be used in puppy or DebianDog, or Ubuntu possibly (casper-rw ?)

I also want to look at bootmanager (or DebianDog init section in initrd) for loading 7 (pup_ro3 -9) more sfs modules in DebianDog at boot time, because why not?

cheers!
Last edited by stemsee on Fri 11 Jul 2014, 17:26, edited 3 times in total.

User avatar
saintless
Posts: 3862
Joined: Sat 11 Jun 2011, 13:43
Location: Bulgaria

#3250 Post by saintless »

Hi, Stemsee.

Use it only with unmounted (not in use) save file from menu Utility --> Resize save File, or from terminal:

Code: Select all

resize-save
Read here before using resize-save:
http://www.murga-linux.com/puppy/viewto ... 350#776350

Anything you can share or report about puppy initrd boot is welcome. It is work in progress and any improvements will be added.
Information added in first page in boot methods post:
http://www.murga-linux.com/puppy/viewto ... 571#771571

Edit:
stemsee wrote:Also remind anyone that DebianDog has a script to create new savefile, which can be used in puppy or DebianDog, or Ubuntu possibly (casper-rw ?)
Yes, from Utility --> Make Save File (/opt/bin/mk-save.gtkdlg) you can give any name (live-rw, casper-rw, debdogsave.2fs, pupsave.2fs, changes.dat, persistence...) format to ext2, ext3, ext4 and also option to add label needed in some situations for live-rw and persistence. The save file is the same that puppy uses. Just the name is different for each boot method.

anikin
Posts: 994
Joined: Thu 10 May 2012, 06:16

#3251 Post by anikin »

Copied gtkdialog3 from DD to opt/bin in SID - the same error:

Code: Select all

/usr/local/bin/peasyglue: line 309: gtkdialog3: command not found

Placed it in usr/sbin and symlinked back to opt/bin, that error's gone, but have a new one:

Code: Select all

root@debian:~# peasyglue
gtkdialog3: error while loading shared libraries: libglade-2.0.so.0: cannot open shared object file: No such file or directory
root@debian:~#

User avatar
saintless
Posts: 3862
Joined: Sat 11 Jun 2011, 13:43
Location: Bulgaria

#3252 Post by saintless »

anikin wrote:

Code: Select all

root@debian:~# peasyglue
gtkdialog3: error while loading shared libraries: libglade-2.0.so.0: cannot open shared object file: No such file or directory
root@debian:~#
This means you have much more missing from DD. libglade2-0 is dependencie for Rox-filer, gtkdialog, frisbee.
You can install it with apt-get or copy/paste from DD /usr/lib
If it still does not work try installing this gtkdialog package and apt-get -f install after that:
http://smokey01.com/saintless/Fredx181/ ... -0.8.3.deb

You need to add /opt/bin in PATH in /etc/profile or just do not use /opt/bin Use /usr/bin or /usr/local/bin instead.

Toni

anikin
Posts: 994
Joined: Thu 10 May 2012, 06:16

#3253 Post by anikin »

I think, I'll put the whole thing aside for now, then compile gtkdialog3 and whatever is required in SID. Also, Pup volume monitor (from DD) doesn't work in SID, will compile it too.

Toni, do you know, how to setup urxvt as default in DD?

User avatar
saintless
Posts: 3862
Joined: Sat 11 Jun 2011, 13:43
Location: Bulgaria

#3254 Post by saintless »

Hi, Anikin.

Use Set Default Apps from the menu for urxvt:
http://murga-linux.com/puppy/viewtopic. ... 216#773216
Or simply change the link /usr/local/bin/default_virtual-terminal to point urxvt instead xterm.

Same pup volume monitor works in DebianDog SID and Jessie upgrades. I guess it is only dependencies problem in your SID version.

Toni

User avatar
fredx181
Posts: 4448
Joined: Wed 11 Dec 2013, 12:37
Location: holland

#3255 Post by fredx181 »

Hi, Toni
I've added besides /tmp also option for / in remasterdog for testing.
I think it's nice addition for those who don't have ext2,3,4 partition and are booting from FAT or NTFS.
It checks available size in / and gives message when it's not enough.

Also I changed little bit in calculation of size for /tmp, it really was to much on the safe side.
Added /var/cache/apt and /var/lib/apt as excluded because the contents are going to be deleted anyway later. (This excluding is only for the calculation part, not the actual copying with rsync)

Attached: remasterdog-tmp+root.tar.gz

Fred
Attachments
remasterdog-tmp+root.tar.gz
RemasterDog with added option for /
(2.68 KiB) Downloaded 213 times

User avatar
saintless
Posts: 3862
Joined: Sat 11 Jun 2011, 13:43
Location: Bulgaria

#3256 Post by saintless »

Thanks, Fred!
Added to next version changes post.

Toni

anikin
Posts: 994
Joined: Thu 10 May 2012, 06:16

#3257 Post by anikin »

Hi Toni, Fred and all,

Setting up urxvt as default was dead easy - thanks for the lead. Easier done, than said. Regarding remasterdog, do you think, it's a good idea to make log files in var/log (all, or most of them) zero-sized?

User avatar
saintless
Posts: 3862
Joined: Sat 11 Jun 2011, 13:43
Location: Bulgaria

#3258 Post by saintless »

Hi, Anikin.

I would not recommend adding /var/log files in zerosize section in RemasterDog and RemasterCow.
Some files like btmp, faillog and lastlog are not log text files.
I think zerosizing is different from opening the log file with text editor and deleting the content (what is actually what I do before official remaster for next version). Some log text files may get broken after zerosizing and create boot problem.
And at last log (txt) files with best xz compression add almost nothing to the size anyway.
Some testing could give as more information how safe is zerosizing only *.log files.
But if /var/log is less than 4Mb I think it will not make big size difference after the compression.

Toni

stemsee

#3259 Post by stemsee »

For those with 64bit capable cpu and running puppy boot method with DebianDog here is 64bit kernel and modules. I am posting from DD on this kernel right now!

Advantages are that qemu with kvm can boot 64bit OSes on 32bit DebianDog also. In addition 64bit kernel can access all available memory.

https://drive.google.com/folderview?id= ... sp=sharing

Here is a retro kernel 3.2.6-EmSee-retro no pae @300mhz 1 core.
for puppy boot method

https://drive.google.com/folderview?id= ... sp=sharing

User avatar
saintless
Posts: 3862
Joined: Sat 11 Jun 2011, 13:43
Location: Bulgaria

#3260 Post by saintless »

Thank you, Stemsee!

I can't test 64-bit but the retro kernel gives kernel panic on my hardware:

Image

But the kernel 3.4.94 from Slacko-6.0 beta 2 works for me.
I guess the kernel from Slacko64 - 64 bit will also work for 64-bit computers.

Why don't you open a thread with all download links inside for compiled from you kernels? They will be useful for Puppy also.

Post Reply