On Wed, 2007-02-28 at 17:07 +0100, sdsf wrote:
> Jeg har en bærbar som jeg gerne vil eksperimenterer lidt med.
>
> Inden da, vil jeg gerne lave et billede af harddisken, en sata.
> Jeg har intet sata udstyr så det nytter ikke at tage disken ud
> og bare bruge dd.
Jeg har lavet nedestående jeg bruger på mit arbejde.
Det fungere ved man tager en ny maskine, pakker den ud, og tænder for
den. Da harddisken er tom, booter den fra netværket.
Via netværket starter den pxelinux der starter fedoras installeren med
argumenterne "append initrd=initrd.img lang=uk_UK keymap=dk
method=
http://172.20.30.254/ ip=dhcp". Installeren hentes nu via http,
og er en modificeret udgave, som starter nedestående shell script,
istedet for at starte python.
Nedestående script bliver kørt fra den tomme maskine, og checker som det
bruge SATA eller ej, bygger devices, partitioner, filsystmer, volumes,
swap, mounter filsystemerne, konfigurere ssh så den automatisk kan logge
ind på serveren, køre tar via en ssh der overfører filerne,
opretter /proc /sys, initialisere grub, retter hostnavn så den ved boot
vil spørge om hvilket indstillinger den skal konfigurer sig med,
unmounter alt og lukket ned.
Scriptet gør ikke som du har brug for, men du kan lære meget ved at læse
det.
#!/usr/bin/sh
disk=hda
grep sda /proc/partitions >/dev/null && disk=sda
echo Fundet disk: ${disk}
sleep 5
echo Creating /dev/
makedevs /dev/sda b 8 0 0 8 5 >/dev/tty5
makedevs /dev/hda b 3 0 0 8 5 >/dev/tty5
echo Creating RAW partitions
sfdisk -f /dev/${disk} <<EOF >/dev/tty5
unit: sectors
/dev/${disk}1: start=63, size=195363, Id=83, bootable
/dev/${disk}2: start=195426, size=58593969, Id=8e
EOF
echo Creating /boot
mke2fs -j /dev/${disk}1 >/dev/tty5
e2label /dev/${disk}1 /boot >/dev/tty5
echo Deleting old lvm records
dd if=/dev/zero of=/dev/${disk}2 count=2048 >/dev/tty5
echo Creating lvm
lvm pvcreate /dev/${disk}2 >/dev/tty5
lvm vgcreate VolGroup00 /dev/${disk}2 >/dev/tty5
lvm lvcreate VolGroup00 -L 20G -n LogVol00 >/dev/tty5
lvm lvcreate VolGroup00 -L 992M -n LogVol01 >/dev/tty5
echo Creating /
mke2fs -j /dev/VolGroup00/LogVol00 >/dev/tty5
echo Creating swap
mkswap /dev/VolGroup00/LogVol01 >/dev/tty5
echo Mounting /
mkdir -p /tmp/mnt >/dev/tty5
mount /dev/VolGroup00/LogVol00 /tmp/mnt >/dev/tty5
echo Mounting /boot
mkdir -p /tmp/mnt/boot >/dev/tty5
mount /dev/${disk}1 /tmp/mnt/boot >/dev/tty5
echo Configuring SSH
cp -a /mnt/runtime/.ssh / >/dev/tty5
echo Restore files from MASTER stderr - tty6
ssh 172.20.30.254 tar czf - --one-file-system / /boot /dev | tar xvzf -
-C /tmp/mnt/ >/dev/tty5
echo Creating /proc and /sys
mkdir /tmp/mnt/{proc,sys} >/dev/tty5
echo Initiate GRUB
cat >/tmp/mnt/boot/grub/device.map <<EOF
(hd0) /dev/${disk}
EOF
cp /tmp/mnt/sbin/grub /sbin/
/tmp/mnt/sbin/grub-install --root-directory=/tmp/mnt /dev/${disk}
>/dev/tty5
echo Setting HOSTNAME to topghost
grep -v HOSTNAME /tmp/mnt/etc/sysconfig/network >/tmp/mnt/tmp/network
cat /tmp/mnt/tmp/network >/tmp/mnt/etc/sysconfig/network
echo HOSTNAME=\"topghost\" >>/tmp/mnt/etc/sysconfig/network
echo Unmounting and reboot.
umount /tmp/mnt/boot >/dev/tty5
umount /tmp/mnt >/dev/tty5
halt