See PXE Setup for overall instructions. This is NetBSD specific.
It is good to keep amd64/binary/sets/
as this is the default path used by sysinst
.
The netbsd PXE loader seeks for netbsd
by default, so you could symlink netbsd-INSTALL.gz
from it. Hence it is best NOT to use netbsd/
as folder because it will conflict with the default kernel seek (NFS2ERR_ISDIR
), even if you do the tricky NetBSD:i386:libsa
thingy to point to another file.
Note – interesting patch about serial baud rate
mirror=https://nycdn.netbsd.org/pub/NetBSD-daily mkdir -p /tftpboot/netbsd9/installation/misc/ cd /tftpboot/netbsd9/installation/misc/ wget -q $mirror/installation/misc/pxeboot_ia32.bin mkdir -p /tftpboot/netbsd9/binary/kernel/ cd /tftpboot/netbsd9/binary/kernel/ wget -q $remote/binary/kernel/netbsd-INSTALL.gz wget -q $remote/binary/kernel/netbsd-INSTALL_XEN3_DOMU.gz wget -q $remote/binary/kernel/netbsd-XEN3_DOMU.gz
sync everything but the X sets from the FR mirror (it is one day late)
remote=rsync://rsync.fr.netbsd.org/NetBSD-daily mkdir -p /tftpboot/netbsd9/ rsync -avz --delete-after --exclude 'binary/sets/x*.tar.xz' $remote/netbsd-9/latest/amd64/ /tftpboot/netbsd9/ # --exclude 'binary/sets/x*.tgz' for <=netbsd8 ls -alF /tftpboot/netbsd9/ chown -R root:root /tftpboot/netbsd9/
or grab the sets from NYC directly (has no rsync)
mirror=https://nycdn.netbsd.org/pub/NetBSD-daily mkdir -p /tftpboot/netbsd9/binary/sets/ cd /tftpboot/netbsd9/binary/sets/ for set in kern-GENERIC modules base comp debug etc man misc tests text; do echo -n binary/sets/$set.tar.xz... wget -q $mirror/binary/sets/$set.tar.xz && echo done done; unset set
Chaining pxelinux.0
and pxeboot_ia32.bin
together
vi /tftpboot/pxelinux.cfg/default label netbsd install kernel netbsd9/installation/misc/pxeboot_ia32.bin
It’s good to interact with the netbsd boot loader manually for validation, so you get back to the prompt when ever loading a kernel fails.
The loader wants NFS by default, but then you need to enable NFS version 2
boot netbsd boot nfs:netbsd
You can otherwise enforce tftp as such
boot tftp:netbsd
avoid the NFS V2 trickery AND the dirty symlink
Differenciate the hardware BOOTP/DHCP requests from the NetBSD’s boot-loader to enforce TFTP AND provice a file path. See client classification for more details.
vi /etc/dhcp/dhcpd.conf # pxeboot_ia32.bin got loaded by pxelinux menu # enforcing TFTP instead of NFS and offering a path for the default kernel if substring (option vendor-class-identifier, 0, 17) = "NetBSD:i386:libsa" { if filename = "netbsd" { filename "tftp:netbsd9/binary/kernel/netbsd-INSTALL.gz"; } }
Tweaking pxeboot_ia32.bin
– this is only possible from within a NetBSD system
#installboot -v -e -o bootconf,modules pxeboot_ia32.bin #vi boot.cfg
Using memdisk
against the floppy installer (DEPRECATED)
wget ftp://ftp.fr.netbsd.org/pub/NetBSD/NetBSD-5.0.2/i386/binary/kernel/netbsd-INSTALL_FLOPPY.gz #TODO what is the last release providing floppy? vi /var/lib/tftpboot/pxelinux.cfg/default label NetBSD install floppy kernel memdisk append netbsd-INSTALL_FLOPPY.gz
Unknown error: code 60 boot: Input/output error
==> this just means timeout e.g. it is trying to reach NFS instead of TFTP. Use tftp:
.
Permission denied boot: Input/output error
==> wrong NFS root-path
syntax for netbsd, try without the IP "/tftpboot";
rpc_call: error = 2 Unknown error: code 72 boot: Input/output error remote can't support version # (2)
==> V2 vs V3/V4 NFS version issue. pxeboot_ia32 wants V2, as the manual says. See above.
Unknown error: code 45 boot: Input/output error Error: NFS2ERR_OPNOTSUPP
==> switch to no_subtree_check
NFS export… yes, you’re welcome (it took me about 4 hours to figure it out)
installboot – install disk bootstrap software https://netbsd.gw.com/cgi-bin/man-cgi?installboot+8
pxeboot – network boot NetBSD/x86 through a PXE BIOS extension https://netbsd.gw.com/cgi-bin/man-cgi?pxeboot+8
boot – system bootstrapping procedures https://netbsd.gw.com/cgi-bin/man-cgi?x86/boot+8
Diskless NetBSD HOW-TO http://www.netbsd.org/docs/network/netboot/
Introduction (i386-specific), Diskless NetBSD HOW-TO https://www.netbsd.org/docs/network/netboot/intro.i386.html
Netbooting to install to a local hard drive http://www.netbsd.org/docs/network/netboot/local.install.html
NetBSD5-Netzwerkinstallation http://wp.lando.cc/category/operation-systems/netbsd/
how to install(boot) netbsd using pxelinux https://wiki.netbsd.org/tutorials/how_to_install__40__boot__41___netbsd_using_pxelinux/
Netbooting g4u via PXE http://math.uwb.edu.pl/~mariusz/projects/g4u/
Re: pxeboot_ia32.bin boot.cfg support how to? https://mail-index.netbsd.org/netbsd-users/2011/04/19/msg008204.html
Création d'un serveur de démarrage PXE sous NetBSD, pour installer… NetBSD ! http://connect.ed-diamond.com/GNU-Linux-Magazine/GLMF-166/Creation-d-un-serveur-de-demarrage-PXE-sous-NetBSD-pour-installer-NetBSD
trying to build a NetBSD PXE installer with pxelinux https://mail-index.netbsd.org/netbsd-users/2013/08/25/msg013203.html
Booting a NetBSD installer from pxelinux http://netbsd.2816.n7.nabble.com/Booting-a-NetBSD-installer-from-pxelinux-td222731.html
Netbooting NetBSD in KVM http://useofwords.blogspot.com/2012/10/netbooting-netbsd-in-kvm.html
pxe booting netbsd-4.0 on a soekris net4501 https://port-i386.netbsd.narkive.com/VxdbavEU/pxe-booting-netbsd-4-0-on-a-soekris-net4501
NetBSD PXE boot Install (without NFS)(转) http://blog.itpub.net/10752019/viewspace-941832/
Subject: pxeboot TFTP block2+ acks broken https://gnats.netbsd.org/cgi-bin/query-pr-single.pl?number=54561
Subject: pxeboot NFS V2 READ Call into the void https://gnats.netbsd.org/cgi-bin/query-pr-single.pl?number=54562