Copy etc/apt/preferences only if it exists
[mirror/dsa-wiki.git] / input / howto / install-kvm.creole
index 5c32e5a..9e2fcfe 100644 (file)
@@ -35,7 +35,7 @@ setup_env() {
    dev_boot="/dev/mapper/$vg-$guest--boot" &&
    echo "Root device will be $dev_root" &&
    echo "Boot device will be $dev_boot" &&
-   fs=ext3
+   fs=ext4
  fi &&
  dev_swap="/dev/mapper/$vg-$guest--swap" &&
  echo -n "Use a /boot filesystem (strongly recommended)? [Y/n] " &&
@@ -116,26 +116,23 @@ EOF
  rm -fv etc/apt/sources.list &&
  ( ! [ -e /etc/apt/sources.list ] || cp /etc/apt/sources.list etc/apt/sources.list)
  (cp -v /etc/apt/sources.list.d/* etc/apt/sources.list.d/ || true ) &&
cp -v /etc/apt/preferences etc/apt/ &&
( ! [ -e /etc/apt/preferences ] || cp -v /etc/apt/preferences etc/apt/ ) &&
  apt-key exportall | chroot . apt-key add - &&
  chroot . apt-get update &&
  echo "Apt::Install-Recommends 0;" > etc/apt/apt.conf.d/local-recommends &&
  chroot . apt-get install net-tools iproute ifupdown dialog vim netbase xfsprogs &&
- cp -av $dev_root dev/ &&
+ cp -av `readlink -f $dev_root` dev/`basename $dev_root` &&
  DEBIAN_FRONTEND=noninteractive chroot . apt-get install grub2 &&
   cat > etc/kernel-img.conf << EOF &&
 do_symlinks = no
 do_initrd = yes
-EOF
- # install a kernel image
- chroot . apt-get install linux-image-2.6-amd64 &&
- cat >> etc/kernel-img.conf << EOF &&
-postinst_hook = update-grub
-postrm_hook   = update-grub
 EOF
   if [ "$use_boot" != "n" ] ; then
-    cp -av $dev_boot $dev_boot""1 dev/ &&
+    cp -av `readlink -f $dev_boot` dev/`basename $dev_boot` &&
+    cp -av `readlink -f $dev_boot""1` dev/`basename $dev_boot`1 &&
     chroot . grub-install --modules=part_msdos /dev/`basename $dev_boot` &&
+    # install a kernel image
+    chroot . apt-get install linux-image-2.6-amd64 &&
     sed -i -e 's/^#GRUB_TERMINAL=console/GRUB_TERMINAL=console/' etc/default/grub &&
     echo "(hd0) /dev/`basename $dev_boot`" > boot/grub/device.map &&
     chroot . update-grub &&
@@ -145,6 +142,8 @@ EOF
     echo && echo && echo && echo "Hardly tested, expect this to fail." && echo && echo && echo &&
     echo "(hd0) /dev/`basename $dev_root`" > boot/grub/device.map &&
     chroot . grub-install /dev/"`basename $dev_root`" &&
+    # install a kernel image
+    chroot . apt-get install linux-image-2.6-amd64 &&
     sed -i -e 's/^#GRUB_TERMINAL=console/GRUB_TERMINAL=console/' etc/default/grub &&
     chroot . update-grub
   fi &&
@@ -157,9 +156,9 @@ And a fstab and a boot loader config
 
 {{{
  # doesn't work: chroot . update-grub
- rootuuid=`vol_id "$dev_root" "$target" | awk -F= '$1=="ID_FS_UUID" {print $2}'` &&
- swapuuid=`vol_id "$dev_swap" "$target" | awk -F= '$1=="ID_FS_UUID" {print $2}'` &&
- if [ "$fs" = "ext3" ]; then
+ rootuuid=`blkid -s UUID -o value "$dev_root"` &&
+ swapuuid=`blkid -s UUID -o value "$dev_swap"` &&
+ if [ "$fs" = "ext4" ]; then
    rootopts="errors=remount-ro"
  else
    rootopts="defaults"
@@ -169,7 +168,7 @@ UUID=$rootuuid    /               $fs    $rootopts 0       1
 UUID=$swapuuid    none            swap    sw              0       0
 EOF
  if [ "$use_boot" != "n" ] ; then
-    bootuuid=`vol_id "$dev_boot"1  | awk -F= '$1=="ID_FS_UUID" {print $2}'` &&
+    bootuuid=`blkid -s UUID -o value "$dev_boot"1` &&
     echo "UUID=$bootuuid    /boot           $fs    defaults        0       2" >> etc/fstab
  fi
  cat > etc/network/interfaces << EOF