projects
/
mirror
/
dsa-wiki.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Link upgrade-to-stretch page
[mirror/dsa-wiki.git]
/
input
/
howto
/
install-kvm.creole
diff --git
a/input/howto/install-kvm.creole
b/input/howto/install-kvm.creole
index
00fb724
..
0286f1e
100644
(file)
--- a/
input/howto/install-kvm.creole
+++ b/
input/howto/install-kvm.creole
@@
-12,7
+12,7
@@
setup_env() {
echo -n "New hostname: " &&
export LC_ALL=C &&
read guest &&
echo -n "New hostname: " &&
export LC_ALL=C &&
read guest &&
- target=
/mnt/target
&&
+ target=
"/mnt/target-$guest"
&&
mirror=`cat /etc/apt/sources.list /etc/apt/sources.list.d/debian.list 2>/dev/null | awk '/^deb.*debian/ {print $2; exit}'` &&
vgdefault=`vgdisplay -c | awk -F: '{print $1;exit}' | sed 's/ *//g'` &&
echo -n "Volume group? [$vgdefault]: " &&
mirror=`cat /etc/apt/sources.list /etc/apt/sources.list.d/debian.list 2>/dev/null | awk '/^deb.*debian/ {print $2; exit}'` &&
vgdefault=`vgdisplay -c | awk -F: '{print $1;exit}' | sed 's/ *//g'` &&
echo -n "Volume group? [$vgdefault]: " &&
@@
-35,9
+35,15
@@
setup_env() {
dev_boot="/dev/mapper/$vg-$guest--boot" &&
echo "Root device will be $dev_root" &&
echo "Boot device will be $dev_boot" &&
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 &&
+ if [ "$vg" != "" ]; then
+ dev_swap="/dev/mapper/$vg-$guest--swap"
+ elif [ -d /SWAPFILES ]; then
+ dev_swap=/SWAPFILES/$guest-swap
+ else
+ echo "No idea how to do swap" && false
fi &&
fi &&
- dev_swap="/dev/mapper/$vg-$guest--swap" &&
echo -n "Use a /boot filesystem (strongly recommended)? [Y/n] " &&
read use_boot &&
echo "Swap device will be $dev_swap" &&
echo -n "Use a /boot filesystem (strongly recommended)? [Y/n] " &&
read use_boot &&
echo "Swap device will be $dev_swap" &&
@@
-68,7
+74,7
@@
trivial.
#######
# install base
#######
# install base
- apt-get install debootstrap debian-archive-keyring kpartx
chase
&&
+ apt-get install debootstrap debian-archive-keyring kpartx &&
if [ "$use_lvm" = "y" ]; then
if [ "$use_boot" != "n" ] ; then
lvcreate -L 128m -n "$guest"-boot /dev/"$vg"
if [ "$use_lvm" = "y" ]; then
if [ "$use_boot" != "n" ] ; then
lvcreate -L 128m -n "$guest"-boot /dev/"$vg"
@@
-93,7
+99,7
@@
trivial.
fi &&
cd "$target" &&
fi &&
cd "$target" &&
- debootstrap --variant=minbase --keyring=/usr/share/keyrings/debian-archive-keyring.gpg s
queez
e . "$mirror"
+ debootstrap --variant=minbase --keyring=/usr/share/keyrings/debian-archive-keyring.gpg s
tabl
e . "$mirror"
}}}
And finalize the setup:
}}}
And finalize the setup:
@@
-116,23
+122,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 ) &&
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 &&
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 `
chase
$dev_root` dev/`basename $dev_root` &&
- DEBIAN_FRONTEND=noninteractive chroot . apt-get install grub2 &&
+ chroot . apt-get install
-y
net-tools iproute ifupdown dialog vim netbase xfsprogs &&
+ cp -av `
readlink -f
$dev_root` dev/`basename $dev_root` &&
+ DEBIAN_FRONTEND=noninteractive chroot . apt-get install
-y
grub2 &&
cat > etc/kernel-img.conf << EOF &&
do_symlinks = no
do_initrd = yes
EOF
if [ "$use_boot" != "n" ] ; then
cat > etc/kernel-img.conf << EOF &&
do_symlinks = no
do_initrd = yes
EOF
if [ "$use_boot" != "n" ] ; then
- cp -av `
chase
$dev_boot` dev/`basename $dev_boot` &&
- cp -av `
chase
$dev_boot""1` dev/`basename $dev_boot`1 &&
+ 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 . grub-install --modules=part_msdos /dev/`basename $dev_boot` &&
# install a kernel image
- chroot . apt-get install linux-image-2.6-amd64 &&
+ chroot . apt-get install
-y
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 &&
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 &&
@@
-143,7
+149,7
@@
EOF
echo "(hd0) /dev/`basename $dev_root`" > boot/grub/device.map &&
chroot . grub-install /dev/"`basename $dev_root`" &&
# install a kernel image
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 &&
+ chroot . apt-get install
-y
linux-image-2.6-amd64 &&
sed -i -e 's/^#GRUB_TERMINAL=console/GRUB_TERMINAL=console/' etc/default/grub &&
chroot . update-grub
fi &&
sed -i -e 's/^#GRUB_TERMINAL=console/GRUB_TERMINAL=console/' etc/default/grub &&
chroot . update-grub
fi &&
@@
-156,9
+162,9
@@
And a fstab and a boot loader config
{{{
# doesn't work: chroot . update-grub
{{{
# 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" = "ext
3
" ]; then
+ rootuuid=`
blkid -s UUID -o value "$dev_root"
` &&
+ swapuuid=`
blkid -s UUID -o value "$dev_swap"
` &&
+ if [ "$fs" = "ext
4
" ]; then
rootopts="errors=remount-ro"
else
rootopts="defaults"
rootopts="errors=remount-ro"
else
rootopts="defaults"
@@
-168,7
+174,7
@@
UUID=$rootuuid / $fs $rootopts 0 1
UUID=$swapuuid none swap sw 0 0
EOF
if [ "$use_boot" != "n" ] ; then
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
echo "UUID=$bootuuid /boot $fs defaults 0 2" >> etc/fstab
fi
cat > etc/network/interfaces << EOF
@@
-193,6
+199,14
@@
And set a password:
chroot . passwd
}}}
chroot . passwd
}}}
+Set a nameserver config that works once the VM has booted. Later in the process we will install unbound anyway.
+{{{
+cat > etc/resolv.conf << EOF
+nameserver 8.8.8.8
+search debian.org
+EOF
+}}}
+
And unmount:
{{{
And unmount:
{{{
@@
-207,7
+221,7
@@
And unmount:
=== virsh setup ===
=== virsh setup ===
-Setup a new kvm domain by creating a new file in /etc/d
a-virt
/`hostname/$guest.xml.
+Setup a new kvm domain by creating a new file in /etc/d
sa-kvm
/`hostname/$guest.xml.
* Properly configure hostname
* Pick a new uuid ({{{uuidgen}}})
* Properly configure hostname
* Pick a new uuid ({{{uuidgen}}})