Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 10763 - Creating LiveCDs from the tool app-admin/livecd
Summary: Creating LiveCDs from the tool app-admin/livecd
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: New packages (show other bugs)
Hardware: x86 Linux
: High minor
Assignee: Daniel Robbins (RETIRED)
URL: http://frgentoo.net
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2002-11-15 03:09 UTC by Baptiste SIMON
Modified: 2003-02-04 19:42 UTC (History)
1 user (show)

See Also:
Package list:
Runtime testing required: ---


Attachments
Pre-fixed version of the /usr/sbin/livecd script (livecd,7.86 KB, text/plain)
2002-11-15 13:13 UTC, Baptiste SIMON
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Baptiste SIMON 2002-11-15 03:09:44 UTC
The app-admin/livecd's last ebuild installs a software that tries to work with
the gentoo-1.3b. It doesn't seems to be working anymore...

I looked into the /usr/sbin/livecd script which is the central component of this
tool. I thank that it was not simple to modify it simply.

I have made changes to fix the bug and to make the tool more adaptable... I put
the code here. It seems to work... :c)


-- Begining of /usr/sbin/livecd --

#!/bin/sh -e
#
# Live CD generation script
#
# Christoph Lameter, July 13, 2002, <christoph@lameter.com>
# (C)2002 TelemetryBox Corporation, http://telemetrybox.biz
#
# Baptiste SIMON, November 15, 2002, <bs-public@duval.dyndns.org>
# (C)2002 Baptiste SIMON, http://www-beta.duval.dyndns.org
#
# Released under GPL v2
#

LLOC=/usr/lib/livecd
STAGE=3
ARCH=i586
GLOBALARCH=x86
ROOT=isoroot
IMLOC="http://www.ibiblio.org/pub/Linux/distributions/gentoo/releases/build/"
VERSION="1.4_rc1"
EXTENSION="tar.bz2"

URL="${IMLOC}/${VERSION}/${GLOBALARCH}/"

TEMP=`getopt -o 123bi:czeus:r:h --long
help,setup:,bootable,iso:,compress,cleanup,enter,size,root: -n 'livecd' -- "$@"`
if [ $? != 0 ] ; then echo "Terminating..." >&2 ; exit 1 ; fi
eval set -- "$TEMP"

