DebianDog64 - 64 bit DebianDog-Jessie

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

#401 Post by rufwoof »

trister wrote:Very interesting ...

My question is for DD64 Jessie:
Would it be very difficult to have the kernel file updated and update the contents of 01-filesystem.squashfs so by just replacing these 2 files we would have DD64 stretch/Debian9 version?
Am I oversimplifying the process? (I am not experienced in upgrading/compiling kernels)
I run Boot-3 systemD style. Where the save space is a partition (instead of a file or folder). Which means I can extract everything from filesystem.squashfs to that save space and boot it as though a full install. I don't compile the kernel or anything like that, just use Debian updates (apt-get update).

Conceptually I could set up DD64 like that, run apt-get update, apt-get upgrade to update to the latest Jessie, then repoint the repository to Stretch and repeat ... and it would all update to the latest Stretch. And then reform/remaster the main filesystem.squashfs. I suspect however that would increase the filesystem.squashfs filesize significantly and perhaps only be usable as a boot-3 type choice. There's also the risk that the DD specific scripts might no longer work as intended after such updating. A quick test of standard Debian Stretch CLI updated to the latest, with xorg, jwm and rox-filer results in around a 800MB filesystem.squashfs size (2GB uncompressed size, using gzip compression). Most of that however is the standard debian CLI files. On modern kit, 2GB of ram is relatively small nowadays (enough to fit the whole image into memory, bearing in mind a lot might not even be used during the average session).

One way might be to update just Debian standard (CLI) to the latest Stretch and then strip that down to just the 'required' packages, along with moving locale's ...etc outside of that, and then apt-get install xorg rox-filer jwm on top of that. However my own personal situation is that I don't need a small filesize as modern kit tends to have more than enough disk space and memory to not have to bother. I'm content to run frugally as I prefer that (read only with optional save) to running full installs where all changes are made persistent as and when they occur.

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

#402 Post by rufwoof »

I extracted DD64 Jessie into my persistence partition, updated/upgraded that (after un-pinning everything (such as pinned kernel)) ... changed the repository to Stretch and updated/upgraded/dist-upgraded that ... (along with installing live-boot and aufs-dkms) and its now running as Stretch.

I've switched the default page over to Rox style, otherwise identical to DD64. Merged it all into a filesystem.squashfs and frugally booted that boot3 style with a additional union=aufs kernel boot parameter ... to post this. filesystem.squashfs size is 488MB using default gzip compression.

Haven't tried much out yet. My flush2disk seems to work ok (preserves changes). Some things are clearly wrong however such as synaptic not having a scrollbar and some windows menu options overlap with others. But at least no apparent major bugs/problems.
Attachments
debdog-20170329203737.jpg
(55.66 KiB) Downloaded 322 times

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

#403 Post by rufwoof »

Using a persistence file (file filesystem) instead of a persistence partition i.e. as outlined just over halfway down this page it boots fine, but flush2disk (that targets a save partition) doesn't work. Off the top of my head I can't recall how to save to a persistence file filesystem, but shouldn't be difficult to resolve. COW comes to mind, and the relevant directories already seem to be there.

The description of how to create a persistence file in that URL/guide above looks wrong to me. Saying ...

Code: Select all

dd if=/dev/null of=/path-to/persistence bs=1M seek=2000 # for 2GB save file
mkfs.ext3 -F /path-to/persistence
Instead of seek=2000 I use count=2000

Code: Select all

cd to where I want the file and ...
dd if=/dev/zero of=persistence bs=1M count=2000 # for 2GB save file
mkfs.ext3 -F /path-to/persistence
Using /dev/zero is perhaps also better as initialised all to zero value content will likely make compression of that file produce a smaller output. Don't forget that the persistence file needs a persistence.conf file within that
mkdir m
mount persistence m
cd m
echo / union >persistence.conf
echo >>persistence.conf
cd ..
umount m
rmdir m

One other bug that's occurring for me is during bootup its complaining about the filesystem needing fixing ... press control-D to continue. I've just been hitting ctrl-d to carry on booting as normal, without having paid much attention to the warning. But something that will need to be investigated/fixed.

If there's enough interest I could upload the frugal boot (to boot using grub4dos) for others to download and play with. If not I'll throw it onto the back burner to toy with just for myself. Bear in mind that it contains the Out house sink i.e. I just mksquashfs'd everything (entire partition), so has my menu.lst, boot folder ...etc in the filesystem.squashfs (no personal data/stuff though ... at least I think not :( ).
Attachments
debdog-20170329212555.jpg
(48.93 KiB) Downloaded 312 times

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

