You are not logged in.
I had urxvt-unicode installed as the terminal for CD - it seems to run fastest on old machines, but it's a much bigger install than lxterminal, so I'll go back to that for the next test build.
...elevator in the Brain Hotel, broken down but just as well...
( a boring Japan blog (currently paused), now on Bluesky, there's also some GitStuff )
Offline
Installed it with no issues. The image is 757mb, you're really close! Nice work, John, thanks.
Last edited by hhh (2020-06-14 05:43:16)
No, he can't sleep on the floor. What do you think I'm yelling for?!!!
Offline
Comparing the unsquashed file systems of helium and lithium CD builds. Latter is 2.3GB vs 1.8 for Helium - quite a difference.
Here's the ncdu (cool utility) output of the top end of /usr/share in lithium:
220.2 MiB [##########] /icons
188.1 MiB [######## ] /locale
85.4 MiB [### ] /doc
50.9 MiB [## ] /fonts
21.0 MiB [ ] /help
21.0 MiB [ ] /perl
17.4 MiB [ ] /themes
16.2 MiB [ ] /i18n
14.2 MiB [ ] /man
12.0 MiB [ ] /poppler
7.3 MiB [ ] /ghostscript
7.1 MiB [ ] /images
5.8 MiB [ ] /X11
5.7 MiB [ ] /mime
4.2 MiB [ ] /gnome
3.8 MiB [ ] /guile
3.4 MiB [ ] /zoneinfo
3.0 MiB [ ] /bunsen
2.6 MiB [ ] /bash-completion
2.0 MiB [ ] /dahdi
1.9 MiB [ ] /gtksourceview-3.0
1.7 MiB [ ] /groff
1.7 MiB [ ] /sounds
1.6 MiB [ ] /xml
1.5 MiB [ ] /synaptic
1.5 MiB [ ] /alsa
1.4 MiB [ ] /iso-codes
1.2 MiB [ ] /libwacom
1.0 MiB [ ] /misc
and Helium:
185.6 MiB [##########] /locale
140.5 MiB [####### ] /icons
82.8 MiB [#### ] /doc
36.9 MiB [# ] /fonts
19.5 MiB [# ] /perl
14.9 MiB [ ] /help
13.0 MiB [ ] /man
11.9 MiB [ ] /poppler
11.2 MiB [ ] /images
9.6 MiB [ ] /i18n
7.7 MiB [ ] /themes
7.3 MiB [ ] /ghostscript
5.6 MiB [ ] /X11
5.5 MiB [ ] /mime
4.1 MiB [ ] /gnome
3.4 MiB [ ] /zoneinfo
2.9 MiB [ ] /dahdi
2.3 MiB [ ] /bash-completion
1.9 MiB [ ] /bunsen
1.6 MiB [ ] /hal
1.6 MiB [ ] /xml
1.6 MiB [ ] /groff
1.5 MiB [ ] /synaptic
1.4 MiB [ ] /iso-codes
1.2 MiB [ ] /sounds
1.0 MiB [ ] /misc
So, for a start, there's room for slimming in icons for sure, possibly doc and fonts, and have to look at locale...
...elevator in the Brain Hotel, broken down but just as well...
( a boring Japan blog (currently paused), now on Bluesky, there's also some GitStuff )
Offline
Hmm, I forgot to transfer the ISO to my USB drive, so I installed the RC3 64 bit one by mistake. The 32 bit is now installed and updated with a PAE kernel and bunsen-meta-all, no issues. It's looking really solid, John.
No, he can't sleep on the floor. What do you think I'm yelling for?!!!
Offline
Pic or it didn't happen.
https://i.postimg.cc/44SmRpqx/Screensho … -32-19.png
-edit- Is it OK if I post this ISO on the forum? I know it's not quite CD-sized yet, but it's a valid 32 bit install.
-edit2- Sorry, done...
https://forums.bunsenlabs.org/viewtopic.php?id=6754
Last edited by hhh (2020-06-16 01:54:55)
No, he can't sleep on the floor. What do you think I'm yelling for?!!!
Offline
The image is 757mb, you're really close!
This image is still over the CD size limit by 20MB
Hmm... my file manager (and stat) says the iso file is 793MB, which is quite a bit more. Are you reading MiB or something? Anyway 93MB to go is not nothing...
Anyway, shifting Papirus>Paper makes a fairly small difference in install size - it's the RAM use that is dramatically different. Actually, there're only so much we can achieve by trimming the package list because squashfs reduces the whole live system by a factor 3.66 or so, meaning we'd have to trim ~340MB off the install list to get a 93MB iso file size reduction.
So, having done what we can with packages, we might also have to think about deleting man pages or other docs, deleting log files, maybe even also removing all the locales other than English. None of that would be good for usability.
Then, there might be some more trimming possible at the top end of the iso, outside the squashfs file. That's more rewarding because it won't suffer the 3.66 factor, but I'm not sure yet if there actually is anything left that can be removed without breaking something. I had a good look round with Helium CD, but will check again...
...elevator in the Brain Hotel, broken down but just as well...
( a boring Japan blog (currently paused), now on Bluesky, there's also some GitStuff )
Offline
Taken these off:
Right off, I'd go along with removing these, anyway:
compton
hexchat
openssh-client
papirus-icon-theme
tumbler
xfce4-screenshooter
And also:
amd64-microcode (obviously unneeded)
fonts-noto > fonts-liberation ( since dropping locales means no language support anyway)
fonts-noto-mono (inconsolata shipped already)
locales (!)
mousepad
rxvt-unicode > lxterminal
(we could even rip out the whole audio stack - pulse, alsa, pnmixer, mpv...)
Now having a look at other stuff...
...elevator in the Brain Hotel, broken down but just as well...
( a boring Japan blog (currently paused), now on Bluesky, there's also some GitStuff )
Offline
Throwing this in too, to see what it does for us:
# Removing packages
for PACKAGE in man-db manpages info
do
if ! apt-get remove --purge --yes "${PACKAGE}"
then
echo "WARNING: ${PACKAGE} isn't installed"
fi
done
apt-get autoremove --yes || true
rm -rf /usr/share/doc/* || true
rm -rf /usr/share/locale/* || true
rm -rf /usr/share/man/* || true
rm -rf /usr/share/i18n/* || true
rm -rf /usr/share/info/* || true
rm -rf /usr/share/lintian/* || true
This is getting a bit rough, and will leave users without some of the things they want, but anyway let's see what iso file size it gets down to.
Last edited by johnraff (2020-06-16 08:14:52)
...elevator in the Brain Hotel, broken down but just as well...
( a boring Japan blog (currently paused), now on Bluesky, there's also some GitStuff )
Offline
Throwing this in too, to see what it does for us:
# Removing packages for PACKAGE in man-db manpages info do if ! apt-get remove --purge --yes "${PACKAGE}" then echo "WARNING: ${PACKAGE} isn't installed" fi done apt-get autoremove --yes || true rm -rf /usr/share/doc/* || true rm -rf /usr/share/locale/* || true rm -rf /usr/share/man/* || true rm -rf /usr/share/i18n/* || true rm -rf /usr/share/info/* || true rm -rf /usr/share/lintian/* || true
This is getting a bit rough, and will leave users without some of the things they want, but anyway let's see what iso file size it gets down to.
Don't mess with the locales. That's so tightly integrated with libc and other GNU libraries, it'll break everything. It also contains message catalogs from GTK3 and such. i18n is also owned by glibc and contains character maps and more locale stuff. I would suggest to not remove anything that is related to libc or other core desktop stuff like libgtk3…
Offline
Don't mess with the locales. That's so tightly integrated with libc and other GNU libraries, it'll break everything. It also contains message catalogs from GTK3 and such. i18n is also owned by glibc and contains character maps and more locale stuff. I would suggest to not remove anything that is related to libc or other core desktop stuff like libgtk3…
Good advice.
hhh wrote:The image is 757mb, you're really close!
hhh wrote:This image is still over the CD size limit by 20MB
Hmm... my file manager (and stat) says the iso file is 793MB, which is quite a bit more. Are you reading MiB or something?
You're right, Thunar says 793MB. Google Drive says 757M, I wrongly assumed that was MB as well.
Last edited by hhh (2020-06-16 21:39:47)
No, he can't sleep on the floor. What do you think I'm yelling for?!!!
Offline
/usr/share/locale/ is huge - 180MB of the unsquashed file system - so it would be a shame if we can't trim it down for the CD. Most of the content is for locales other than the default C surely, and only used if user switches languages?
If just nukeing the whole directory would be too crude, maybe we can invoke localepurge to do the job? I've used it in the past with no apparent ill-effects, and live-build used to have a localepurge.chroot in the example hooks like this (just love the way git preserves everything):
#!/bin/sh
# This is a hook for live-build(7) to install localepurge.
# To enable it, copy or symlink this hook into your config/chroot_local-hooks
# directory.
#
cat > /tmp/localepurge.preseed << EOF
localepurge localepurge/nopurge multiselect en, en_US.UTF-8
localepurge localepurge/mandelete boolean true
#localepurge localepurge/dontbothernew boolean false
localepurge localepurge/showfreedspace boolean false
#localepurge localepurge/quickndirtycalc boolean true
#localepurge localepurge/verbose boolean false
EOF
debconf-set-selections < /tmp/localepurge.preseed
rm -f /tmp/localepurge.preseed
apt-get install --yes localepurge
dpkg-reconfigure localepurge
localepurge
Daniel Baumann took it out in 2012 for reasons, but maybe it could be resurrected?
Also found this debian bug report post: https://bugs.debian.org/cgi-bin/bugrepo … =724491#47
and stumbled on a 2015 topic right here in BL by Ozitraveller on customizing live-build:
https://forums.bunsenlabs.org/viewtopic.php?id=710
This definitely calls for a re-read, if I even read it at all then.
EDIT unfortunately the live-build config tarball Ozi linked to is no longer available. I wanted a look at 990-cleanup.chroot and 300-localepurge.chroot... ah well.
Last edited by johnraff (2020-06-17 01:15:09)
...elevator in the Brain Hotel, broken down but just as well...
( a boring Japan blog (currently paused), now on Bluesky, there's also some GitStuff )
Offline
If just nukeing the whole directory would be too crude, maybe we can invoke localepurge to do the job? I've used it in the past with no apparent ill-effects, and live-build used to have a localepurge.chroot in the example hooks like this (just love the way git preserves everything):
#!/bin/sh # This is a hook for live-build(7) to install localepurge. # To enable it, copy or symlink this hook into your config/chroot_local-hooks # directory. # cat > /tmp/localepurge.preseed << EOF localepurge localepurge/nopurge multiselect en, en_US.UTF-8 localepurge localepurge/mandelete boolean true #localepurge localepurge/dontbothernew boolean false localepurge localepurge/showfreedspace boolean false #localepurge localepurge/quickndirtycalc boolean true #localepurge localepurge/verbose boolean false EOF debconf-set-selections < /tmp/localepurge.preseed rm -f /tmp/localepurge.preseed apt-get install --yes localepurge dpkg-reconfigure localepurge localepurge
That sounds promising!
No, he can't sleep on the floor. What do you think I'm yelling for?!!!
Offline
Just ran into another way of filtering out file installs, via dpkg's --path-exclude and --path-include options. This 2010 post by Raphael Herzog: https://raphaelhertzog.com/2010/11/15/s … with-dpkg/
...elevator in the Brain Hotel, broken down but just as well...
( a boring Japan blog (currently paused), now on Bluesky, there's also some GitStuff )
Offline
Nice research, it's looking like you'll crack this nut.
No, he can't sleep on the floor. What do you think I'm yelling for?!!!
Offline
Ozitraveller's guide has been updated and available:
https://sourceforge.net/projects/linnix … s/download
and the config tarball linked in there is still downloadable:
http://sourceforge.net/projects/linnix/ … -04.tar.gz
So there might be some good stuff in there, even if it is for devuan.
...elevator in the Brain Hotel, broken down but just as well...
( a boring Japan blog (currently paused), now on Bluesky, there's also some GitStuff )
Offline
I'm going to try a test build using R. H.'s dpkg config method. Allows more fine-tuning of what to keep than a blockbuster rm dir/*, doesn't mean giving up control to some other agent like localepurge, and the configuration is simpler.
Even if it's otherwise OK, it will still need another build, to get the user config in line with what's actually available, but let's make that the next step.
Maybe something like this in /etc/dpkg/dpkg.cfg.d/excludes?
path-exclude=/usr/share/locale/*
path-include=/usr/share/locale/en/*
path-include=/usr/share/locale/en@boldquot/*
path-include=/usr/share/locale/en@quot/*
path-include=/usr/share/locale/en@shaw/*
path-include=/usr/share/locale/locale.alias
path-exclude=/usr/share/man/*
path-exclude=/usr/share/doc/*
Keeping /usr/share/i18n and all the English-looking locales. info and lintian are too small to bother with.
See what it breaks...
...elevator in the Brain Hotel, broken down but just as well...
( a boring Japan blog (currently paused), now on Bluesky, there's also some GitStuff )
Offline
First build broke because live-build wanted to copy a loadlin file in /usr/share/doc, so I added an exception to the path-exclude, ie 'path-include=/usr/share/doc/loadlin/*'
That got an iso, which I've just booted. It's still a Work In Progress, because the user config at least needs tweaking to cope with the lack of Noto font, etc etc.
But the good news is that it's down to 705MB. Even better, I forgot to take bunsen-papirus-icon-theme off the install list. When that's gone, we should have a bit of slack to actually consider what stuff to put back.
Please don't share it on the forum yet because there are still several things to fix, but if you'd like to check over just how badly crippled it is, or not, then:
https://drive.google.com/file/d/1q0UZet … sp=sharing
sha256 1c6acbb1060496c1b5c90e3e103aa8d5681161ec59fa84c4317cdacac19d2b21
I left the English locales files but removed the rest - does any important functionality seem to be broken? Could you have a quick look at a live session, if you have time?
...elevator in the Brain Hotel, broken down but just as well...
( a boring Japan blog (currently paused), now on Bluesky, there's also some GitStuff )
Offline
Thanks for the warning on sharing it publicly. Sorry for posting the last one without confirmation, but it was so solid!
No, he can't sleep on the floor. What do you think I'm yelling for?!!!
Offline
^No harm done. And some people were eagerly waiting for a 32bit iso, CD-sized or not.
In fact for people who don't need to put it on a CD, that's the better option!
...elevator in the Brain Hotel, broken down but just as well...
( a boring Japan blog (currently paused), now on Bluesky, there's also some GitStuff )
Offline
All this is about the CD iso.
I haven't abandoned this - anything but, it's been a major occupation most days - with interruptions - but it got to be a bit of a rabbithole...
Replaced Papirus icons with Paper, made a couple of other substitutions, built a user config package... and iso size went up 35MB.
Spent hours picking over uncompressed file systems with ncdu (handy app btw) and couldn't figure out why Papirus was taking up vastly more room than Paper, but the Paper squashfs files were bigger! Definitely the case though - I guess Papirus just compresses better.
But Paper's better for loram systems. Searched around for some smaller icon theme on debian that didn't look horrible and tried elementary-xfce-icon-theme but even that's not so great - barely better than Adwaita.
Now thinking maybe best to just drop down to Adwaita, which can't be avoided anyway because of dependencies.
Possibly auto-install Paper at the end of the install process?
Or add a small list of apps to install to the bl-welcome CD options?
(Right now I squeezed out mousepad too, so the CD live text editor is nano in urxvt. Usable, but new users might not like it.)
I don't think Adwaita fits the Lithium theme at all, and spoils the BL look a bit, but we might have to grit our teeth and use it at least in the live session.
urxvt is a little bit bigger than lxterminal, but faster on old machines.
Papirus looks best but Paper uses less memory. Papirus takes up less iso space(!)
(The Bunsen Paper start-here icons look Faenza-y and need redoing. Papirus is fine.)
Leaving out locale files requires installing locales and rebuilding the user's locale post-install.
Dropped Noto fonts and replaced with Liberation for big space saving. Looks good, for English anyway.
Some kind of post-install package install + reconfigure might be the only way to go, but the CD should also be useful for live sessions too. Maybe for that, appearance matters less.
If I'm at the keyboard tomorrow, might have a 700MB CD iso for you folks to play with. It's all taking much longer than I expected.
...elevator in the Brain Hotel, broken down but just as well...
( a boring Japan blog (currently paused), now on Bluesky, there's also some GitStuff )
Offline