[SCM] live-manual branch, debian, updated. debian/20100501-1-17-g881af17
Nick Niktaris
niktaris at knoppel.org
Fri Jun 4 22:47:45 UTC 2010
The following commit has been merged in the debian branch:
commit 881af176dc81791c16c883870231393f4bd6a03b
Author: Nick Niktaris <niktaris at knoppel.org>
Date: Sat Jun 5 01:40:54 2010 +0300
Added FAQ from no18 to no57. Done with FAQ
diff --git a/xml/chapters/faq.xml b/xml/chapters/faq.xml
index 4bbb290..12b00e8 100644
--- a/xml/chapters/faq.xml
+++ b/xml/chapters/faq.xml
@@ -153,7 +153,353 @@ Session=fluxbox</screen>
<listitem>
<para>Q: How do I customize the artwork for the live CD (grub or syslinux boot splash, usplash, etc.)?</para>
- <para>A: <ulink url="http://wiki.debian.org/DebianLive/Howto/Custom_Artwork"> See DebianLive/Howto/Custom_Artwork. </ulink></para>
+ <para>A: <ulink url="http://wiki.debian.org/DebianLive/Howto/Custom_Artwork"> See DebianLive/Howto/Custom_Artwork. </ulink> FIXME: NEED TO UPDATE</para>
+</listitem>
+
+<listitem>
+ <para>Q: How do I customize desktop environment (KDE, GNOME, XFCE, etc...) look?
+ <para>A: Start the live system in qemu: </para>
+ <screen>$ qemu -m 256 -cdrom binary.iso -boot d -redir tcp:4222:10.0.2.15:22</screen>
+ <note>the -redir argument must be changed to meet your needs </note>
+</para>
+</listitem>
+
+<listitem>
+ <para>Q: How do I execute a custom shell script inside the chroot system after the chroot stage?</para>
+ <para>A: Add your script in config/chroot_local-hooks. </para>
+</listitem>
+
+<listitem>
+ <para>Q: How do I add a script running immediately after all other scripts when the live system boots?
+ <para>A: Add your script in config/chroot_local-includes/usr/share/initramfs-tools/scripts/live-bottom/99script </para>
+ <screen>$ chmod +x config/chroot_local-includes/usr/share/initramfs-tools/scripts/live-bottom/99script</screen>
+ <note>The hook script must be executable. Do not forget to lh_clean --chroot after making this change before you build again. </note>
+ <para>You must also use the example script /usr/share/live-helper/examples/hooks/update-initramfs.sh to ensure your script gets built into the initramfs (read the comment header for instructions). </para>
+</para>
+</listitem>
+
+<listitem>
+ <para>Q: How do I add software not in Debian ?</para>
+ <para>A: See <xref linkend="packages" /> Customising package installation</para>
+</listitem>
+
+<listitem>
+ <para>Q: What is the manifest with Ubuntu used for?</para>
+ <para>A: Manifest is just the package list, which ubuntu does $something with. Don't worry about it. </para>
+</listitem>
+
+<listitem>
+ <para>Q: What is this {p} syntax with mtools{p} and parted{p} ?</para>
+ <para>A: That's aptitude. </para>
+</listitem>
+
+<listitem>
+ <para>Q: Do I need to write the image on USB stick to test it?
+ <note>you must use qemu >= 0.8. </note>
+</para>
+</listitem>
+
+<listitem>
+ <para>Q: What is /cow ?</para>
+ <para>A: Copy-on-write, the 'diff' from unionfs. </para>
+</listitem>
+
+<listitem>
+ <para>Q: Is /usr/share/live-helper/lists/standard-x11 like preseed or is preseed something else entirely?</para>
+ <para>A: It is not. It is a package list, not a debconf preseeding. </para>
+</listitem>
+
+<listitem>
+ <para>Q: What is the difference between standard and minimal?
+ <para>standard: packages of priority standard and higher;</para>
+ <para>minimal: packages of priority essential and higher; </para>
+ </para>
+</listitem>
+
+<listitem>
+ <para>Q: What can the sections be used for? Aren't they BIG?</para>
+ <para>A: Someone maybe wants to include packages from contrib or non-free. </para>
+</listitem>
+
+<listitem>
+ <para>Q: memtest86+ ... is that used?</para>
+ <para>A: Yes </para>
+</listitem>
+
+<listitem>
+ <para>Q: How do I build using predefined packages lists?
+ <para>A: e.g. to build using standard-x11 packages list: </para>
+ <screen>$ sudo lh_config -p standard-x11
+$ sudo lh_build</screen>
+ <note>The packages lists can be found in /usr/share/live-helper/lists/ directory. </note>
+</para>
+</listitem>
+
+<listitem>
+ <para>Q: How do I rebuild without downloading all the packages again?
+ <para>A: All packages are cached in cache subdirectory. They remain until a clean purge: </para>
+ <screen>$ sudo lh_clean --purge</screen>
+ <para>You do not have to do anything to prevent packages from being re-downloaded. You need to remember to clean whichever stages you want to rebuild first. </para>
+ <para>e.g. to rebuild from the cached bootstrap, chroot packages and build a new image. </para>
+ <screen>$ sudo lh_clean
+$ sudo lh_build</screen>
+</para>
+</listitem>
+
+<listitem>
+ <para>Q: How do I boot USB debian-live on systems not supporting USB boot?
+ <para>A: Make a boot CD with grub, configured to boot from a debian-live kernel copied on the cd structure.</para>
+ <screen>$ mkdir -p iso/boot/grub
+$ cp /usr/lib/grub/i386-pc/stage2_eltorito iso/boot/grub
+$ cp chroot/boot/* iso/boot/</screen>
+ <para>Create iso/boot/grub/menu.lst </para>
+ <screen>default 0
+timeout 5
+color cyan/blue white/blue
+title Debian Live
+root (cd)
+kernel /boot/vmlinuz boot=live
+initrd /boot/initrd.img</screen>
+<para>Create the iso image </para>
+ <screen>$ mkisofs -R -b boot/grub/stage2_eltorito -no-emul-boot \
+-boot-load-size 4 -boot-info-table -o grub.iso iso</screen>
+<para>Burn the image. </para>
+</para>
+</listitem>
+
+<listitem>
+ <para>Q: How do I boot debian-live on systems not supporting CDROM or USB boot?</para>
+ <para>A: If you have a floppy drive, you may be able to use it, otherwise you will need to use loadlin/grub4dos/win32-loader. If you have a second system to serve up the image over the network, <ulink url="DebianLive/Howto/Creating_a_Netboot_Image"> See DebianLive/Howto/Creating_a_Netboot_Image. </ulink> FIXME LINK
+ </para>
+</listitem>
+
+<listitem>
+ <para>Q: The X configuration does not seems to work, the resolution is too low. What can I do?
+ <para>A: Use xdebconfigurator </para>
+ <screen>$ lh_config --bootappend xdebconf
+$ lh_config --packages xdebconfigurator</screen>
+</para>
+</listitem>
+
+<listitem>
+ <para>Q: Apache has problems with static files
+ <para>A: Sendfile does not work well on the unionfs used by Debian Live. Add the following to apache's configuration: </para>
+ <screen>EnableSendfile off</screen>
+</para>
+</listitem>
+
+<listitem>
+ <para>Q: How do I make hard disk partitions auto-mountable?
+ <para><command>A: Short answer:</command> Right now the best is to use a script that will populate the fstab when the CD is booting. Such a script can be found <ulink url="https://devel.goto10.org/svn/puredyne/trunk/broth/stock/chroot_local-includes/sbin/diskmounter.sh"> FIXME BROKEN LINK </ulink>. A proper solution based on HAL will be described here in a hopefully near future. </para>
+ <para><command>A: Long Answer: </command> Since 55_nonpolkit-mount-policy.patch in HAL, debian-storage-policy-fixed-drives.fdi is not available anymore and the previous trick that consisted to remove this file to enable automounting of fixed drives as a consequence is obsolete.</para>
+ <para>Eventually, it will be possible to combine HAL and PolicyKit to enable different permissions and actions to achieve advanced (auto)mounting for non-root users. Until then, because the live scripts are only touching to the fstab to add a swap partition if discovered at boot time, the only way to have fixed drives mounted automatically is to use a script that will populate the fstab file at the end of the multiuser runlevel. </para>
+ <para>To achieve this, you can do, for example, the following:
+ <para>download the <ulink url="https://devel.goto10.org/svn/puredyne/trunk/broth/stock/chroot_local-includes/sbin/diskmounter.sh"> diskmounter.sh script FIXME BROKEN LINK </ulink> </para>
+ <para>Create the chroot_local-includes/sbin directory, and move the script inside</para>
+ <para>Make sure the script is executable (chmod +x diskmounter.sh)</para>
+ <para>create the chroot_local-includes/etc/rc.local file and call the diskmounter from there (see this <ulink url="https://devel.goto10.org/svn/puredyne/trunk/broth/stock/chroot_local-includes/etc/rc.local"> rc.local FIXME BROKEN LINK </ulink> </para>
+ </para>
+When called correctly, the script detects ext2, ext3, reiserfs, xfs, FAT32, HFS+ and NTFS partitions and mount them read-write, except for NTFS. This will change soon and an option will be available to use ntfs-3g to mount NTFS as read-write.
+<para>comments, patches and other things about this script and issue: http://code.goto10.org/projects/puredyne/ticket/463</para>
+</para>
+</listitem>
+
+<listitem>
+ <para>Q: Boot fails with panic: can't open /scripts/live </para>
+ <para>A: Add latest live-initramfs deb package into config/chroot_local-packages directory and rebuild. </para>
+</listitem>
+
+<listitem>
+ <para>Q: How do I configure the locale and the keyboard? </para>
+ <para>A: See <xref linkend="internalization" /> 10n</para>
+</listitem>
+
+<listitem>
+ <para>Q: How do I get past boot prompt without a working keyboard? </para>
+ <para>A: See <xref linkend="bootup" /> Customising the bootup process</para>
+ <note>Boot from an USB-HDD on an iMac with GRUB did not work. </note>
+</listitem>
+
+<listitem>
+ <para>Q: Can I serve the root image from a web or ftp server?
+ <para>A: Since live-initramfs 1.99, it should be possible to use the fetch= argument on the kernel command line. You can build a netboot image as usual, and when you are done edit the tftpboot/pxelinux.cfg/default file. Remove the references to network boot (netboot, nfsroot, nfsopts), and replace with fetch= 〈url where you placed the root image>. </para>
+ <note>You have to include wget in the chroot. It could work for other boot methods as well. However, I am not sure the live scripts configure the network when booting from a CD or USB disk.</note>
+ <screen>$ lh_config --packages wget</screen>
+</para>
+</listitem>
+
+<listitem>
+ <para>Q: Why doesn't quickreboot (or some other boot parameter) work?
+ <para>A: If you are building an etch image (which was the default up to 2007/09/14) you have a very old version of casper which does not support quickreboot and possibly other boot parameters as well. You could configure your sources to use live-backports (see /usr/share/live-helper/examples/sources/live-backports) and switch to live-initramfs, or better yet, build a lenny image instead, which is the new default. </para>
+ <screen>$ lh_config --distribution lenny
+$ lh_config --initramfs live-initramfs</screen>
+</para>
+</listitem>
+
+<listitem>
+ <para>Q: How do I fix "Could not find kernel image" issue with syslinux bootloader?
+ <para>A: Add a binary local hook script to fix kernel and initrd path each time you build an image. </para>
+ e.g. config/binary_local-hooks/01-fix_syslinux.sh
+ <screen>#!/bin/sh
+SYSLINUXCFG=`find binary -type f -name syslinux.cfg`
+sed -i "s|kernel /vmlinuz|kernel vmlinuz|g" ${SYSLINUXCFG}
+sed -i "s|initrd=/initrd|initrd=initrd|g" ${SYSLINUXCFG}</screen>
+ <screen>$ chmod +x config/binary_local-hooks/01-fix_syslinux.sh</screen>
+</para>
+</listitem>
+
+<listitem>
+ <para>Q: How do I use a newer kernel with lenny?
+ <para>A: A build with backports.org kernels will fail as that repository lacks the necessary module packages (linux-modules-extra-2.6, aufs, etc.). Use the kernel backports <ulink url="http://unsupported.debian-maintainers.org/backports-kernel/"> http://unsupported.debian-maintainers.org/backports-kernel/. </ulink> </para>
+ The quick way to success:
+ <screen>$ lh_config --linux-packages 'linux-image-2.6 aufs-modules-2.6 squashfs-modules-2.6'
+
+$ echo 'deb http://unsupported.debian-maintainers.org/backports-kernel/ ./' > config/chroot_sources/backports-kernel.chroot
+$ echo 'deb http://unsupported.debian-maintainers.org/backports-kernel/ ./' > config/chroot_sources/backports-kernel.binary
+
+$ wget http://unsupported.debian-maintainers.org/backports-kernel/archive-key.asc -O config/chroot_sources/backports-kernel.chroot.gpg
+$ wget http://unsupported.debian-maintainers.org/backports-kernel/archive-key.asc -O config/chroot_sources/backports-kernel.binary.gpg
+
+$ lh_build</screen>
+</para>
+</listitem>
+
+<listitem>
+ <para>Q: How do I use a custom kernel?
+ <para>〉 Is there a nice way of booting debian-live with a custom kernel (not in an apt repo)? </para>
+ <para>A: Copy it into config/chroot_local-packages and set LH_LINUX_PACKAGES="none" or use lh config --linux-packages " " </para>
+ <para>Don't forget to compile your kernel with an union filesystem (unionfs or aufs), squashfs modules, and initrd support. </para>
+ <para>〉 I can cause the kernel to be installed but it seems this happens later than grub/syslinux is configured so it's not listed and casper/ and the menu require munging. </para>
+ <para>You need to follow the debian scheme, e.g. placing the files in /boot as vmlinuz-$version and initrd.img-$version etc. </para>
+ <para>I personally wouldn't go that way which is too much of a hassle, and just use make-kpkg to produce custom kernel deb packages. They should integrate nicely if you just put them into config/chroot_local-packages and set LH_LINUX_PACKAGES="". </para>
+ <para><emphasis>Hint:</emphasis> to work around an error, which lh_binary_syslinux will throw on custom kernels if there is not an 468/686 in the kernel-name, you need to set CONFIG_LOCALVERSION="-486" or "-686" within the kernel configuration (-> General setup -> Local version set to -486 or -686) corresponding to LH_LINUX_FLAVOURS="" or "686". this at least up till live-helper version 1.0~a40-1</para>
+ see
+ <para><ulink url="http://lists.alioth.debian.org/pipermail/debian-live-devel/2007-July/001947.html"> http://lists.alioth.debian.org/pipermail/debian-live-devel/2007-July/001947.html</ulink> </para> and
+ <para><ulink url="http://lists.alioth.debian.org/pipermail/debian-live-devel/2007-November/002581.html">http://lists.alioth.debian.org/pipermail/debian-live-devel/2007-November/002581.html</ulink></para>
+
+</para>
+</listitem>
+
+<listitem>
+ <para>Q: How do I create a cross arch live CD image?
+ <para><command>A: In short:</command> You can't. Read on: </para>
+ <para>The procedure to create a live CD is based on creating a chroot that contains the files that will be finally available on the live CD. The live CD building procedure includes chrooting into the chroot dir and so some operations. chrooting means that the terminal you chroot on will behave as a different system so your real system and the chroot environment is decoupled somehow.</para>
+ <para>Once the live CD scripts chroots into the chroot dir they have some operations to do inside that environment and your real system won't be able to run them unless you are using the same architecture.</para>
+ <para>So you only are able to make live CD for the arch you run on. But this doesn't prevent you run qemu or some other machine emulator that make this possible.</para>
+</para>
+</listitem>
+
+<listitem>
+ <para>Q: When is a lh_clean necessary?
+ <para>lh_clean is a script in /usr/bin/ </para>
+ <para>A: That depends what you've changed between builds
+ <para>If, for example, you've built an iso image and you want a usb image, you only need to run <command> lh_clean --binary </command> before you run lh_build again. </para>
+ <para>If you've <command> changed anything in the chroot </command> , you'll need to cleanup both chroot and binary with <command> lh_clean </command>before continuing </para>
+ </para>
+ </para>
+</listitem>
+
+<listitem>
+ <para>Q: How can i set boot= parameters?</para>
+ <para>A: Set LH_BOOTAPPEND_LIVE in config/binary </para>
+
+</listitem>
+
+<listitem>
+ <para>Q: How do I include different modules to load when the live system boots?
+ <para>A: Configure config/chroot_local-includes/etc/initramfs-tools/ </para>
+ <para>The lh_chroot_hacks helper rebuilds the live/initrd1.img using the default initramfs.conf "MODULES = most". You may override that by supplying your own initramfs.conf, or else just add your own modules, e.g. </para>
+ <screen>mkdir -p config/chroot_local-includes/etc/initramfs-tools/
+echo "atl2" >> config/chroot_local-includes/etc/initramfs-tools/modules</screen>
+<note>Even though initramfs.conf(5) says "most adds all the framebuffer, acpi, file system, ide, sata, scsi and usb drivers", it actually includes network drivers as well. See auto_add_modules() in /usr/share/initramfs-tools/hook-functions for the complete list. </note>
+</para>
+</listitem>
+
+<listitem>
+ <para>Q: Can I have a splash screen?
+ <para>A: Yes you can </para>
+ You will not know what is going on when the splash screen is active, it may fail to activate on some hardware or break X on other (both usplash and splashy use libdirectfb which does some evil voodoo and may break you graphics or input until you reboot). However, you can install and activate it just as you would on any other Debian system.
+ <para>To use splashy: </para>
+ <para> 1) install splashy and read the README, the manpages are useless for setting it up. Add some parameters to your kernel command line, such as in your pxelinux configuration or in LH_BOOTAPPEND_LIVE in config/binary in debian-live configuration: </para>
+ <screen>vga=792 splash quiet</screen>
+ <para><filename>vga </filename>to select video mode, <filename>splash </filename>to activate splashy, <filename>quiet</filename> to suppress most kernel messages that you cannot see anyway but would scroll past before splashy manages to paint the graphics on your screen.</para>
+ You might want to add splashy to the list of packages installed in your image:
+ <screen>echo splashy > config/chroot_local-packageslists/splashy
+echo splashy-themes >> config/chroot_local-packageslists/splashy</screen>
+<para>and select a theme:</para>
+ <screen>echo '#!/bin/sh' > config/chroot_local-hooks/splashy
+echo splashy_config -s debian-moreblue '||' true >> config/chroot_local-hooks/splashy
+# update the ramdisk to include the splash screen
+echo update-initramfs -u -k all >> config/chroot_local-hooks/splashy
+chmod 755 config/chroot_local-hooks/splashy </screen>
+<para> After you rebuild your live system you should observe a bluish splash screen while booting. Nothing happens while initramfs is running because there is no splashy support in initramfs-tools. Once the init starts the progress bar should start to fill.</para>
+<para>If <filename> vga=something</filename> sets a mode that your screen cannot show or your card cannot do vesa 2.0 (and thus you get plain text mode and no splashy) read the splashy faq.</para>
+</para>
+</listitem>
+
+<listitem>
+ <para>Q: Howto use my Broadcom eXtrem 2 network card (module bnx2) ?
+ <para>A: Add the firmwares to the initrd image. </para>
+ <para>You need to install the non-free package "firmware-bnx2". Uncompress your initrd image, then copy files : </para>
+ <screen>cp /lib/firmware/bnx2* ${INITRD}/lib/firmware/
+cp /lib/udev/firmware.agent ${INITRD}/lib/udev/</screen>
+Recompress your initrd image and boot: it works !
+</para>
+</listitem>
+
+<listitem>
+ <para>Q: X is broken (the system boots, messages scroll by, and then the screen goes blank). What do I do?
+ <para>On my system starting X completely disables graphics so that I do not see anything even after X bails out and I am back to the console. To prevent this you can change the driver Xorg uses.</para>
+ <para>If you have a working splash screen or at least graphical console you can use </para>
+ <filename>live xdriver=fbdev</filename>
+ <para>when booting the live system (instead of just enter). </para>
+ Another driver you might want to try is <filename> vesa. </filename>
+ <para>If all fails you might try to set xdriver to some wrong value so that Xorg fails to start and you can examine the system while you still see something on the console. </para>
+ <filename>live xdriver=none</filename>
+</para>
+</listitem>
+
+<listitem>
+ <para>Q: How can I get Debian first stable versions?</para>
+ <para>I'm developing software and testing it on Live-CD. Thanks for the LiveCD project. To be sure my development is fully compatible with the "etch" version, I need the same scenario when Debian GNU/Linux 4.0 was published as stable (I believe 2007.04.08). If there was some bug on 2007.04.08 that was corrected one week later, I need to test software foreseeing that scenario without the bug solved.</para>
+</listitem>
+
+<listitem>
+ <para>Q: I get "fopen: Permission denied"-warnings from apt on building/at the live-system</para>
+ <para>That's a harmless bug in apt. However, if you want to get off this warnings in the live-system, add a file in chroot_local-hooks with follow row: </para>
+ <screen> chown -R man.man /var/cache/man </screen>
+</listitem>
+
+<listitem>
+ <para>Q: Why I always fail during "Retrieving Packages" stage when running lh_build? I have already set apt-http-proxy and so on.</para>
+ <para>A: lh_build retrieves packages via wget, as a result you need to enable the proxy settings in /etc/wgetrc before running lh_build.</para>
+</listitem>
+
+<listitem>
+ <para>Q: How do I edit Xorg.conf?
+ <para>A: Xorg.conf is generated every time system boots, so it's useless to put modifed Xorg.conf in config/choort_local-includes/etc/X11, because it will be overwritten during boot. However, you can edit /usr/bin/dexconf, which generate xorg.conf during boot, so the result will be modified Xorg.conf. The modified dexconf has to be put in config/choort_local-includes/usr/bin. e.g.: you can configure Xorg.conf for two or more keyboards layouts with alt+shift toggle by editing dexconf and replacing the line:</para>
+ <screen>Option "XkbLayout" "$XKB_LAYOUT"</screen>
+ <para>with the lines: </para>
+ <screen>Option "XkbLayout" "us,il"
+Option "XkbOptions" "grp:alt_shift_toggle,grp_led:scroll"</screen>
+ <para>when "us,il" are the wanted keyboard layouts.</para>
+ <para>You can force default screen resulotion (e.g. 1024*768) by adding the lines: .</para>
+ <screen> SubSection "Display"
+ Modes "1024x768"
+ EndSubSection</screen>
+ <para>between the lines:</para>
+ <screen> Section "Screen"
+ Identifier "Default Screen"
+ Monitor "Configured Monitor"
+ . . . . . . .
+SECTION
+printf "EndSection\n" 〉 &4</screen>
+</para>
+</listitem>
+
+<listitem>
+ <para>Q: Where are the build parameters for the prebuilt images</para>
+ <para>A: See <ulink url="http://live.debian.net/README.images">http://live.debian.net/README.images.</ulink></para>
</listitem>
</itemizedlist>
--
live-manual
More information about the debian-live-changes
mailing list