Debian Jessie 8.0.0 out, with systemd - consequences?
I have just started working on a poor man's install of Debian 8.0.0 live - The 7.6.0 version has been my daily OS for the last 6 months, only occasionally using Knoppix.
I have used it almost exactly the same way I use poor man's installs of Knoppix, the main difference being pure 64 bits. And with that, somewhat better performance, easier handling of huge amounts of data, Oracle XE 11g, and - in fact easier remastering (mostly a Debian effect).
I had almost forgotten how much the system is in need for a healthy amount of Knoppification, but I run into the problems now, on upgrading. That is in itself an important reason for creating a derivative. Another reason may turn out to be the conversion to systemd init in Debian 8.0.0. I don't really have strong opinions on systemd (I think Linus Torvalds' comments are to the point), but there are definitely things that should be adjusted (not only the use of binary (!!!) log files). I'm curious about the new init process, initrd.img has grown massively, from ca 13 to ca 35 MB, and the system may have distanced itself even more from what I think is Klaus K's very efficient and rational approach to system init. Klaus K's minirt.gz is 950KB, in comparison.
Decisions about and development of systemd will also affect Knoppix users, as Debian packages are now allowed to be dependent on systemd.
I think engagement from Knoppix users would be beneficial for all - even themselves
FYI, I enclose the init of Debian 8.0.0. It makes heavy use of other scripts, and the large initrd.img size is mostly because of most of std Unix /bin, /sbin and quite a bit of /usr/lib is packed into it. While e.g. Knoppix has traditionally been based on lightweight busybox. But this ought to make modifications simpler, actually. Because we may assume everything works as expected. (Which is not always true for busybox versions of, say, mount.)
Seems to me that it should not be extremely dfficult to Knoppify this a bit?
They have clearly changed the persistence setup from the last major release (7.6), and I can't see what they are doing - if they even know it themselves. Any mention of "persistence" in init scripts (you won't find it in the main init linked above) was buried deep in some "old" scripts that I couldn't see were called, and the old way of specifying a persistence file doesn't work. Maybe it is compiled in somewhere.
Think the only sensible way out of this is to create a derivative - to honor the Debian live convolution, I think it might be called Simplistix.
If anybody finds out how to tackle the new hurdles, I'd be glad to be informed.
I think 6 parameters should be used: Volume (e.g. /dev/sda1), directory (e.g. live) and name (e.g. filesystem.squashfs) for compressed image and persistent store. It's sensible that image and store are not by default lumped together as in Knoppix, but there is no good reason for forbidding it, like it is in Debian 7.6 live.
Think the only sensible way out of this is to create a derivative - to honor the Debian live convolution, I think it might be called Simplistix.
....
I think 6 parameters should be used: Volume (e.g. /dev/sda1), directory (e.g. live) and name (e.g. filesystem.squashfs) for compressed image and persistent store. It's sensible that image and store are not by default lumped together as in Knoppix, but there is no good reason for forbidding it, like it is in Debian 7.6 live.
I think the concrete task will be, mainly, to do a rather complete rewrite of the init - but as this is probably deeply integrated with systemd, this time it may be harder than just adapting functionality fram Knoppix init. Turns out that the Simplistix name is already in use, as is Persistix and Simplistian, but Persistian does not seem to be in such use.
The main problem with the new Debian live seems to be that it is so clearly designed as a vehicle for testing and eventually installing ordinary Debian. But for someone with expert knowledge on init scripts, it shouldn't be a huge task to make a minimal set of fixes. And because som many of the standard commands are available, the potential for running into technical problems should be small. I have only experience from modifying Knoppix init, and that's so neatly organized, so that has in no way prepared me for the hurdles in the "real" world
I hvae put the upgrade to Debian 8 on hold, and done packages upgrades and e few remasterings of Debian 7.6 instead. So far, that works very well.
Debian 8.3 update: Live Jessie w/persistence vs Knoppix 7.6.1
The output of the command lsb_release -da on Knoppix 7.6.1 contains "8.3" and "jessie". But /etc/debian_version says "stretch/sid". So I guess it is (still) kind of stable/unstable hybrid.
On the outside, it is not very similar to my live Debian 8.3 with persistence, (the output of lsb_release -d is identical) even if I use LXDE on both.
And it seems both are based on systemd? I know standard Jessie is, but thought Knoppix had kept sysVinit. The output of ps ax | grep systemd is the same
Code:
2611 ? S 0:00 /sbin/cgmanager --daemon -m name=systemd
3658 ? S 0:03 /lib/systemd/systemd-logind
Debian live now can be used with persistence, quite similar to Knoppix, and I have been able to adapt it very well to my use. Debian kernels are still quite old, now it is 3.16 - but that means I was able to patch the VMware Workstation 10 vmnet module source and get it compile and run. Which I was not able to on Knoppix. Doing upgrades mostly goes fine in Knoppix, it is possible to work a lot without bumping into the complications caused by the Jessie/Strech duality.
Setting up persistent store manually or via own scripts is about the same, but Knoppix offers more service in that area. Both use aufs-mount, but with squashfs, Debian 8.3 has better OS support out of the box. The main step in remastering, creating a new compressed image, is even easier on Debian, it is simply aufs-mount, copy and compress.
Here is a current version of the script. With SSD and a 2011 version of mobile i7-processor, the whole process with a ca 4GB result took < 10 minutes, using ca 15GB for the copied file system. So time/space not really a reason for not doing it. Furthermore, having all customizations in a compressed read-only image makes it possible, even efficient, to run without persistence much of the time. (The directory name deb830_4(p) denotes the 4th remastering of 8.3...)
Code:
#!/bin/bash
#
# Usage: cp_mksquashfs <live_image> <persistent_image> <compressed_image>
#sudo ./cp_mksquashfs.sh /media/sda6/deb830_1/live/filesystem.squashfs /store/local/deb830_1/persistence /store/local/deb_remaster/fs_rem.squashfs
# Work in progress.. updated from 20141127 version 20160312-21
[ -d sqfs ] || mkdir sqfs ;
[ -d persfs ] || mkdir persfs
[ -d aufs ] || mkdir aufs
[ -d copyfs ] || mkdir copyfs
#
# To make this more portable, the live system is copied to local dir
sudo mount -o ro,loop $1 sqfs
# The placement of live-rw should be parametrized ..Done
sudo mount -o loop $2 persfs
sudo mount -t aufs -o br:persfs:sqfs none aufs
# Might check file system here?
#
#
sudo rm -rf copyfs/*
sync
sudo rsync -axu aufs/* copyfs
sync
# Small detail
[ -f copyfs/persistence.conf ] && rm copyfs/persistence.conf ;
#
sudo mksquashfs copyfs $3 -b 262144 -noappend 2>make_squashfs.log;
#
sudo umount aufs
sudo umount persfs
sudo umount sqfs
sudo rm -rf copyfs/*
Here are the legacy grub entries for booting Debian 8.3 on one of my machines. The same image is used both with and without persistence:
Code:
title Debian 8.3.0 64 bits live sda6+7 1
root(hd0,8)
kernel (hd0,5)/boot/deb830/vmlinuz boot=live config quiet splash initrd=(hd0,5)/boot/deb830/initrd.img persistence bootfrom=/dev/sda6 live-media-path=deb830_4 persistence-path=deb830_4p keyboard-layouts=no
initrd (hd0,5)/boot/deb830/initrd.img
title Debian 8.3.0 64 bits live sda6 No persistence
root(hd0,8)
kernel (hd0,5)/boot/deb830/vmlinuz boot=live config quiet splash initrd=(hd0,5)/boot/deb830/initrd.img bootfrom=/dev/sda6 live-media-path=deb830_4 keyboard-layouts=no
initrd (hd0,5)/boot/deb830/initrd.img
For anyone wondering about the upgrade from Wheezy, I can only say that for me, staying with Wheezy implies a lot more work over time. Many packages/programs are much easier handled with Jessie, and so far I have hardly encountered one case being the other way round. But with Poor Man's Installs , I can keep older versions around for years, it's a question of about 8 GB/version, and they are all booted with good old grub. Over time, some of them will not be able to handle the actual hardware, but then I can run then from where they are with kvm.
Last edited by Capricorny; 03-21-2016 at 08:44 PM.