Size: 36562
Comment: document workaround to bug #430224
|
Size: 36371
Comment:
|
Deletions are marked like this. | Additions are marked like this. |
Line 928: | Line 928: |
I updated the Karmic Live CD with the latest updates inside chroot using aptitude with update, dist-upgrade, purge linux-image-2.6.31-14-generic, install zsh zsh-doc, install ubuntu-restricted-extras, and enabled DVD playback (install-css.sh). | I updated the Karmic Live CD with the latest updates inside chroot using aptitude with update, dist-upgrade, purge linux-image-2.6.31-14-generic, install zsh zsh-doc, install ubuntu-restricted-extras, and enabled DVD playback. |
Line 940: | Line 940: |
Since Karmic uses initrd.lz, I just uncompressed the .gz file and put it back in .lz format. | Since Karmic uses initrd.lz, I had to uncompress the .gz file and put it back in .lz format. |
Line 943: | Line 943: |
mkdir tempdir cd tempdir gzip -dc ../initrd.gz | sudo cpio -imvd --no-absolute-filenames sudo mv ../initrd.lz ../inird.lz.orig sudo find . | cpio --quiet --dereference -o -H newc | sudo lzma -7 > ../initrd.lz |
sudo mv initrd.lz inird.lz.orig gzip -dc initrd.gz | sudo lzma -7 > initrd.lz |
Line 951: | Line 948: |
To conserve space, you can remove the temp directory and the original initrd files before changing the directory back {{{ sudo rm -rf tempdir ../inird.lz.orig ../initrd.gz }}} |
To conserve space, you can remove the original initrd files before changing the directory back {{{ sudo rm -f inird.lz.orig initrd.gz }}} |
Contents |
How to Customise the Ubuntu Desktop CD
You may wish to customise the Ubuntu Desktop LiveCd to:
- make your own Linux / Ubuntu distribution
- show off a particular application
- localise to a certain language
- remove software packages
- add software packages
- update software packages
- change system defaults (theme, icons, desktop background, panels, browser homepage, etc)
This guide is for the Desktop LiveCd; there is another page referring to customisation of the Alternative Install Cd & the Server Install Cd also there is a guide on how to create a LiveCd without using an existing LiveCd.
System Requirements
- At least 3-5 GB of free space
- At least 512 MB RAM and 1 GB swap (recommended)
squashfs-tools
genisoimage, which provides mkisofs
An Ubuntu kernel with squashfs support (present in Ubuntu 6.06 and later)
QEMU/KVM, VirtualBox or VMware for testing (optional)
When trying to customize 9.10 Karmic Koala or later in an 9.04 Jaunty Jackalope or earlier environment: squashfs-tools will need to be updated to version 4.0. Inversely, the version of squashfs-tools in Ubuntu 9.10 is not compatible with earlier version of Ubuntu.
If customizing a CD for another architecture than the installation used for customization the executables from the LiveCD may not run. (i.e. it is not trivial to customize an AMD64 CD from an i386 install -- the binaries won't run -- that's needed to customize the CD -- the binaries from the CD to be customized have to run on the "host" system (in order to run chroot).)
The Process
First, make sure that you have installed the needed tools
sudo aptitude install squashfs-tools genisoimage
You need to download an official Desktop CD from http://releases.ubuntu.com/
Note: the example shown here uses the ubuntu-9.04-desktop-i386.iso Desktop CD
Move or copy it into an empty directory
mkdir ~/live mv ubuntu-9.04-desktop-i386.iso ~/live cd ~/live
Extracting the CD contents
Mount the Desktop .iso
mkdir mnt sudo mount -o loop ubuntu-9.04-desktop-i386.iso mnt
Extract .iso contents into dir 'extract-cd'
mkdir extract-cd rsync --exclude=/casper/filesystem.squashfs -a mnt/ extract-cd
Extracting the Desktop system
Extract the SquashFS filesystem
sudo unsquashfs mnt/casper/filesystem.squashfs sudo mv squashfs-root edit
Prepare and chroot
If you need the network connection within chroot
sudo cp /etc/resolv.conf edit/etc/
Depending on your configuration, you may also need to copy the hosts file
sudo cp /etc/hosts edit/etc/
sudo mount --bind /dev/ edit/dev sudo chroot edit mount -t proc none /proc mount -t sysfs none /sys mount -t devpts none /dev/pts
(these mount important directories of your host system - if you later decide to delete the edit/ directory, then make sure to unmount before doing so, otherwise your host system will become unusable at least temporarily until reboot)
To avoid locale issues and in order to import GPG keys
export HOME=/root export LC_ALL=C
Customizations
Apt-get
Prerequisites
In 9.10, before installing or upgrading packages you need to run
dbus-uuidgen > /var/lib/dbus/machine-id
and
dpkg-divert --local --rename --add /sbin/initctl ln -s /bin/true /sbin/initctl
Tasks
To view installed packages by size
dpkg-query -W --showformat='${Installed-Size} ${Package}\n' | sort -nr | less
When you want to remove packages remember to use purge
aptitude purge package-name
Custom Background for GNOME
Generally background files are located in /usr/share/backgrounds. Copy your png file there, adjust owner and file access, and edit the files:
/usr/share/gnome-background-properties/ubuntu-wallpapers.xml and
/usr/share/gconf/defaults/16_ubuntu-wallpapers or other files in the same directory. by changing the string /usr/share/backgrounds/warty-final-ubuntu.png to point to your file
Eventually change or add attributes to other configuration files such as: /var/lib/gconf/debian.defaults/%gconf-tree.xml or /etc/gconf/gconf.xml.defaults/%gconf-tree.xml).
Historical: More for Dapper...
Change gconf values (fonts, panels etc.)
To make any change on the gconf attributes you must add the value that you want in the file /etc/gconf/gconf.xml.defaults/%gconf-tree.xml. Adding a value in that file will change the default values of Gnome or other applications, so you can change fonts, backgrounds, themes, cursors etc.
Instead of editing the file with gedit or another text editor, you can use the gconftool-2, under the chroot environment, running the following line:
gconftool-2 --direct --config-source xml:readwrite:/etc/gconf/gconf.xml.defaults --type string --set yourkey "yourvalue"
where string, yourkey and yourvalue must be the type, key and value that you want to change...
Making several gconf changes
Editing gconf by setting each value separately takes too much time. There is a better way:
Make a test user and adjust the settings as you wish. Run
gconftool-2 --dump /the/settings/branch/you/need > ~/live/your-new-settings.xml sudo chown root:root ~/live/your-new-settings.xml sudo mv ~/live/your-new-settings.xml ~/live/edit/your-new-settings.xml
and then, in the chroot environment, run
gconftool-2 --direct --config-source xml:readwrite:/etc/gconf/gconf.xml.defaults --load /your-new-settings.xml rm /your-new-settings.xml
This way you can import the whole branch, e.g. /apps/panel - all settings for Gnome's panels.
Change default language of gfxboot
This customization must be done outside the chroot.
sudo aptitude install dpkg-dev uck apt-get source gfxboot-theme-ubuntu gfxboot cd gfxboot-theme-ubuntu*/ make DEFAULT_LANG=fi sudo cp -af boot/* ../extract-cd/isolinux/
Change "fi" to your preferred locale. Note that this does not change which languages are available in the F2 menu. For more info about gfxboot customization, see Ubuntu Customization Kit.
A other way to change the default language of gfxboot without rebuild the packages is to create a file name lang in the isolinux directory containing your locale's name.
Customization limits
After customization make sure that there are no users with an UID > 999. Otherwise your image won't boot because no initial user is available (see /usr/share/initramfs-tools/scripts/casper-bottom/10adduser). While in chroot:
awk -F: '$3 > 999' /etc/passwd
If you get any hits, try changing the uid:
usermod -u 500 $hit
Miscellaneous Defaults
You may wish to edit the files in /etc/default to change system behavior at startup. You might also edit /etc/profile, /etc/bash.bashrc, and /etc/bash_completion to change login settings for all users on the system. You cannot directly edit defaults for the live cd user (e.g., casper, ubuntu, or user) since that account is created at boot time. You can directly edit root's default files (/root in the chroot environment).
If you wish to change the default timezone used by the live cd, run:
dpkg-reconfigure tzdata
If you have added a locale and wish to make it the default, update /etc/default/locale. You may have to compile the locale:
locale-gen new_locale update-locale LANG=new_locale LANGUAGE=new_locale LC_ALL=new_locale
These changes must be made as root in the chroot environment.
Advanced Customizations
Live CD Kernel
If you want to customize further the boot process, you can change the livecd kernel, by copying the vmlinuz and initrd you want in place of the ones you find in extract-cd/casper.
i.e.
sudo cp edit/boot/vmlinuz-2.6.15-26-k7 extract-cd/casper/vmlinuz sudo cp edit/boot/initrd.img-2.6.15-26-k7 extract-cd/casper/initrd.gz
Removing the (Casper) Autologin
The autologin feature of the Jaunty/9.04 live CD is a bit of an on-the-fly boot-hack. After extracting the initrd.gz, you need to edit the casper-bottom/25configure_init script and then recreate the initrd.gz file, replacing the original in extract-cd/casper. The process to do so goes like this:
# cd extract-cd/casper # mkdir tempdir # cd tempdir # gzip -dc ../initrd.gz | cpio -imvd --no-absolute-filenames # cp scripts/casper-bottom/25configure_init scripts/casper-bottom/25configure_init.orig # vi scripts/casper-bottom/25configure_init
Now look for line 25 which has the conditional statement to test $USERNAME.
Line 25 performs a conditional evaluation and if it evaluates to true, it will execute the code within the if block. The if block contains code to modify files used in the boot process to create the live cd autologin.
To disable the autologin feature, Remove $USERNAME, but just leave the quotes. The -n modifier tests the $USERNAME string to see if it's length is non-zero. By removing the variable, and leaving two double quotes, this statement evaluates to false because the two double quotes effectively make a zero-byte string. Be sure to leave no whitespace between the quotes because whitespace will make the evaluation true and execution wil fall into the if block.
21:log_begin_msg "$DESCRIPTION" 22: 23:# Arrange for shells on virtual consoles, rather than login prompts 24: 25:if [ -n "$USERNAME" ]; then
After making the change, line 25 will look like this:
25:if [ -n "" ]; then
Save the file and quit the editor. Then, from extract-cd/casper/tempdir run the following command to re-create the initrd.gz file. There are other methods for re-creating the initrd.gz file on this page which may work also.:
# cp ../initrd.gz ../initrd.gz.orig # find . | cpio -o -H newc | gzip -9 > ../initrd.gz
This will create a new initrd.gz file with no auto login. You can then continue to remaster the CD as described on this page. Be sure to create a user and password to login with before you remaster the cd. If you do not, you will not be able to login after booting!
Also, I have read a few articles mentioning that Karmic (9.10) uses initrd.lz instead of initrd.gz. I do not know if this is true, but should mention it in case you are not getting the expected results. To unpack the initrd.lz file, you need to do this:
# cd extract-cd/casper # mkdir lztempdir # cd lztempdir # lzma -dc -S .lz ../initrd.lz | cpio -imvd --no-absolute-filenames
And to re-create the initrd.lz file:
# cp ../initrd.lz ../inird.lz.orig # find . | cpio --quiet --dereference -o -H newc | lzma -7 > ../initrd.lz
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.
i.e.
sudo nano edit/usr/share/initramfs-tools/scripts/casper
and edit the username or hostname
sudo nano edit/usr/share/initramfs-tools/scripts/casper-bottom/10adduser
to edit even the livecd user's password.
P.S. in order to obtain an encrypted password, you have to use the mkpasswd program that's shipped with whois package!
Rebuilding initrd
After you've modified the kernel, init scripts or added new kernel modules, you need to rebuild the initrd.gz file and substitute it into the casper directory.
sudo chroot edit mkinitramfs -o /initrd.gz 2.6.15-26-k7
(replace the kernel version with the one that the CD will boot with - this can be found in edit/lib/modules)
Exit from the chroot jail and move this file to extract-cd/casper:
exit mv edit/initrd.gz extract-cd/casper/
Cleanup
Be sure to remove any temporary files which are no longer needed, as space on a CD is limited. A classic example is downloaded package files, which can be cleaned out using:
aptitude clean
Or delete temporary files
rm -rf /tmp/* ~/.bash_history
Or nameserver settings
rm /etc/resolv.conf
If you installed software, be sure to run
rm /var/lib/dbus/machine-id
and
rm /sbin/initctl dpkg-divert --rename --remove /sbin/initctl
from within the chroot environment.
now umount (unmount) special filesystems and exit chroot
umount /proc umount /sys umount /dev/pts exit sudo umount edit/dev
- Note: if "umount /proc" command fails try "umount -lf /proc"
Putting the CD together
Regenerate manifest
chmod +w extract-cd/casper/filesystem.manifest sudo chroot edit dpkg-query -W --showformat='${Package} ${Version}\n' > extract-cd/casper/filesystem.manifest sudo cp extract-cd/casper/filesystem.manifest extract-cd/casper/filesystem.manifest-desktop sudo sed -i '/ubiquity/d' extract-cd/casper/filesystem.manifest-desktop sudo sed -i '/casper/d' extract-cd/casper/filesystem.manifest-desktop
Compress filesystem
sudo rm extract-cd/casper/filesystem.squashfs sudo mksquashfs edit extract-cd/casper/filesystem.squashfs -nolzma
- Note: The -nolzma option is only available from Hardy , and was removed in Karmic. Also, the squashfs has to be generated using a version of mksquashfs that is compatible with the kernel used on the CD you are customizing. For example, you cannot generate a jaunty squashfs on karmic, as the jaunty kernel is not able to mount a squashfs prepared using mksquashfs from karmic.
Set an image name in extract-cd/README.diskdefines
sudo vim extract-cd/README.diskdefines
(you can use "sudo nano extract-cd/README.diskdefines" if you have difficulties understanding vim)
Remove old md5sum.txt and calculate new md5 sums
cd extract-cd sudo rm md5sum.txt find -type f -print0 | sudo xargs -0 md5sum | grep -v isolinux/boot.cat | sudo tee md5sum.txt
Create Iso
sudo mkisofs -D -r -V "$IMAGE_NAME" -cache-inodes -J -l -b isolinux/isolinux.bin -c isolinux/boot.cat -no-emul-boot -boot-load-size 4 -boot-info-table -o ../ubuntu-9.04.1-desktop-i386-custom.iso .
Testing the CD
Test using qemu emulator
qemu -cdrom ubuntu-9.04.1-desktop-i386-custom.iso -boot d -m 512
Or if you have hardware acceleration for kvm
kvm -cdrom ubuntu-9.04.1-desktop-i386-custom.iso -boot d -m 512
You can also test with virtualbox-ose, which is free software and available in the Ubuntu universe repository.
Troubleshooting
Some experience problems virtualizing the iso after changing the livecd linux kernel. If you do, go click F6 when the boot screen is showing. Move the cursor between splash quiet and -- and write: all_generic_ide
Burning the image to CD
Simple! Just do
cdrecord dev=/dev/cdrom ubuntu-9.04-desktop-i386-custom.iso
Additional uses for the image
Install Ubuntu from a USB stick
Installation From Image Loaded On Hard Drive
Comments
If you have any comments or questions, please feel free to add them here.
If you are answering a question, please rewrite the question into a tip that answers the question. (to help keep things to the point.)
New questions at the bottom (I guess.)
I have created an small Customization Example (named Firebird Live CD) by adding an firebird2.1-superand flamerobin packages (this apply to ubuntu Hardy Heron also it was tested with xubuntu 8.04) http://flamerobin.blogspot.com/2008/08/creating-flamerobinfirebird-livecd-with.html
Warning: qemu did not work for me as given in the guide above. Even the normal 8.04 live cd would not boot correctly. Every time, I would get thrown into the ash shell (busybox, initramfs) and while there, a "cat /casper.log" would reveal that it was "Unable to find a medium containing a live filesystem". Just use virtualbox-ose. It actually works with virtualbox. However, after using apt-get to install virtualbox-ose, I had to run "sudo depmod" again in order for the vboxdrv module to be found by modprobe. Hope that helps!
Warning: Squashfs is currently in development and is thus not finalized as a format. This means you cannot assume a filesystem.squashfs created using the Ubuntu 9.04 version of makesquashfs will be compatible with the squashfs drive an older live CD. I was customizing an Ubuntu 7.10 LiveCD and when testing it always booted it an (initramfs) prompt--the squashfs was not getting mounted as /. I had to build from within an Ubuntu 7.10 chroot to get it to work.
--Bob/Paul
I have created an small Customization Example (named Firebird Live CD) by adding an firebird-super-server and flamerobin packages (this apply to ubuntu dapper drake) http://flamerobin.blogspot.com/2006/05/creating-flamerobinfirebird-live-cd.html I created an updated guide with Ubuntu Festy Fawn also with an iso download for the Firebird/Flamerobin live cd http://flamerobin.blogspot.com/2007/09/creating-flamerobinfirebird-livecd-with.html
I have created tool for automatic remastering of live CD images. See http://uck.sourceforge.net/ .
Features:
- GUI for simple creation of localized CDs (including changing gfxboot and installing language packs)
- Script for customization of ISO, SquashFS and initrd on live CD.
http://www.atworkonline.it/~bibe/ubuntu/custom-livecd.htm seems to have some nice info. no license that I can see so we would need to ask permission from the author to us its material.
If you want to make the CD boot faster, you might try sorting the files so that they are in the CD in the order that they are accessed: http://lichota.net/%7Ekrzysiek/projects/kubuntu/dapper-livecd-optimization/
Great How To. I am having one issue however. I would like to use custom xorg.conf and sources.list files. Any tips on doing this? Thanks.
- Simply, copy the files to edit/etc/ in the same way (and at the same time) that you copy in the resolv.conf and hosts files.
I have found that copying xorg.conf doesn't work, as the boot-time scripts overwrite it. Besides, you can't guarantee that a particular xorg.conf will run on all hosts. I'm currently trying to get the binary NVIDIA drivers to work out of the box if an NVIDIA card is present. If I figure out how to fix the xorg.conf, I'll post it here. --JeremyVisser
I've managed to get Synaptic running from within the chroot environment, but it does hang when I try to apply packages. What you do is run "Xnest -ac :1" to get an Xnest server to run on display :1 without access control so anyone can connect to it. Then, in the chroot environment, run "export DISPLAY=:1" to get programs to use the display. Then, type "metacity &" to be able to move windows. Finally, run "synaptic".
It works fine until you try to apply packages, where it hangs for me. --JeremyVisser
Shouldn't the mkinitramfs command use the casper scripts, like "mkinitramfs -o initrd.gz 2.6.15-23-386 -d /usr/share/initramfs-tools"?
There are tricks on how you can get to feel the GNOME system in your chroot environment.
1. Copy your xorg.conf in the chrooted "etc/X11/" directory.
cp /etc/X11/xorg.conf edit/etc/X11/
2. Create generic devices on your chroot system using MAKEDEV
cd /dev/ MAKEDEV generic
3. Start X or restart gdm
/etc/init.d/gdm start
Supposed you want to make modifications on the Desktop, that will be used by all the new users, just change your $HOME to /etc/skel/ and start gdm or X.
export HOME=/etc/skel/
If you want to load all the other stuff GNOME needs (i.e, dbus, avahi, network-manager), just boot as (single-user mode), and start dbus in your chrooted environment.
/etc/init.d/dbus start
An example of the whole procedure. (under single-user mode)
sudo /etc/init.d/networking restart sudo cp /etc/resolv.conf edit/etc/ sudo cp /etc/X11/xorg.conf edit/etc/X11/ sudo chroot edit mount -o none /proc mount -o none /sys export HOME=/etc/skel/ cd /dev/ MAKEDEV generic /etc/init.d/dbus start /etc/init.d/gdm start
--- joelbryan
Hello,
I am about to build a new Livecd and have a question: When I change the username, hostname and the user's password the user login automatically during booting the livesystem. But this is not desired. Is it correct, that I have to enter a password under a Desktop LiveCD when I delet the encrypted password in /usr/share/initramfs-tools/scripts/casper-bottom/10adduser ?
Thanks
Changing username and password will not change login behaviour, because this is done in /usr/share/initramfs-tools/scripts/casper-bottom/15autologin
Having trouble starting a MySQL server from within the chroot jail. Any suggestions?
- Dave
Hey,
I am trying to make a customized live cd of Kubuntu 6.06 that will be completly preconfigured, so that when the user clicks on the install icon on KDE the installer should do everything by itself, meaning that the installer should not ask any questions to the user.
To do this I am trying to write a preseed file to tell the installer the information that it needs.
The problem is that even with this preseed file I could only tell the installer what is the username that it should use, the rest of the information is simply ignored by the installer.
I must be doing something wrong and would appreciate any and all help given me.
Thanks, Komyg
PS: Should I post my preseed file here?
If the livecd is not going to be used for the purposes of installing what files can be removed? Can the "pool" files containing the .debs be removed too?
- Mike
If I want to put in my LiveCD applications that aren't in the sources.list (like ooffice 2.2 or perl audio converter), what cain I do?
- Isoldanne
When you're in the chroot you can install applications just like you would on a live system. If you install from source you can feel free to delete the source tarbal and make folders after you do 'make install'.
- Bob/Paul
To get desired /etc/X11/xorg.conf one can modify the /usr/bin/dexconf. This script generates xorg.conf automatically in liveCD session according to the booted machine.
For example:
# diff ~/bin/dexconf /usr/bin/dexconf 268,269c268 < Option "XkbLayout" "us,il" < Option "XkbOptions" "grp:alt_shift_toggle,grp_led:scroll" --- > Option "XkbLayout" "$XKB_LAYOUT"
-- yotam
I cant do chroot. When i run it a get this error
chroot: cannot run command `/bin/bash': No such file or directory
Please help me out
- I had the same problem because the filesystem that I was working on was FAT32 instead of EXT2 or EXT3. Because of that, /bin/bash was not an executable I guess. If that is your case also, then please try again on a partition that is EXT2 or EXT3 (the Linux type of partition). Good luck,
--vvim
Hi, I've created a simple script to ease remastering the Kubuntu Live CD. It uses aufs to avoid copying all the files back and forth.
Maybe it will be usefull to others too. The script must be run as root.
CD="${1:-kubuntu-9.04-desktop-i386.iso}" ; shift # exit after any error: set -e which mkisofs mksquashfs tempfile sed WDIR=`mktemp -d $PWD/kubuntu-remastered.XXXXXXXXXX` ISO="$WDIR/${CD##*/}" ISO="${ISO%.iso}-remastered-KDM.iso" EXIT="" function addExit { EXIT="$@ ; $EXIT" trap "$EXIT" EXIT HUP TERM INT QUIT } function mnt { local margs="$1" ; shift local mp="$WDIR/$1" for D in "$@" ; do mkdir -v -p "$WDIR/$D" done mount -v $margs "$mp" addExit "umount -v $mp" } # mount the CD image mnt "-t auto $CD -o loop,ro" cd # mount compressed filesystem mnt "-t squashfs $WDIR/cd/casper/filesystem.squashfs -o ro,loop" sq # create joined writable filesystem for the new CD mnt "-t aufs -o br:$WDIR/cd-w=rw:$WDIR/cd=ro none" cd-u cd-w # create joined writable filesystem for the new compressed squashfs filesystem mnt "-t aufs -o br:$WDIR/sq-w=rw:$WDIR/sq=ro none" sq-u sq-w echo ">>> Updating CD content" ( cd sq-u # DO YOUR CUSTOMIZATION STUFF HERE, CHROOT, MODIFY FILES, ETC. # ... # ... ) echo ">>> Compressing filesystem" mksquashfs $WDIR/sq-u/ $WDIR/cd-u/casper/filesystem.squashfs -noappend echo ">>> Recomputing MD5 sums" ( cd $WDIR/cd-u && find . -type f -not -name md5sum.txt -not -path '*/isolinux/*' -print0 | xargs -0 -- md5sum > md5sum.txt ) echo ">>> Creating ISO image $ISO" mkisofs \ -V "Custom KUbuntu Live CD" \ -r -cache-inodes -J -l \ -b isolinux/isolinux.bin \ -c isolinux/boot.cat \ -no-emul-boot -boot-load-size 4 -boot-info-table \ -o "$ISO" \ $WDIR/cd-u # The trap ... callbacks will unmount everything.
--- Petr Pudlak
I need to know how to configure the live cd so that it does not use SWAP!
Please help me!
-- iceman
Hi, I've been experiencing problems with aptitude and I'm pretty sure its because I'm doing all this stuff on NTFS partition (according to this thread http://ubuntuforums.org/showthread.php?t=521905). But I have no other choice,coz' I've got less then 1,7GB on my ext3 partition. Any suggestion ? THX
Error messages I've been getting, when trying to install or update aptitude:
"E: Couldn't make mmap of 25165824 bytes - mmap (19 No such device) W: Unable to munmap E: The package lists or status file could not be parsed or opened."
-heethen (heethen at centrum dot cz)
I would suggest creating an ext3 filesystem within your NTFS partition. To create the file, type
dd if=/dev/zero of=/mnt/hda1/workspace.img bs=1024 count=$((1024*1024*15))
Where I assumed your NTFS partition was on hda1, and you wanted to call the new filesystem workspace.img (it's really just a file within NTFS), and that you wanted 15Gb of room to work. (You don't need that much, but with 15Gb you should have plenty of room.) Then you format the new filesystem with the command
sudo /sbin/mkfs.ext3 /mnt/hda1/workspace.img
then create a mountpoint
sudo mkdir /mnt/workspace
then mount the new filesystem
sudo mount -o loop /mnt/hda1/workspace.img /mnt/workspace
You can then use as much space on the NTFS partition as you want, and have all the benefits of ext3 (like getting the *** thing to work). --Tom
Editing gconf by setting each value separately takes too much time. There is a better way:
Make a test user and adjust the settings as you wish. Run
gconftool-2 --dump /the/settings/branch/you/need > ~/live/your-new-settings.xml sudo chown root:root ~/live/your-new-settings.xml sudo mv ~/live/your-new-settings.xml ~/live/edit/your-new-settings.xml
and then, in the chroot environment, run
gconftool-2 --direct --config-source xml:readwrite:/etc/gconf/gconf.xml.defaults --load /your-new-settings.xml rm /your-new-settings.xml
This way you can import the whole branch, e.g. /apps/panel - all settings for Gnome's panels.
---Jacob Popov ubuntu-9.04-desktop-i386.iso
Is there no way to copy the user's gconf-values to the default gconf-values in the chrooted environment? This would be a lot easier than writing commands.
It took me a long time to find the details for configuring a static IP on the live CD without doing it in the root file system. This enables you to create a few boot options with different static details and a DHCP on but all from the same rootfs.
There is a casper parameter which is in the form:
ip=IFACE,ADDRESS,NETMASK,GATEWAY[:IFACE,ADDRESS,NETMASK,GATEWAY]*
--silid
http://ubuntuforums.org/showthread.php?t=839670
I think I have discovered how to do this:
1) Edit accordingly /usr/share/initramfs-tools/scripts/casper-bottom/23networking
2) Run update-initramfs -u -k $version
- Robert
In order to get the livecd to boot from a static address found in the /etc/network/interfaces file.
I edit the /etc/network/interfaces file and add a static address for the interface eth0.
auto eth0 iface eth0 inet static address 10.xxx.xxx.xxx netmask 255.255.255.0 gateway 10.xxx.xxx.1
edit somepath/isolinux/text.cfg add ip=frommedia after splash
label live menu label ^Try Ubuntu without any change to your computer kernel /casper/vmlinuz append file=/cdrom/preseed/ubuntu.seed boot=casper initrd=/casper/initrd.gz quiet splash ip=frommedia --
This was a little hard to find. Thanks Robert Nicholas A. Schembi Pittsburgh PA USA
I've tried installing adobe flash player but while it installs fine on chroot, and then shows as installed when booting from CD. Firefox thinks it is not installed and I need to install it manually. Anybody come upon a similar problem
I tried to customize Ubuntu Hardy by installing the RT kernel and did the changes as written in the howto... it goes well, but booting in vbox is really slow. What could be the cause? I tried is once again and also in another vbox installation, but still that problem. Would be nice if someone can point me to an solution! thanks in advance see also thread: http://ubuntuforums.org/showthread.php?p=7334890#post7334890 edit: I think it has something to do with the fact that it is an RT kernel (from Hardy) ... Someone with experience with adding custom RT kernels?
I wrote a script to automate the extraction / chroot / regeneration processes: http://david.decotigny.fr/wiki/wakka.php?wiki=RemasterUbuntu . It has been tested on a jaunty x86_64 host for a jaunty i386 CD image.
To put the default user in the "video" group,
printf "\nADD_EXTRA_GROUPS=1\nEXTRA_GROUPS="video"\n" >> /etc/adduser.conf
-- CarlKarsten
In order to edit a Karmic LiveCD in any release prior to Karmic, it looks like you will need to upgrade squashfs-tools to support SquashFS v4.0:
root@maxwell:/home/Z_Custom# unsquashfs mnt/casper/filesystem.squashfs Filesystem on mnt/casper/filesystem.squashfs is (4:0), which is a later filesystem version than I support!
I installed squashfs-tools_4.0-1 from the Karmic release into my Intrepid installation and it seems to be fine now. Maybe we should update these directions to reflect that?
Sincerely,
--John D. Zollo
Hi.. How can I add an a Post Installation script? I mean, I want to execute a script just after the installation process. THis script is simple and set a few things to customize the installation.
Any ideas?
Best Regards
-- Alejandro
Hallo, I'm trying to remaster ubuntu 9.10 livecd. I'm following instruction from this page. When I'm trying to boot from customized system it's seems I can't login to the system, so I can't got the system running.
I am following instruction from limitation part about user id. And make sure there are none of users has uid more then 999. But, after making the squashfs file system I got a message that told me about a user with uid 1000. Actually my host system has a user with uid 1000. I'm using this user to remaster ubuntu livecd.
Does my uid (1000) that I used for remastering the livecd make the new live cd can't login? If it does, how to fix it? Am I must use another user with uid less then 999 to remaster the livecd?
Best Regards
asw_te
Hello, what is the best way to remaster the Karmic release LiveCD (in VirtualBox) to include all the latest updates (more than 150) including new kernel and udev? The kernel changed from 2.6.31-14 to 2.6.31-16 and also udev.
apt-get autoremove removes the old headers, but I have to purge the old kernel manually (apt-get purge linux-image-2.6.31-14-generic).
The first problem is, update-initramfs -u -k all still runs for the old kernel, too. Only aptitude reinstall udev seems to stop this (depmod -a && dpkg --configure -a && dpkg-reconfigure udev does not help).
The second problem is, how do I prepare initrd and isolinux to run and install from a subdirectory (to create a multi-boot DVD)? The base of the DVD is Ubuntu, so / contains ubuntu-9.10-desktop-i386.iso, /kubuntu contains kubuntu-9.10-desktop-i386.iso and so on. Most things run fine when I introduce the prefix to scripts/casper and /isolinux/text.cfg:
LIVE_MEDIA_PATH=casper $path/.disk/casper-uuid append file=/cdrom/preseed/kubuntu.seed boot=casper initrd=/casper/initrd.lz quiet splash --
becomes
LIVE_MEDIA_PATH=kubuntu/casper $path/kubuntu/.disk/casper-uuid append file=/cdrom/kubuntu/preseed/kubuntu.seed boot=casper initrd=/kubuntu/casper/initrd.lz quiet splash --
But the prefixed distributions show only an Install Ubuntu 9.10 link on the desktop, not Kubuntu (Xubuntu, LUbuntu, ...).
Thanks, René Leonhardt
Hi!
I was hoping to be able to remaster the Ubuntu Live disc so that I can stick it into almost any computer, have it boot up but NOT go into the GUI, just auto login and run a media player with arguements (like a stream address). Was hoping to be able to make my own easy internet radio appliance. Give old pentium computers with soundcards to businesses and they can play my station on their PA for free!
-- Matt
I updated the Karmic Live CD with the latest updates inside chroot using aptitude with update, dist-upgrade, purge linux-image-2.6.31-14-generic, install zsh zsh-doc, install ubuntu-restricted-extras, and enabled DVD playback.
The resulting iso file turned out larger than a CD, and I put it on a USB Disk. The system boots fine, has the latest updates and can play restricted formats 'out of the box'. When I travel, I can just carry a USB Disk instead of a computer!
All releases including Ubuntu 9.10 Karmic Koala now have newer kernels available via updates. The kernel in the live CD *MUST* match the ones inside squashfs. If it does not, you get strange problems (like the wireless interface not being detected or CDs not being recognized)
i.e. for Karmic
sudo cp edit/boot/vmlinuz-2.6.31-16-generic extract-cd/casper/vmlinuz sudo cp edit/boot/initrd.img-2.6.31-16-generic extract-cd/casper/initrd.gz
Since Karmic uses initrd.lz, I had to uncompress the .gz file and put it back in .lz format.
cd extract-cd/casper sudo mv initrd.lz inird.lz.orig gzip -dc initrd.gz | sudo lzma -7 > initrd.lz cd ~/live
To conserve space, you can remove the original initrd files before changing the directory back
sudo rm -f inird.lz.orig initrd.gz
Best, Pradeep Sekar