[Dev] new graphical liveCD ISO

bill-auger bill-auger at peers.community
Thu Jul 6 15:31:34 GMT 2017


as you may know, the current graphical liveCD ISO is over 6 months old and more importantly, no longer installs smoothly, but requires some manual commands to be run in order to make the keyring sane and then to replace and remove certain deprecated or obsoleted packages upon the first system update

last month, oaken-source recreated all of the ISOs to fix this issue but the MATE installer has some serious regression issues and after several attempts we decided to simply put the old one back - this is a problem becuase it is the graphical installer that those least tech-savvy of users will choose and this was the very reason that made an upgraded ISO an urgency

since then i have created a new ISO with parabolaiso based on LXDE/openbox and have customized the "user-friendly" graphical calamares installer for parabola - i am also investigating if it is worthwhile to adapt the 'manjaro-tools' ISO builder to parabola - it has several attractive properties over archiso - notably, it includes dozens of configurations for different WM/DEs and also it creates calamares configurations automatically - it may be a lot of work to adapt for parabola but it is interesting and it should be noted that the current parabolaiso has not seen it's upstream since 2013, so updating that could be a significant amount of work itself

i understand that these user-friendly graphical installers are not such a priority in the arch world but, for better or worse, parabola has been attracting many non-technical casual desktop users lately and such features are extremely important to them - it is exactly the arch reputation that intimidates people from trying parabola - with a pretty graphical installer and the octopuss program parabola can be made to be quite appropriate for the casual desktop use-case as well

this does not only apply to parabola - free software generally is not known for it's user-friendliness but non-technical folks are the majority of PC users and so in order for FOSS to thrive, the issue of user-friendliness deserves much more attention than it currently gets - IMHO that is clearly the reason why ubuntu and mint are the most popular nixes

manjaro, for example, is more popular than arch because it appeals to both experienced and casual users alike (manjaro is actually 3rd place on distrowatch now - above ubuntu - for comparisson arch is 14th place) - i think that parabola (certainly hyperbola) should aim to be not the libre arch equivalent as it is now, but the libre manjaro equivalent, something that is not quite so scary for the folks who would likely choose trisquel as their first libre distro

in any case, if parabola is to have any graphical ISO at all, the existing MATE ISO should really be replaced ASAP - it is not clear how exactly parabola goes about the peer review process but if anyone would like to test these builds, please do - or perhaps i could just upload a pre-made beta ISO somewhere if others just want to evaluate and critique the artifact - whichever is the best way to get more eyes on it and move the project forward that is fine by me

as it is, the LXDE-systemd ISO has the quite ugly default theme and does not have the calamares installer in it yet but that is very close to ready though it too could use some beautification - LXDE uses GTK themes so the 'parabola' theme from the MATE install can probably be used easily - this LXDE-systemd ISO could be released nearly as is, but i would want to make that look a bit prettier and more importantly, to have more eyes on it besides my own, WHILE it is being worked on - clicking everything to make sure it is a useful liveCD and installer before considering it production ready - it is unclear to me how far the 'adhocracy' approach should extend - but at some point, peer review becomes essential and that point is somewhere between the prototye and release

feel free to open particular issues on notabug:
* https://notabug.org/bill-auger/parabolaiso
* https://notabug.org/bill-auger/calamares


to build the LXDE ISO:
```
git clone https://notabug.org/bill-auger/parabolaiso
git checkout lxde
cd parabolaiso/config/lxde-systemd
./build.sh -v -T x86_64 -V "`date +%Y.%m.%d.%H.%M`-alpha"
```
both the -T and -V are optional - the -T value can be either 'x86_64' or 'i686' - without the '-T arch' it will build the dual ISO - the '-V date' is just to make the output filename different for each development build

to build and launch the calamares installer:
```
git clone https://notabug.org/bill-auger/calamares
git checkout parabola
cd calamares
./mk
```
this one still has some rough edges - there is a PKGBUILD also but i have not verified that it works correctly yet - the ./mk script is what i have been using for development


some notes on the design decisions:

the new ISO configs have some immediate advantages over the MATE ISO already - for one, octopi does not work on the MATE ISO because the auto-login is root - the LXDE ISO logs in a the 'parabola' user with password-less sudo so octopi actually works as expected - secondly the MATE ISO requires an internet connection to install and downloads the entire operating system - this is quite different than any other liveCD ive ever seen - typically a liveCD will decompress it's squashfs onto the target disk as the base for the installed system so that the OS can be installed without a network connection - of course, that is not the "arch way" so i understand why that design decision was made - but it is not very practical - the user must download this 2GB ISO which contains 2 complete operating systems (32-bit and 64-bit) when the user will almost certainly only use one - immediately this initial download could be cut in half simply by making separate 32-bit and 64-bit ISOs - next, upon installing, the user then downloads again an entire operating system as packages via pacstrap - clearly, this is ridiculous - for this reason i have customized the ISO build script to allow making either the dual-target ISO, or one each for only x86 or x86_64 - also, they carry all of the packages necessary to install the complete system without any network connection - this of course make the ISO much larger again but this allows it to install via pacstrap the "arch way" instead of exploding the SFS - it can be debated whether or not this "best of both worlds" approach is justified, but although it is still wasteful, i consider this to be more reasonable than having two complete operating systems in one ISO when the user is almost certain to only use one of them - it is no more difficult to make separate 32-bit and 64-bit ISOs, takes no more time, and makes each one half the download size


notes on progress:

the 'lxde-system' ISO config is working and does what it says on the tin - the 'lxde-openrc' ISO config is a work in progress - it will build an ISO but it does not yet boot fully - note that the difference here applies only to the LiveCD environment - the final installed system depends only on the configuration of the calamares installer - i left the existing MATE CLI install scripts in place as a fallback if for some reason the live xserver fails to launch

the current calamares installs MATE with systemd - i am working now to get it to install an openrc system and other WM/DEs - eventually this should be able to allow the user to choose amoung various combinations of init systems and desktops

this de-coupling of the ISO and installer and not re-using the SFS has the added advantage of allowing for any number of liveCDs (KDE,gnome,i3) to all reuse the same calamares installer package yet that same installer could be used to install any other init system or WM/DE configuration - e.g. a KDE-systemd liveCD (or any other) could install an LXDE-openrc system (or any other)


-- 
(: Music is the Best :)
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 488 bytes
Desc: not available
URL: <https://lists.parabola.nu/pipermail/dev/attachments/20170706/b6ed3bec/attachment.sig>


More information about the Dev mailing list