#404 Post by rufwoof »

If there's enough interest I could upload the frugal boot (to boot using grub4dos) for others to download and play with. If not I'll throw it onto the back burner to toy with just for myself. Bear in mind that it contains the Out house sink i.e. I just mksquashfs'd everything (entire partition), so has my menu.lst, boot folder ...etc in the filesystem.squashfs (no personal data/stuff though ... at least I think not :( ).
Might as well post the link to the file for anyone interested : 550MB DD64Stretch.sfs. Contains a persistence save file with a few of my own tweaks/changes such as fonts and NoScript/Ublock-Origin added to the Palemoon web browser.

Very alpha. So make sure you have backups etc. before trying.

Typically for a frugal boot using grub4dos - extract the sfs to the root folder of your ext2/3/4 partition and use the menu.lst within that as a guide for the entry to put in your own menu.lst.

Will update and has all of the Debian Stretch repository available (best accessed using apt-get ... something like

apt-get update
apt-get install libreoffice

using libre office as a example ... but as it currently stands it wont save changes.

Personally I prefer firefox to palemoon

apt-get install firefox-esr

synaptic and galculator are good examples of the display bugs I'm seeing at present. There's also that bootup bug I mentioned earlier (Ctrl-D to continue booting).

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

#405 Post by rufwoof »

Attached is the bug I'm seeing. galculator and synaptic both exhibit similar problems displaying lines/borders.

Perhaps a gtk issue (DebDog's tend to have "install recommended" set off. And I'm guessing that if I open that up the install size might expand massively).

Other than that and the bootup issue ... Debian Stretch along with DD64 is working very well.
Attachments
debdog-20170330020145.jpg
(31.81 KiB) Downloaded 276 times

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

#406 Post by rufwoof »

Boot up issue where you have to press Ctrl-D was down to a spurious entry in /etc/fstab. With that commented out the problem was resolved.

User avatar
Moat
Posts: 955
Joined: Tue 16 Jul 2013, 06:04
Location: Mid-mitten

#407 Post by Moat »

Hi rufwoof -
rufwoof wrote:Attached is the bug I'm seeing. galculator and synaptic both exhibit similar problems displaying lines/borders.
I'm not entirely sure, but believe this to be a Gtk themeing issue - i.e.; newer Gtk3 lib versions are breaking older Gtk3 themes. I'm seeing the exact same behavior on a new Fedora install I've been playing with lately - all of my personal, favorite and well-tweaked Gtk2/3 themes are broken! :x This type of "regression" pisses me off to no end, honestly.

I'd suggest trying some very recent themes (from where... not sure - Stretch's repo, maybe?) and see if you can find a theme(s) you like that fixes the issue. The Adwaita theme that shipped with this (Exton) Fedora 25 works fine, for example.

Or roll back to an earlier Gtk3 version, possibly? (although who knows - that might end up breaking other things...)

FWIW!

Bob

trister
Posts: 137
Joined: Sun 01 Mar 2015, 21:16

#408 Post by trister »

rufwoof wrote:
Might as well post the link to the file for anyone interested : 550MB DD64Stretch.sfs. Contains a persistence save file with a few of my own tweaks/changes such as fonts and NoScript/Ublock-Origin added to the Palemoon web browser.

Very alpha. So make sure you have backups etc. before trying.
Thanks :) :)

I will create a new folder and use your SFS instead of original filesystem.squashfs
I am using grub4dos and it is very easy to make as many test frugal install as I want :)

I will try and check it using my own squashfs of firefox and other apps from my own storage (links I posted above)

at this point I mainly save in Changes.dat file (most of the times using EXIT: )

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

#409 Post by rufwoof »

trister wrote:I will try and check it using my own squashfs of firefox and other apps from my own storage (links I posted above)

at this point I mainly save in Changes.dat file (most of the times using EXIT: )
Don't forget to copy the persistence file to the root folder of a ext2/3/4 partition as that's the save file in this case. That's a filesystem file as per halfway down this page https://github.com/DebianDog/Jessie/wiki/Live-boot-3 originally created by cd'ing to where I wanted that file and

dd if=/dev/zero of=persistence bs=1M count=2000 # for 2GB save file
mkfs.ext3 -F persistence

then mounted

mkdir m
mount persistence m

and create a persistence.conf file within that

cd m
echo / union >persistence.conf
echo >>persistence.conf

(note the second empty echo just ensures there is the required blank line after the first line)