chroot_generate() {
  if [ -d $ROOT ]; then
    umount $ROOT/proc 2>/dev/null||true
    umount $ROOT/usr/portage 2>/dev/null||true
    rm -rf $ROOT
  fi
  mkdir $ROOT
  if [ "$STAGE" = "3" ]; then
    if [ ! -f stage3-$1-*.${EXTENSION} ]; then
       wget ${URL}/stage3-$1-${VERSION}.${EXTENSION}
    fi
    (cd $ROOT;tar jxpf ../stage3-$1-*.${EXTENSION})
  fi
  if [ "$STAGE" = "2" ]; then
    if [ ! -f stage2-$1-*.${EXTENSION} ]; then
       wget ${URL}/stage2-$1-${VERSION}.${EXTENSION}
    fi
    (cd $ROOT;tar jxpf ../stage2-$1-*.${EXTENSION})
  fi
  if [ "$STAGE" = "1" ]; then
    if [ ! -f stage1-*.${EXTENSION} ]; then
      wget ${URL}/stage1-ix86-${VERSION}.${EXTENSION}
    fi
    (cd $ROOT;tar jxpf ../stage1-*.${EXTENSION})
  fi
  cp -a $LLOC/prototype/* $ROOT
  cp /etc/resolv.conf $ROOT/etc
  mount -o bind /proc $ROOT/proc
  mount -o bind /usr/portage $ROOT/usr/portage
  chroot $ROOT /bin/bash -e <<EOF
env-update
source /etc/profile
ln -sf ../usr/share/zoneinfo/GMT /etc/localtime
#emerge rsync
EOF
  cp $LLOC/$1/make.conf $ROOT/etc
  if [ "$STAGE" "<" 2 ]; then
    chroot $ROOT /bin/bash -e <<EOF
source /etc/profile
cd usr/portage
scripts/bootstrap.sh
EOF
  fi
  if [ "$STAGE" "<" 3 ]; then
  chroot $ROOT /bin/bash -e <<EOF
source /etc/profile
# Fix broken emerge
emerge -i sys-apps/grub-0.90-r7
emerge system
emerge gentoo-sources sysklogd
EOF
  fi
  cp $LLOC/$1/config $ROOT/usr/src/linux/.config
  cp $LLOC/bootpeng/penguins.boot.gz >$ROOT/boot/penguins.boot
  chroot $ROOT /bin/bash -e <<EOF
source /etc/profile
emerge lilo
emerge irssi mp3blaster ntp joe grub gentoolkit traceroute
emerge strace dialog ncftp boa vcron
rc-update add net.eth0 default
cd /usr/src/linux
make oldconfig
# make aborts due to lilo script not found but at that
# point we already have a working kernel
make install||true
make modules modules_install
make clean
emerge pcmcia-cs
EOF

  umount $ROOT/usr/portage
  umount $ROOT/proc
}

cleanup() {
# maybe check for use right now and then remove stuff as needed?
  umount $ROOT/usr/portage 2>/dev/null || true
  umount $ROOT/proc 2>/dev/null || true
  rm -rf $ROOT/var/tmp/portage/*
  rm -rf $ROOT/usr/portage/distfiles/*
  rm -rf $ROOT/tmp/*
  rm -rf $ROOT/usr/portage/*
  X=`find $ROOT -name "*~"`
  if [ "$X" != "" ]; then
        echo "Removing $X"
        rm $X
  fi
}

makeinitrd() {
  mkdir ${ROOT}-initrd/{bin,etc,usr,proc,tmp}
  ln -s bin ${ROOT}-initrd/sbin
  ln -s ../bin ${ROOT}-initrd/usr/bin
  ln -s ../bin ${ROOT}-initrd/usr/sbin
  ln -s ../lib ${ROOT}-initrd/usr/lib
  (mkdir ${ROOT}-initrd/dev;cd ${ROOT}-initrd/dev;MAKEDEV generic-i386;MAKEDEV scd)
  cat >${ROOT}-initrd/etc/fstab <<EOF
/dev/ram0       /             cramfs defaults
proc            /proc         proc   defaults  0 0
EOF
  install -m755 $LLOC/linuxrc ${ROOT}-initrd
  cp $LLOC/driverlist ${ROOT}-initrd
  >${ROOT}-x
  cd $ROOT
  for i in `cat $LLOC/driverlist`; do
    if ! find lib/modules -name $i.o >>$ROOT-x; then
        echo "Driver $i not found"
    fi
  done
  tar cf - `cat ${ROOT}-x` | (cd ../${ROOT}-initrd;tar xf -)
  cd ..
  rm ${ROOT}-x
  cp $LLOC/busybox ${ROOT}-initrd/bin

  # Generate busybox links. We really do not need all of them but its good to
  # have a fall back in case we need them someday.
  for i in '[' ash basename cat chroot cp dirname echo env false find \
    grep gunzip gzip insmod ln loadkmap ls lsmod mkdir modprobe more mount mv \
    pivot_root ps pwd rm rmdir rmmod sh sleep tar test touch true umount uname \
    xargs yes zcat; do
    ln ${ROOT}-initrd/bin/busybox ${ROOT}-initrd/bin/$i
  done
}

show_iso_size() {
    echo "Size of iso filesystem is `du -s $ROOT` KB"
}

make_isolinux() {
  if [ ! -f $ROOT/boot/vmlinuz ]; then
        echo "Linux Kernel not available"
        exit 1
  fi

  cp -a $LLOC/isolinux $ROOT
  cp $ROOT/boot/vmlinuz $ROOT/isolinux/linux
  mkdir ${ROOT}-initrd
  dd if=/dev/zero of=${ROOT}-img bs=1k count=3000
  mke2fs -F -q -N3000 ${ROOT}-img
  mount -text2 -oloop ${ROOT}-img ${ROOT}-initrd
  makeinitrd
  umount ${ROOT}-initrd
  gzip -f -9 ${ROOT}-img
  cp ${ROOT}-img.gz $ROOT/isolinux/initrd
#  mkcramfs initrd $ROOT/isolinux/initrd >mkcramfs.log
#  genromfs -f $ROOT/isolinux/initrd -d initrd

  if [ ! -f $ROOT/etc/inittab.gentoo ]; then
    echo "Setting up special inittab ...."
    cp $ROOT/etc/inittab $ROOT/etc/inittab.gentoo
    # The patch makes init spawn the deploy script on tty1
    patch ${ROOT}/etc/inittab <$LLOC/inittab.patch
  fi
  rm -r ${ROOT}-initrd ${ROOT}-img.gz
}

iso_generate() {
  X=$ROOT
  if [ "$COMPRESS" != "" ]; then
    echo "Compressing iso tree. This could take some time...."
    mkdir ${ROOT}-compressed
    for i in index.html telemetrybox.jpg README isolinux mnt tmp proc root dev; do
      echo "Copying /$i ..."
      cp -a ${ROOT}/$i ${ROOT}-compressed|| true
    done
    for i in usr var boot etc sbin bin home lib opt; do
      echo "Compressing /$i ..."
      mkzftree ${ROOT}/$i ${ROOT}-compressed/$i
    done
    echo "Size of compressed iso filesystem is `du -s ${ROOT}-compressed` KB"
    X="${ROOT}-compressed"
  fi

  mkisofs -z -R -l -o ${1:-tboxgentoo.iso} -b isolinux/isolinux.bin -c
isolinux/boot.cat \
      -no-emul-boot -boot-load-size 4 -boot-info-table $X

  if [ "$COMPRESS" != "" ]; then
    echo "Cleaning up"
    rm -rf ${ROOT}-compressed
  fi
}

enter_livecd() {
  mount -o bind /proc $ROOT/proc || true
  mount -o bind /usr/portage $ROOT/usr/portage || true
  chroot $ROOT /bin/bash
  umount $ROOT/proc
  umount $ROOT/usr/portage
}

usage() {
  cat <<EOF
livecd: tools to generate a live cd v0.5
Syntax: livecd <command1> <command2> ....

Commands:
 -s ARCH        Setup a new isotree using stage3 (default) for i386/i486/i586/i686
 -b             Generate directories and files necessary in iso tree to make it
bootable
 -i isofile     Generate .iso image from iso tree
 -z             Remove unneeded files from iso tree
 -e             Run a shell in a chrooted environment o fthe iso tree. Use for
merging new software.
 -u             Show the space of the isotree (this is only an estimate!)

Options:
 -1             Use first stage tarball
 -2             Use second stage tarball
 -3             Use third stage tarball
 -r root        Use <root> as the root directory for the iso directory tree.
Default is "isoroot"
 -c             Compress files when generating .iso image

(C) 2002 TelemetryBox Corporation, Christoph Lameter, http://telemetrybox.biz
Distributed under the GPL v2
EOF
}

#echo $*

while true ; do
  case "$1" in
    -1) STAGE=1;shift;;
    -2) STAGE-2;shift;;
    -3) STAGE=3;shift;;
    -c) COMPRESS=1;shift;;
    -s|--setup)  chroot_generate $2;shift 2;;
    -b|--bootable) shift;make_isolinux;;
    -i|--iso)    iso_generate $2;shift 2;;
    -z|--cleanup) shift;cleanup;;
    -e|--enter)  shift;enter_livecd;;
    -u|--size)   shift;show_iso_size;;
    -r|--root)   ROOT=$2;shift 2;;
    -h|--help)   shift;usage;;
    --) shift;break;;
    *) echo "Internal error!"; exit 1;;
  esac
done

if [ "$1" != "" ]; then
  echo "Unknown parameter:$*"
  exit 1
fi

exit 0

-- End of usr/sbin/livecd --


Thx for your attention !

Baptiste SIMON
Comment 1 Baptiste SIMON 2002-11-15 12:40:59 UTC
EOF
  fi
  cp $LLOC/$1/config $ROOT/usr/src/linux/.config
>>>  cp $LLOC/bootpeng/penguins.boot.gz >$ROOT/boot/penguins.boot
  chroot $ROOT /bin/bash -e <<EOF
source /etc/profile
emerge lilo

There also have a problem here... I think (don't tested) that we have to change
this line by :
cp $LLOC/bootpeng/penguins.boot.gz $ROOT/boot/penguins.boot

Baptiste SIMON
Comment 2 Baptiste SIMON 2002-11-15 12:48:30 UTC
Problem emerging kernel and logger using the "stage3" :

<Original>

  if [ "$STAGE" "<" 3 ]; then
    chroot $ROOT /bin/bash -e <<EOF
      source /etc/profile
      # Fix broken emerge
      emerge -i sys-apps/grub-0.90-r7
      emerge system
      emerge gentoo-sources sysklogd
      EOF
  fi

</Original>

We emerge gentoo-sources only if the var $STAGE is < 3 so you don't if you make
your LiveCD from a stage3 !

I propose to extract the line :
"emerge gentoo-sources sysklogd"
from the condition... like this :

<Reviewed>

  if [ "$STAGE" "<" 3 ]; then
    chroot $ROOT /bin/bash -e <<EOF
      source /etc/profile
      # Fix broken emerge
      emerge -i sys-apps/grub-0.90-r7
      emerge system
      EOF
  fi
  emerge gentoo-sources sysklogd

</Reviewed>
Comment 3 Baptiste SIMON 2002-11-15 12:59:09 UTC
I propose this synthesis of the corrections I proposed for this bug.
I do not garanty anything about that because I have just test it by hand, not in
 entirely by this script.

An other warning is that I just tried to run the chroot_generate() fonction...
I hope all my proposals will be ok... :c)

Baptiste SIMON


<Reviewed>

#!/bin/sh -e
#
# Live CD generation script
#
# Christoph Lameter, July 13, 2002, <christoph@lameter.com>
# (C)2002 TelemetryBox Corporation, http://telemetrybox.biz
#
# Baptiste SIMON, November 15, 2002, <bs-public@duval.dyndns.org>
# (C)2002 Baptiste SIMON, http://www-beta.duval.dyndns.org
#
# Released under GPL v2
#

LLOC=/usr/lib/livecd
STAGE=3
ARCH=i586
ROOT=isoroot
IMLOC="http://www.ibiblio.org/pub/Linux/distributions/gentoo/releases/build/"

# Fix Bug #10763 @ bugs.gentoo.org part1
GLOBALARCH=x86
VERSION="1.4_rc1"
EXTENSION="tar.bz2"
URL="${IMLOC}/${VERSION}/${GLOBALARCH}/"

TEMP=`getopt -o 123bi:czeus:r:h --long
help,setup:,bootable,iso:,compress,cleanup,enter,size,root: -n 'livecd' -- "$@"`
if [ $? != 0 ] ; then echo "Terminating..." >&2 ; exit 1 ; fi
eval set -- "$TEMP"

chroot_generate() {
  if [ -d $ROOT ]; then
    umount $ROOT/proc 2>/dev/null||true
    umount $ROOT/usr/portage 2>/dev/null||true
    rm -rf $ROOT
  fi
  mkdir $ROOT
  if [ "$STAGE" = "3" ]; then
    # Fix Bug #10763 part1
    if [ ! -f stage3-$1-*.${EXTENSION} ]; then
       wget ${URL}/stage3-$1-${VERSION}.${EXTENSION}
    fi
    (cd $ROOT;tar jxpf ../stage3-$1-*.${EXTENSION})
  fi
  if [ "$STAGE" = "2" ]; then
    # Fix Bug #10763 part1
    if [ ! -f stage2-$1-*.${EXTENSION} ]; then
       wget ${URL}/stage2-$1-${VERSION}.${EXTENSION}
    fi
    (cd $ROOT;tar jxpf ../stage2-$1-*.${EXTENSION})
  fi
  if [ "$STAGE" = "1" ]; then
    # Fix Bug #10763 @ bugs.gentoo.org part1
    if [ ! -f stage1-*.${EXTENSION} ]; then
      wget ${URL}/stage1-ix86-${VERSION}.${EXTENSION}
    fi
    (cd $ROOT;tar jxpf ../stage1-*.${EXTENSION})
  fi
  cp -a $LLOC/prototype/* $ROOT
  cp /etc/resolv.conf $ROOT/etc
  mount -o bind /proc $ROOT/proc
  mount -o bind /usr/portage $ROOT/usr/portage
  chroot $ROOT /bin/bash -e <<EOF
env-update
source /etc/profile
ln -sf ../usr/share/zoneinfo/GMT /etc/localtime
#emerge rsync
EOF
  cp $LLOC/$1/make.conf $ROOT/etc
  if [ "$STAGE" "<" 2 ]; then
    chroot $ROOT /bin/bash -e <<EOF
source /etc/profile
cd usr/portage
scripts/bootstrap.sh
EOF
  fi
  if [ "$STAGE" "<" 3 ]; then
  chroot $ROOT /bin/bash -e <<EOF
source /etc/profile
# Fix broken emerge
emerge -i sys-apps/grub-0.90-r7
emerge system
EOF
  fi

  # Fix bug #10763 @ bugs.gentoo.org part 3
  emerge gentoo-sources sysklogd

  cp $LLOC/$1/config $ROOT/usr/src/linux/.config

  # Fix bug #10763 @ bugs.gentoo.org part 2
  cp $LLOC/bootpeng/penguins.boot.gz $ROOT/boot/penguins.boot

  chroot $ROOT /bin/bash -e <<EOF
source /etc/profile
emerge lilo
emerge irssi mp3blaster ntp joe grub gentoolkit traceroute
emerge strace dialog ncftp boa vcron
rc-update add net.eth0 default
cd /usr/src/linux
make oldconfig
# make aborts due to lilo script not found but at that
# point we already have a working kernel
make install||true
make modules modules_install
make clean
emerge pcmcia-cs
EOF

  umount $ROOT/usr/portage
  umount $ROOT/proc
}

cleanup() {
# maybe check for use right now and then remove stuff as needed?
  umount $ROOT/usr/portage 2>/dev/null || true
  umount $ROOT/proc 2>/dev/null || true
  rm -rf $ROOT/var/tmp/portage/*
  rm -rf $ROOT/usr/portage/distfiles/*
  rm -rf $ROOT/tmp/*
  rm -rf $ROOT/usr/portage/*
  X=`find $ROOT -name "*~"`
  if [ "$X" != "" ]; then
        echo "Removing $X"
        rm $X
  fi
}

makeinitrd() {
  mkdir ${ROOT}-initrd/{bin,etc,usr,proc,tmp}
  ln -s bin ${ROOT}-initrd/sbin
  ln -s ../bin ${ROOT}-initrd/usr/bin
  ln -s ../bin ${ROOT}-initrd/usr/sbin
  ln -s ../lib ${ROOT}-initrd/usr/lib
  (mkdir ${ROOT}-initrd/dev;cd ${ROOT}-initrd/dev;MAKEDEV generic-i386;MAKEDEV scd)
  cat >${ROOT}-initrd/etc/fstab <<EOF
/dev/ram0       /             cramfs defaults
proc            /proc         proc   defaults  0 0
EOF
  install -m755 $LLOC/linuxrc ${ROOT}-initrd
  cp $LLOC/driverlist ${ROOT}-initrd
  >${ROOT}-x
  cd $ROOT
  for i in `cat $LLOC/driverlist`; do
    if ! find lib/modules -name $i.o >>$ROOT-x; then
        echo "Driver $i not found"
    fi
  done
  tar cf - `cat ${ROOT}-x` | (cd ../${ROOT}-initrd;tar xf -)
  cd ..
  rm ${ROOT}-x
  cp $LLOC/busybox ${ROOT}-initrd/bin

  # Generate busybox links. We really do not need all of them but its good to
  # have a fall back in case we need them someday.
  for i in '[' ash basename cat chroot cp dirname echo env false find \
    grep gunzip gzip insmod ln loadkmap ls lsmod mkdir modprobe more mount mv \
    pivot_root ps pwd rm rmdir rmmod sh sleep tar test touch true umount uname \
    xargs yes zcat; do
    ln ${ROOT}-initrd/bin/busybox ${ROOT}-initrd/bin/$i
  done
}

show_iso_size() {
    echo "Size of iso filesystem is `du -s $ROOT` KB"
}

make_isolinux() {
  if [ ! -f $ROOT/boot/vmlinuz ]; then
        echo "Linux Kernel not available"
        exit 1
  fi

  cp -a $LLOC/isolinux $ROOT
  cp $ROOT/boot/vmlinuz $ROOT/isolinux/linux
  mkdir ${ROOT}-initrd
  dd if=/dev/zero of=${ROOT}-img bs=1k count=3000
  mke2fs -F -q -N3000 ${ROOT}-img
  mount -text2 -oloop ${ROOT}-img ${ROOT}-initrd
  makeinitrd
  umount ${ROOT}-initrd
  gzip -f -9 ${ROOT}-img
  cp ${ROOT}-img.gz $ROOT/isolinux/initrd
#  mkcramfs initrd $ROOT/isolinux/initrd >mkcramfs.log
#  genromfs -f $ROOT/isolinux/initrd -d initrd

  if [ ! -f $ROOT/etc/inittab.gentoo ]; then
    echo "Setting up special inittab ...."
    cp $ROOT/etc/inittab $ROOT/etc/inittab.gentoo
    # The patch makes init spawn the deploy script on tty1
    patch ${ROOT}/etc/inittab <$LLOC/inittab.patch
  fi
  rm -r ${ROOT}-initrd ${ROOT}-img.gz
}

iso_generate() {
  X=$ROOT
  if [ "$COMPRESS" != "" ]; then
    echo "Compressing iso tree. This could take some time...."
    mkdir ${ROOT}-compressed
    for i in index.html telemetrybox.jpg README isolinux mnt tmp proc root dev; do
      echo "Copying /$i ..."
      cp -a ${ROOT}/$i ${ROOT}-compressed|| true
    done
    for i in usr var boot etc sbin bin home lib opt; do
      echo "Compressing /$i ..."
      mkzftree ${ROOT}/$i ${ROOT}-compressed/$i
    done
    echo "Size of compressed iso filesystem is `du -s ${ROOT}-compressed` KB"
    X="${ROOT}-compressed"
  fi

  mkisofs -z -R -l -o ${1:-tboxgentoo.iso} -b isolinux/isolinux.bin -c
isolinux/boot.cat \
      -no-emul-boot -boot-load-size 4 -boot-info-table $X

  if [ "$COMPRESS" != "" ]; then
    echo "Cleaning up"
    rm -rf ${ROOT}-compressed
  fi
}

enter_livecd() {
  mount -o bind /proc $ROOT/proc || true
  mount -o bind /usr/portage $ROOT/usr/portage || true
  chroot $ROOT /bin/bash
  umount $ROOT/proc
  umount $ROOT/usr/portage
}

usage() {
  cat <<EOF
livecd: tools to generate a live cd v0.5
Syntax: livecd <command1> <command2> ....

Commands:
 -s ARCH        Setup a new isotree using stage3 (default) for i386/i486/i586/i686
 -b             Generate directories and files necessary in iso tree to make it
bootable
 -i isofile     Generate .iso image from iso tree
 -z             Remove unneeded files from iso tree
 -e             Run a shell in a chrooted environment o fthe iso tree. Use for
merging new software.
 -u             Show the space of the isotree (this is only an estimate!)

Options:
 -1             Use first stage tarball
 -2             Use second stage tarball
 -3             Use third stage tarball
 -r root        Use <root> as the root directory for the iso directory tree.
Default is "isoroot"
 -c             Compress files when generating .iso image

(C) 2002 TelemetryBox Corporation, Christoph Lameter, http://telemetrybox.biz
Distributed under the GPL v2
EOF
}

#echo $*

while true ; do
  case "$1" in
    -1) STAGE=1;shift;;
    -2) STAGE-2;shift;;
    -3) STAGE=3;shift;;
    -c) COMPRESS=1;shift;;
    -s|--setup)  chroot_generate $2;shift 2;;
    -b|--bootable) shift;make_isolinux;;
    -i|--iso)    iso_generate $2;shift 2;;
    -z|--cleanup) shift;cleanup;;
    -e|--enter)  shift;enter_livecd;;
    -u|--size)   shift;show_iso_size;;
    -r|--root)   ROOT=$2;shift 2;;
    -h|--help)   shift;usage;;
    --) shift;break;;
    *) echo "Internal error!"; exit 1;;
  esac
done

if [ "$1" != "" ]; then
  echo "Unknown parameter:$*"
  exit 1
fi

exit 0

</Reviewed>
Comment 4 Baptiste SIMON 2002-11-15 13:13:38 UTC
Created attachment 5700 [details]
Pre-fixed version of the /usr/sbin/livecd script

This script WOULD permit to fix the bug #10763
It hasn't been entirely tested !!

My principal point of investigation would be the difference between the old
technique chosen to build the un-adaptable kernel automatically (and install
it) and my technique which permit a kernel which can be more adapted (and
install it as /boot/bzImage).

I hope it will work ! ;c)

Baptiste SIMON