Talk:PXE boot

From Alpine Linux
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.

Details for generating pxerd

This is how I do it to prepare a PXEboot for qemu machines from a run-from-ram-from-cdrom

setup-interfaces
/etc/init.d/networking start
setup-proxy 
. /etc/profile.d/proxy.sh
setup-apkrepos
apk update
apk add mkinitfs openssh-client
cd /etc/mkinitfs/features.d/
echo "kernel/drivers/net/virtio_net.ko" >> network.modules
echo "/usr/share/udhcpc/default.script" > dhcp.files
echo "kernel/net/packet/af_packet.ko" > dhcp.modules
echo "kernel/fs/nfs/*" > nfs.modules
cd /etc/mkinitfs/
echo 'features="ata base bootchart cdrom cramfs ext2 ext3 ext4 xfs floppy keymap kms raid scsi usb virtio squashfs network dhcp nfs"' > mkinitfs.conf
mkinitfs -o /root/pxerd
scp /root/pxerd $TFTPSERVER:$TFTPPATH
scp /media/cdrom/boot/vmlinuz-grsec $TFTPSERVER:$TFTPPATH
scp -r /media/cdrom/* $NFSSERVER:$NFSPATH

For your specific setup, adjust the network.modules with needed kernel drivers.

--Jch (talk) 09:00, 16 March 2015 (UTC)

Packages not in the initial ISO

Be sure to have a local repo on the LAN with all needed package and to specify (alpine_repo=http://...) it the APPEND line of the pxelinux.cfg/config_file!

Running Alpine PXE server in sys mode

pxeal:~# cat /etc/apk/world 
acct
alpine-base
dnsmasq
e2fsprogs
iptables
lighttpd
linux-hardened
nfs-utils
openssh
syslinux
pxeal:~# lbu ls
etc/fstab
etc/conf.d/keymaps
etc/mkinitfs/mkinitfs.conf
etc/mkinitfs/features.d/dhcp.files
etc/mkinitfs/features.d/dhcp.modules
etc/mkinitfs/features.d/network.modules
etc/mkinitfs/features.d/nfs.modules
etc/runlevels/shutdown/savecache
etc/runlevels/shutdown/killprocs
etc/runlevels/shutdown/mount-ro
etc/runlevels/sysinit/hwdrivers
etc/runlevels/sysinit/mdev
etc/runlevels/sysinit/dmesg
etc/runlevels/sysinit/devfs
etc/runlevels/default/lighttpd
etc/runlevels/default/sshd
etc/runlevels/default/iptables
etc/runlevels/default/nfs
etc/runlevels/default/crond
etc/runlevels/default/dnsmasq
etc/runlevels/default/acpid
etc/runlevels/boot/keymaps
etc/runlevels/boot/sysctl
etc/runlevels/boot/bootmisc
etc/runlevels/boot/syslog
etc/runlevels/boot/modules
etc/runlevels/boot/swap
etc/runlevels/boot/networking
etc/runlevels/boot/urandom
etc/runlevels/boot/hostname
etc/runlevels/boot/hwclock
etc/resolv.conf
etc/update-extlinux.conf
etc/iptables/rules-save
etc/shadow
etc/network/interfaces
etc/keymap/
etc/keymap/be.bmap.gz
etc/dnsmasq.d/pxeboot.conf
etc/passwd-
etc/group-
etc/hosts
etc/sysctl.d/01-manufacture.conf
etc/shadow-
etc/group
etc/passwd
etc/ssh/ssh_host_ed25519_key
etc/ssh/ssh_host_rsa_key.pub
etc/ssh/ssh_host_ecdsa_key.pub
etc/ssh/ssh_host_dsa_key.pub
etc/ssh/ssh_host_rsa_key
etc/ssh/ssh_host_ed25519_key.pub
etc/ssh/ssh_host_dsa_key
etc/ssh/ssh_host_ecdsa_key
etc/fstab.old
etc/apk/arch
etc/apk/protected_paths.d/lbu.list
etc/apk/keys/alpine-devel@lists.alpinelinux.org-5243ef4b.rsa.pub
etc/apk/keys/alpine-devel@lists.alpinelinux.org-4a6a0840.rsa.pub
etc/apk/keys/alpine-devel@lists.alpinelinux.org-5261cecb.rsa.pub
etc/apk/repositories
etc/apk/world
etc/zoneinfo/
etc/zoneinfo/Europe/
etc/zoneinfo/Europe/Zurich
etc/localtime
etc/hostname
etc/exports
var/www/localhost/htdocs/pxe-default.apkovl.tar.gz
var/www/localhost/htdocs/modloop-hardened
var/lib/tftpboot/pxelinux/pxelinux.cfg/default
var/lib/tftpboot/pxelinux/pxelinux.0
var/lib/tftpboot/pxelinux/initramfs-hardened
var/lib/tftpboot/pxelinux/ldlinux.c32
var/lib/tftpboot/pxelinux/vmlinuz-hardened
root/.ssh/authorized_keys

114.8M pxeal.apkovl.tar.gz

with custom made initramfs along first note.