then unmount
cd ..
umount m

You can use the same mount and umount method to view the contents of that save file, or even create a new one and move everything over from the old to the new ... etc.

Personally I use a actual partition for the save file i.e. ext HDD partition that has that persistence.conf file in it, and I use gparted to allocate a partition label of "persitence" (without the quotes). From there is the /live/filesystem.squashfs is extracted to that
cd /live
unsquashfs -f -d /mnt/sda1 filesystem.squashfs
(changing sda1 to wherever you might have created the persistence partition), then you can boot that as though a full install (read/write, changes stored as they occur), which is handy for performing kernel updates i.e. if apt-get update, apt-get upgrade has a linux... (kernel) update in it. Installed that way the filesystem.squashfs can be recreated empty as everything is in the save space (but Fred likes to leave the original as you can boot just that as a read only version of the original content only by removing the persistence... references in the bootup kernel line).

In /live if there is a filesystem.module file then that is used at bootup to determine which sfs's get loaded and in which order (without that module file all .squashfs in /live get loaded in alpha-numeric sorted order). I prefer to use a .module file as that way you can have a number of sfs's in that /live folder, but just choose which ones get loaded at bootup and at what layer, by including them in filesystem.module. Again personally I no longer use additional sfs's myself, just have a single filesystem.squashfs in the /live folder that I created empty (as everything is being stored in the save space, which is the hard disk in my case).

mkdir aaa
mksquashfs aaa filesystem.squashfs
rmdir aaa

That way I can boot frugally (and use flush2disk to save changes), or but as though fully installed to apply updates (including any kernel updates that might come along).

apt-get update
apt-get upgrade

Does require that the / of a ext3 partition (in my case) is solely used by the installation, but that also includes the /live folder and grub4dos bootloader (menu.lst) and maybe even other puppy folders/installations.

If you stick with just the Debian repository for Jessie stable that has worked well for me. Lots of programs on hand and that tend to work well (Debian stable), but that aren't the latest versions of those programs (goes hand in hand, stability comes with having been time-tested). And you have the best of both debian-like and puppy-like (frugal booting etc) worlds.

Enough already ... I'm off to have a look at updating gtk themes as you indicated earlier. Thanks for that.

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

#410 Post by rufwoof »

That was quick and easy ... thanks Trister

Opened up synaptic (desktop icon)
Clicked Reload to update its memory
Searched for adwaita and clicked the gnome choices, set as 'marked' for install. Click apply and installed ok. Then changed the desktop theme choice to use that newly installed theme and ... looking good :)
Attachments
debdog-20170330103207.jpg
(47.18 KiB) Downloaded 416 times

trister
Posts: 137
Joined: Sun 01 Mar 2015, 21:16

#411 Post by trister »

Very quick I tried these 2 menu items ( Ibet they are wrong but I wanted to try them anyway :) ) :

Code: Select all

title ok 4.STRETCH-dd64 PorteusDog STRETCH
find --set-root --ignore-floppies /puppy_debiandog64stretchRoofwof/initrd1.xz
kernel /puppy_debiandog64stretchRoofwof/live/vmlinuz1 from=/puppy_debiandog64stretchRoofwof/ changes=EXIT:/puppy_debiandog64stretchRoofwof/changes.dat nomodeset
initrd /puppy_debiandog64stretchRoofwof/live/initrd1.xz


title 1.STRETCH-dd64 PorteusDog STRETCH
find --set-root --ignore-floppies /puppy_debiandog64stretchRoofwof/initrd1.xz
kernel /puppy_debiandog64stretchRoofwof/live/vmlinuz from=/puppy_debiandog64stretchRoofwof/ changes=EXIT:/puppy_debiandog64stretchRoofwof/changes.dat nomodeset
initrd /puppy_debiandog64stretchRoofwof/live/initrd.img
The first uses vmlinuz1 and initrd1.xz from the porteus DD64 jessie. This option (with your filesystem) begins starts the desktop , conky show that I am running Debian Stretch and shows live CPU activity BUT nothing else works - no keyboard /mouse / network seem to work.

The second menu entry stucks at boot before any graphical GUI is started.
This might be cause of the strange PC I own at work - (Can boot ONLY with DD64 porteus boot , fluppy linux, fatdog64 and DigiWiz Windows XP live CD -nothing else works).
When I go home I'll do some better attempts.


Thanks for the "peristence" tip. I do not have in all my PCs linux partitions.

(@rufwoof : moat suggested the fix not me :) )

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

#412 Post by rufwoof »

