I am trying to build a custom ISO, using ubuntu-builder
. I've taken a 12.40 mini remix ISO as a starting point. Here is my specific example - however, I'm interested in principle how the process goes (so I can apply that to other DE/WM).
when I run a new ISO, built directly from the mini remix starting ISO, all is as expected - I can run the new ISO in a virtual machine, and the boot process terminates with text-only prompt for the live ubuntu
user.
Now, I try to install LXDE (there is an entry for it in ubuntu-builder
, apparently it installs lxde-core
and X dependencies; and I manually have to install lxterminal
, and as icons are missing, probably lxde-icon-theme
as well). I have to also manually install xinit
, so I have startx
. But this, by itself, doesn't do much: if I boot this customized ISO in a virtual machine, the exact same thing happens as with the "original" ISO - boot process completes with a text mode prompt for ubuntu
live user.
If I now type startx
at this prompt, then LXDE starts (running startlxde
at this prompt will complain about X), such that when you start lxterminal
from that desktop, it is started under the live ubuntu
user.
In LiveCDCustomization - Boot init, it is mentioned:
Boot init
You have to edit the files in edit/usr/share/initramfs-tools/scripts/casper-bottom/* For example you can change the hostname or the livecd user.
... but I don't exactly understand what is exactly being ran by what there. The ubuntu-builder
unpacks these files under /home/ubuntu-builder/FileSystem/usr/share/initramfs-tools/scripts/casper-bottom/
- but as far as I can see, most of these just run some inline sed
commands, I cannot see much executive commands there?
Still, I tried to copy one of the scripts there as a new script, 51startx
, which in the executable section has:
log_begin_msg "$DESCRIPTION"
chroot /root startx
chroot /root startlxde
log_end_msg
This does absolutely nothing - again, after boot, I get the usual text prompt ubuntu@ubuntu:~$
.
Then I found Modify: Startx automatically, add apt, etc - backtrack-linux.org:
To have a graphical login, just install gdm and run it in startup:
aptitude update aptitude install gdmThen, edit /etc/rc.local, and add a line BEFORE "exit 0" like this:
service gdm startThis is not the best way, but run! . This must work running "update-rc.d gdm defaults", but this way fail.
And indeed - I added:
startx
startlxde
... to /etc/rc.local
- and this indeed does boot, and start LXDE automatically - however, when I run lxterminal
, it is under user root
- not under the live user ubuntu
!
So, what should I do, so that I can start (any) X and/or any desktop environment automatically at boot under the live ubuntu
user?
Note that in this case, I would not like to use an additional desktop manager (e.g. gdm
) nor a corresponding greeter - but it would be good to know, if a solution for automatically starting up X would also work for a desktop manager or a greeter.