PXE mit Ramdisk

Aus xinux.net
Zur Navigation springen Zur Suche springen

Bootstrap erstellen mit debootstrap

als loopdevice

Leere Datei erstellen

  • dd if=/dev/zero of=/mnt/initrd bs=1G count=2

Leere Datei formatieren

  • mkfs.ext2 -i 1024 -b 1024 -m 5 -F -v /mnt/initrd

Datei mounten

  • mount /mnt/initrd /mnt/ubuntu -o loop

Ubuntu in das loop Device installieren

  • debootstrap trusty /mnt/ubuntu

proc, sys , dev mounten

  • mount -o bind /dev /mnt/ubuntu/dev
  • mount -o bind /proc /mnt/ubuntu/proc
  • mount -o bind /sys /mnt/ubuntu/sys

In das Verzeichnis changerooten

  • chroot /mnt/ubuntu

Wir sind im LOOP DEVICE

Platz freimache

  • apt-get clean

Kernel installieren

  • apt-get install linux-image-3.13.0-24-generic

Modulabhängikeiten erstellen

  • depmod -a 3.13.0-24-generic

Keboard und Locale

  • dpkg-reconfigure keyboard-configuration

Rootpasswd setzen

mit RAMdisk

Bootstrap erstellen mit debootstrap

als loopdevice

Leere Datei erstellen

  • dd if=/dev/zero of=/mnt/initrd bs=1M count=768

Leere Datei formatieren

  • mkfs.ext2 -i 1024 -b 1024 -m 5 -F -v /mnt/initrd

Datei mounten

  • mount /mnt/initrd /mnt/ubuntu -o loop

Ubuntu in das loop Device installieren

  • debootstrap trusty /mnt/ubuntu

proc, sys , dev mounten

  • mount -o bind /dev /mnt/ubuntu/dev
  • mount -o bind /proc /mnt/ubuntu/proc
  • mount -o bind /sys /mnt/ubuntu/sys

In das Verzeichnis changerooten

  • chroot /mnt/ubuntu
  • passwd
Enter new UNIX password: 
Retype new UNIX password: 
passwd: password updated successfully

Diverse Dateien anpassen

hosts
  • echo "127.0.0.1 localhost" > /etc/hosts
  • echo "127.0.1.1 ramlinux.xinux.org" ramlinux >> /etc/hosts
resolv.conf

echo "nameserver 192.168.240.200" > /etc/resolv.conf echo "search xinux.org taribo.lan" >> /etc/resolv.conf

hostname

echo ramlinux > /etc/hostname

interfaces

cat<<HERE > /etc/network/interfaces

auto lo
iface lo inet loopback
auto eth0
iface eth0 inet dhcp

HERE

Raus aus dem LOOP Device

  • exit

Wir sind nicht mehr im LOOP DEVICE Kernel kopieren

  • cp /mnt/ubuntu/vmlinuz /var/lib/tftpboot/loop-vmlinuz
  • chown +r /var/lib/tftpboot/loop-vmlinuz

umounten

  • umount /mnt/ubuntu/proc
  • umount /mnt/ubuntu/sys
  • umount /mnt/ubuntu/dev
  • umount /mnt/ubuntu

ZWEI MÖGLICHKEITEN

umkomprimiert

  • cp /mnt/initrd /var/lib/tftpboot/loop-initrd
  • cat /var/lib/tftpboot/pxelinux.cfg/default
LABEL loop
  MENU LABEL ^loop
  kernel loop-vmlinuz
  append vga=normal initrd=loop-initrd ramdisk_size=1024000  root=/dev/ram0 rw --

komprimiert

  • gzip -c /mnt/initrd > /var/lib/tftpboot/loop-initrd.gz
  • cat /var/lib/tftpboot/pxelinux.cfg/default
LABEL loop-gz
  MENU LABEL loop-^gz
  kernel loop-vmlinuz
  append vga=normal initrd=loop-initrd.gz ramdisk_size=1024000  root=/dev/ram0 rw --