trister wrote:The first uses vmlinuz1 and initrd1.xz from the porteus DD64 jessie. This option (with your filesystem) begins starts the desktop , conky show that I am running Debian Stretch and shows live CPU activity BUT nothing else works - no keyboard /mouse / network seem to work.
I don't think you can just and match like that. Updating to stretch creates new versions of vmlinuz specifically for that kernel version.Cs linux partitions.

If have a spare/empty ext2,3,4 partition, then you could try it out like I have it installed. i.e. everything extracted to the / partition so it can be booted like a full install (and flush2disk command works OK when booted frugally). That way eliminates any conflicts between overlaid versions as everything is in the save space. My initial install backup copy is stored here Has been personalised to my hardware i.e. 32" TV as a monitor 1280x768 screen resolution, but no personal data.

If you did download and extract that
unsquashfs -f -d /mnt/sda1 <filename.sfs>
changing sda1 to where your partition was ... then likely the full boot choice (first in menu.lst) wouldn't work because its set to my PC's UUID. To correct that run
blkid
command and note the UUID of the partition and edit that into /boot/grub/menu.lst (near the bottom). After that it should boot OK.

bootloader
save partition
live folder (can also add other puppies as well)
and even the swap if you want one (i.e. create and activate a swap file using dd and mkswap)
... all in the same single partition. That can be booted like a full debian read/write install and be updated to the latest stable version of debian
apt-get update
apt-get upgrade

I boot that way to apply large updates such as when a kernel upgrade/fix is rolled out. Conceptually it makes DD64 generic as well as updating it that way keeps you current (latest Debian Stable). I don't browse/use full booted however for work/activity and instead reboot into frugal mode and typically don't save ... so that I boot factory fresh each and every time (saving work/data outside of that). flush2disk can save changes, such as if you boot and run apt-get update, apt-get upgrade and some minor debian updates are apparent, in which case installing those and then running flush2disk to save them can be OK.

If you create a persistent-data or suchlike folder in that and symlink it into your home folder (the bottom (read/write) layer is buried down in /lib/live/mount/persistence/sda1/...) then anything stored in that will persist across reboots even if a save (flush2disk) isn't run. So the same partition for data/docs as well

Having everything like that in a single partition makes backups easy. I just use sdb2 for that i.e. cd /mnt/sdb2 and
mksquashfs /mnt/sda1 backup-date.sfs

and to restore empty the sda1 and then run
unsquashfs -f -d /mnt/sda1 backup-date.sfs
(@rufwoof : moat suggested the fix not me :) )
Whoops! Sorry Moat ... and thanks. Worked like a charm :)

User avatar
Moat
Posts: 955
Joined: Tue 16 Jul 2013, 06:04
Location: Mid-mitten

#413 Post by Moat »

rufwoof wrote: ... and thanks. Worked like a charm :)
Ahh... great! Glad it worked. :)

Bob

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

#414 Post by rufwoof »

Using my installed approach i.e. all of the main filesystem.squashfs extracted to the save partition (like the copy I shared a couple of posts back), I tried out Apt2SFS when frugally booted. The first time I tried the menu, module tools, Apt2SFS choice and it didn't work. I then tried the menu, module tools, Apt2SFS for full install and it did work.

I used libreoffice as the choice of app and took a minute or so to run through and produced a libreoffice.squashfs in the / folder which I moved over to /lib/live/mount/persistence/sda1/live folder (i.e. lowest level that is read/write). I then edited /lib/live/mount/persistence/sda1/live/filesystem.module to add libreoffice.squashfs as the second line and rebooted without saving and that libreoffice sfs loaded up OK.

The libre menu fonts were small for me, using Tools, Options, LibreOffice, View and setting Scaling to 140% and then restarting LibreCalc corrected that. I guess a flush2disk would also be appropriate to preserve that configuration edit (i.e. would be saved somewhere under your home directory).

Personally I don't tend to use sfs's however. Having it all in a ext HDD partition and disk space being relatively inexpensive nowadays its just as easy to reboot frugally so nice and fresh and install it

apt-get update
apt-get install libreoffice

and then flush2disk to save those changes. That way Debian will take care of any security patches/updates (whereas a sfs is a fixed ... after some time historical version).

Which reminds me, the multimedia repository is commented out in /etc/apt/sources.list. So if you want yet further programs available that would need to be uncommented. IIRC I think you have to set up a keyring or something like that to be able to access those repositories. I don't know what's in the multimedia repository, for instance with that commented out in /etc/apt/sources.list you can still install the likes of openshot (video editor)
apt-get update
apt-get install openshot
...etc.

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

