NDS51/V12

From ArchWiki
Related articles
The Preboot eXecution Environment (PXE, also known as Pre-Execution E sometimes pronounced "pixie") is an environment to boot computers using a network interface independently of data storage devices (like hard disks) or installed operating systems.
In this guide, PXE is used to boot the installation media with an appropriate option-rom that supports PXE on the target. This works well when you already have a server set up.
Get the latest official install media from .
Next mount the image:
# mkdir -p /mnt/archiso
# mount -o loop,ro archlinux--dual.iso /mnt/archiso
You will need to setup a DHCP, TFTP, and HTTP server to configure networking, load pxelinux/kernel/initramfs, and finally load the root filesystem (respectively).
Bring up your wired NIC, and assign it an address appropriately.
# ip link set eth0 up
# ip addr add 192.168.0.1/24 dev eth0
You will need both a DHCP and TFTP server to configure networking on the install target and to facilitate the transfer of files between the PXE dnsmasq does both, and is extremely easy to set up.
Configure dnsmasq:
# /etc/dnsmasq.conf
interface=eth0
bind-interfaces
dhcp-range=192.168.0.50,192.168.0.150,12h
dhcp-boot=/arch/boot/syslinux/lpxelinux.0
dhcp-option-force=209,boot/syslinux/archiso.cfg
dhcp-option-force=210,/arch/
dhcp-option-force=66,192.168.0.1
enable-tftp
tftp-root=/mnt/archiso
Start the dnsmasq .
Thanks to recent changes in , it is now possible to boot from HTTP (archiso_pxe_http initcpio hook) or NFS (archiso_pxe_nfs initcpio hook); among all alternatives, darkhttpd is by far the most trivial to setup (and the lightest-weight).
Then start
using our /mnt/archiso as the document root:
# darkhttpd /mnt/archiso
darkhttpd/1.8, copyright (c)
Emil Mikulic.
listening on: http://0.0.0.0:80/
For this portion you will need to figure out how to tell the client to attempt a PXE in the corner of the screen along with the normal post messages, usually there will be some hint on which key to press to try PXE booting first. On an IBM x3650 F12 brings up a boot menu, the first option of which is Network; on a Dell PE
pressing F12 initiates PXE booting directly.
Looking at
on the PXE server will provide some additional insight to what exactly is going on during the early stages of the PXE boot process:
# journalctl -u dnsmasq -f
dnsmasq-dhcp[2544]: DHCPDISCOVER(eth1) 00:1a:64:6a:a2:4d
dnsmasq-dhcp[2544]: DHCPOFFER(eth1) 192.168.0.110 00:1a:64:6a:a2:4d
dnsmasq-dhcp[2544]: DHCPREQUEST(eth1) 192.168.0.110 00:1a:64:6a:a2:4d
dnsmasq-dhcp[2544]: DHCPACK(eth1) 192.168.0.110 00:1a:64:6a:a2:4d
dnsmasq-tftp[2544]: sent /mnt/archiso/arch/boot/syslinux/pxelinux.0 to 192.168.0.110
dnsmasq-tftp[2544]: sent /mnt/archiso/arch/boot/syslinux/archiso.cfg to 192.168.0.110
dnsmasq-tftp[2544]: sent /mnt/archiso/arch/boot/syslinux/whichsys.c32 to 192.168.0.110
dnsmasq-tftp[2544]: sent /mnt/archiso/arch/boot/syslinux/archiso_pxe_choose.cfg to 192.168.0.110
dnsmasq-tftp[2544]: sent /mnt/archiso/arch/boot/syslinux/ifcpu64.c32 to 192.168.0.110
dnsmasq-tftp[2544]: sent /mnt/archiso/arch/boot/syslinux/archiso_pxe_both_inc.cfg to 192.168.0.110
dnsmasq-tftp[2544]: sent /mnt/archiso/arch/boot/syslinux/archiso_head.cfg to 192.168.0.110
dnsmasq-tftp[2544]: sent /mnt/archiso/arch/boot/syslinux/archiso_pxe32.cfg to 192.168.0.110
dnsmasq-tftp[2544]: sent /mnt/archiso/arch/boot/syslinux/archiso_pxe64.cfg to 192.168.0.110
dnsmasq-tftp[2544]: sent /mnt/archiso/arch/boot/syslinux/archiso_tail.cfg to 192.168.0.110
dnsmasq-tftp[2544]: sent /mnt/archiso/arch/boot/syslinux/vesamenu.c32 to 192.168.0.110
dnsmasq-tftp[2544]: sent /mnt/archiso/arch/boot/syslinux/splash.png to 192.168.0.110
After you load pxelinux.0 and archiso.cfg via TFTP, you will (hopefully) be presented with a
boot menu with several options, two of which are of potential usefulness to us.
Select either Boot Arch Linux (x86_64) (HTTP) or Boot Arch Linux (i686) (HTTP) depending on your CPU architecture.
Next the kernel and initramfs (appropriate for the architecture you selected) will be transferred, again via TFTP:
dnsmasq-tftp[2544]: sent /mnt/archiso/arch/boot/x86_64/vmlinuz to 192.168.0.110
dnsmasq-tftp[2544]: sent /mnt/archiso/arch/boot/x86_64/archiso.img to 192.168.0.110
If all goes well, you should then see activity on darkhttpd coming from the PXE- at this point the kernel would be loaded on the PXE-target, and in init:
192.168.0.110 "GET /arch/aitab" 200 678 "" "curl/7.27.0"
192.168.0.110 "GET /arch/x86_64/root-image.fs.sfs" 200
"" "curl/7.27.0"
192.168.0.110 "GET /arch/x86_64/usr-lib-modules.fs.sfs" 200
"" "curl/7.27.0"
192.168.0.110 "GET /arch/any/usr-share.fs.sfs" 200
"" "curl/7.27.0"
After the root filesystem is downloaded via HTTP, you will eventually end up at the normal live system root
Unless you want all traffic to be routed through your PXE server (which will not work anyway unless you ), you will want to kill
and get a new lease on the install target, as appropriate for your network layout.
# systemctl stop dnsmasq.service
You can also kill ; the target has already downloaded the root filesystem, so it is no longer needed. While you are at it, you can also unmount the installation image:
# umount /mnt/archiso
At this point you can follow the .
As implied in the syslinux menu, there are several other alternatives:
You will need to set up an
with an export at the root of your mounted installation media, which would be /mnt/archiso if you followed the
of this guide.
After setting up the server, add the following line to your /etc/exports file:
/etc/exports
/mnt/archiso 192.168.0.0/24(ro,no_subtree_check)
If the server was already running, re-export the filesystems with exportfs -r -a -v.
The default settings in the installer expect to find the NFS at /run/archiso/bootmnt, so you will need to edit the boot options.
To do this, press Tab on the appropriate boot menu choice and edit the archiso_nfs_srv option accordingly:
archiso_nfs_srv=${pxeserver}:/mnt/archiso
Alternatively, you can use /run/archiso/bootmnt for the entire process.
After the kernel loads, the Arch bootstrap image will copy the root filesystem via NFS to the booting host.
This can take a little while.
Once this completes, you should have a running system.
and configure it:
# vim /etc/nbd-server/config
readonly = true
exportname = /srv/archlinux--dual.iso
Start the nbd .
As of November 2015 there is
that causes default
to fail and then dhcp client to fail because of it. A workaround is to add the kernel boot parameter net.ifnames=0 to disable predictable interface names.
The copytoram
option can be used to control whether the root filesystem should be copied to ram in its entirety in early-boot.
It highly recommended to leave this option alone, and should only be disabled if entirely necessary (systems with less than ~256MB physical memory). Append copytoram=n to your kernel line if you wish to do so.
Note: As this requires loop-mounting squashfs from a mounted remote filesystem, copytoram=n and
are mutually exclusive.
Navigation menuBOOTP / DHCP options
BOOTP / DHCP options
Base protocols:
, Bootstrap Protocol.
, Dynamic Host Configuration Protocol.
DHCP options have the same format as the BOOTP 'vendor extensions'.
Options may be fixed length or variable length.
All options begin with a tag byte, which uniquely identifies the option.
Fixed length options without data consist of only a tag byte.
The value of the length byte does not include the tag and length fields.
Options containing NVT ASCII data SHOULD NOT include a trailing NULL.
The receiver of such options MUST be prepared to delete trailing NULLs if they exist.
The receiver MUST NOT require that a trailing NULL be included in the data.
In the case of some variable length options, the length field is a constant but must still be specified.
CodeData lengthDescriptionReferences
(deprecated).
431+Vendor specific information.
444+NetBIOS over TCP/IP name server.
454+NetBIOS over TCP/IP Datagram Distribution Server.
461NetBIOS over TCP/IP Node Type.
471+NetBIOS over TCP/IP Scope.
484+X Window System Font Server.
494+X Window System Display Manager.
504Requested IP Address.
IP address lease time.
Option overload.
531DHCP message type.
Server identifier.
Parameter request list.
Maximum DHCP message size.
Renew time value.
Rebinding time value.
Class-identifier.
Client-identifier.
NetWare/IP Domain Name.
NetWare/IP information.
Network Information Service+ Domain.
Network Information Service+ Servers.
TFTP server name.
Bootfile name.
Mobile IP Home Agent.
Simple Mail Transport Protocol Server.
Post Office Protocol Server.
Network News Transport Protocol Server.
Default World Wide Web Server.
Default Finger Server.
Default Internet Relay Chat Server.
StreetTalk Server.
StreetTalk Directory Assistance Server.
User Class Information.
SLP Directory Agent.
SLP Service Scope.
800Rapid Commit.
814+.FQDN, Fully Qualified Domain Name.
82Variable.
8314+Internet Storage Name Service.
84&&RFC 3679
85Variable.NDS servers.
NDS tree name.
NDS context.
88Variable.BCMCS Controller Domain Name list.
894+BCMCS Controller IPv4 address list.
Authentication.
914client-last-transaction-time.
924nassociated-ip.
93Variable.Client System Architecture Type.
Variable.Client Network Interface Identifier.
LDAP, Lightweight Directory Access Protocol.
97Variable.Client Machine Identifier.
Open Group's User Authentication.
99&GEOCONF_CIVIC.RFC 4776
100&IEEE 1003.1 TZ String.
101&Reference to the TZ Database.
NetInfo Parent Server Address.
113Variable.NetInfo Parent Server Tag.RFC 3679
114Variable.URL.RFC 3679
115&&RFC 3679
1161Auto-Configure
1172+Name Service Search.
1184Subnet Selection.
119VariableDNS domain search list.
120VariableSIP Servers DHCP Option.
1215+Classless Static Route Option.
122VariableCCC, CableLabs Client Configuration.
124&Vendor-Identifying Vendor Class.
125&Vendor-Identifying Vendor-Specific.
126&&RFC 3679
127&&RFC 3679
128&TFTP Server IP address.RFC 4578
129&Call Server IP address.RFC 4578
130&Discrimination string.RFC 4578
131&Remote statistics server IP address.RFC 4578
132&802.1P VLAN ID.RFC 4578
133&802.1Q L2 Priority.RFC 4578
134&Diffserv Code Point.RFC 4578
135&HTTP Proxy for phone-specific applications.RFC 4578
Authentication Agent.
137variable
138&CAPWAP Access Controller addresses.
139&OPTION-IPv4_Address-MoS.RFC 5678
140&OPTION-IPv4_FQDN-MoS.RFC 5678
1412+SIP UA Configuration Service Domains.
142&OPTION-IPv4_Address-ANDSF.RFC 6153
143&OPTION-IPv6_Address-ANDSF.RFC 6153
144-149&&RFC 3942
150&TFTP server address.RFC 5859
150&Etherboot.GRUB configuration path name.&
151&status-code.&
152&base-time.&
153&start-time-of-state.&
154&query-start-time.&
155&query-end-time.&
156&dhcp-state.&
157&data-source.&
158-174&&RFC 3942
175&Etherboot.&
176&IP Telephone.&
177&Etherboot.PacketCable and CableHome.&
178-207&&RFC 3942
208&pxelinux.magic (string) = F1:00:74:7E (241.0.116.126).RFC 5071
209&pxelinux.configfile (text).RFC 5071
210&pxelinux.pathprefix (text).RFC 5071
211&pxelinux.reboottime (unsigned integer 32 bits).RFC 5071
21218+OPTION_6RD.RFC 5969
213&OPTION_V4_ACCESS_DOMAIN.RFC 5986
214-219&&&
220&Subnet Allocation.&
1+Virtual Subnet Selection.
222223&&RFC 3942
224-254&Private use.&
DHCP Options and BOOTP Vendor Extensions.
Category: Standards Track.
Updated by:
Obsoletes:
Control And Provisioning of Wireless Access Points (CAPWAP) Access Controller DHCP Option.
Category: Standards Track.
Defines DHCP option 138 (CAPWAP Access Controller addresses).
Defines DHCPv6 option 52 (CAPWAP Access Controller addresses).
Session Initiation Protocol (SIP) User Agent Configuration.
Category: Informational.
Defines DHCP option 141 (SIP UA Configuration Service Domains).
Defines DHCPv6 option 58 (OPTION_SIP_UA_CS_LIST).
Virtual Subnet Selection Options for DHCPv4 and DHCPv6.
Category: Standards Track.
Defines DHCP option 221 (Virtual Subnet Selection).
Defines DHCP option 82 suboption 151 (DHCPv4 Virtual Subnet Selection).
Defines DHCP option 82 suboption 152 (DHCPv4 Virtual Subnet Selection Control).
Defines DHCPv6 option 68 (Virtual Subnet Selection).
Procedure for Defining New DHCP Options.
Obsoleted by:

我要回帖

更多关于 51nds 的文章

 

随机推荐