#415 Post by rufwoof »

Just installed kinfocenter
apt-get install kinfocenter
and like libre that also has small looking fonts.

Image
(Clickable thumbnail)

Perhaps I need to install something like qt config and tweak the font settings

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

#416 Post by fredx181 »

WOW, new development on DD64, good to see!! :)

For info, here's (for Jessie however, a bit off-topic at the moment :D ) a guide for How Create your own DebianLive from netinstall and also include porteus-boot style

Fred

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

#417 Post by rufwoof »

a guide for How Create your own DebianLive from netinstall and also include porteus-boot style
Great guide Fred.
new development on DD64
Not really development, more a case of apt-get'ing along with dist-upgrade of DD-Jessie to Stretch

Like these for instance for fonts

apt-get install ttf-mscorefonts-installer
apt-get install ttf-liberation

After installing I opted mostly for Arial and its looking nice

Image
(clickable thumbnail, then view image and zoom to full size (jpeg image compression looks a bit lossy, actual display looks better))

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

#418 Post by rufwoof »

Calling Fred/anyone ... HELP!

USB stick, install grub4dos to that, along with boot and live folders, but with all of the /live/filesystem.squashfs extracted and a empty filesystem.squashfs left in its place ... where that extracted filesystem.squashfs is extracted to a ext filesystem file created using dd and mkfs, where that filesystem file is set up like a persistence file i.e. file name of persistence and contains a persistence.conf file containing / union

.... and that file can be dropped into the root of a NTFS partition and booted using persistence persistence-read-only boot parameters.

Try and boot it read/write (no persistence-read-only boot parameter) and it will fail because NTFS and Linux don't get along so well. But as a pure read only boot it works fine.

So you could have a very small boot USB with grub4dos, /boot and /live folders with /live holding a empty filesystem.squashfs ... perhaps less than 64MB USB size being more than adequate, along with the main extracted filesystem residing in a file on a NTFS system ... and boot that as though a read only frugal dog/puppy.

Nice and neat. Download a small .img file, burn that quickly to a usb to use for booting, download the main persistence file and drop that into the root partition of a NTFS system. Boot the usb and it loads the persistence file on the HDD NTFS system (runs quick).

It doesn't seem a massive leap to, once booted read only, to create a save2flash script to open up that ext filesystem within the NTFS partition to write those memory recorded changes. For instance instead of using the default persistence filename of 'persistence' I opted to use a name of workp just to ensure I didn't have overlaps/confusion and I set the kernel boot parameter persistence-label=workp ... and that's booted fine. My sda3 is NTFS format and I can create a folder p and mount that

# mount /lib/live/mount/persistence/sda3/workp p

but it mounts read only

Code: Select all

# mount -l | grep sda3
/dev/sda3 on /lib/live/mount/persistence/sda3 type ntfs (ro,noatime,uid=0,gid=0,fmask=0177,dmask=077,nls=utf8,errors=continue,mft_zone_multiplier=1) [DATA]
/lib/live/mount/persistence/sda3/workp on /home/user/p type ext3 (ro,relatime,data=ordered)
Unfortunately I don't know enough about NTFS nor remounting to enable that to be changed to being read/write.

If that can be got to work it seems a nice alternative method of frugal type booting for some. Small usb to boot from, main filesystem in a NTFS based single file, that boots read only, but where changes can be preserved (if this last issue can be resolved).

TIA

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

#419 Post by fredx181 »

Hi rufwoof,

I'm not sure if it's the same issue as you describe, but long time ago we discussed in one of the DD threads persistence on NTFS, and if I remember well Toni found a fix (probably persistence file is not supported on NTFS by default, but can't remember exactly)
Have a look here: https://github.com/MintPup/DebianDog-Wheezy "Support for persistence file on NTFS partition"
Looks like that you need to replace "9990-misc-helpers.sh" with that patched script inside the initrd to make it work on NTFS.

EDIT: and probably more required, looking here:
https://github.com/MintPup/DebianDog-Wh ... e-ntfs.txt
I don't know enough about NTFS either, so can't help further, I'm afraid.

Fred

jd7654
Posts: 296
Joined: Mon 06 Apr 2015, 16:10

#420 Post by jd7654 »

Just recently tried DD, and was wondering why persistence didn't work until I moved persistence file from NTFS to Ext4 partition.

I haven't tried Xenialdog yet. Is this fixed there or same problem with NTFS as in DD?

Post Reply