RCNP のネットワーク内で PXE を用いたネットワークブートができると良いという話がある。例えば、vmegr, vmelas というホストネームの VME CPU (V7768) など。特に、2019-2021年RCNP 加速器アップグレードに伴い、WN コースの中性子フラックスが10倍のオーダーで増大するため、なるべくCPU を積んでいるデバイスのディスクレス化をしたい。V7768 では、なぜかコンパクトフラッシュがよく死ぬので、ディスクレスにしたい。
$ sudo apt-get install dnsmasq pxelinux syslinux-common
$ wget http://www.memtest.org/download/5.01/memtest86+-5.01.bin.gz $ gzip -dk memtest86+-5.01.bin.gz $ ls memtest86+-5.01.bin
# Configuration file for dnsmasq. # # Format is one option per line, legal options are the same # as the long options legal on the command line. See # "/usr/sbin/dnsmasq --help" or "man 8 dnsmasq" for details. # Listen on this specific port instead of the standard DNS port # (53). Setting this to zero completely disables DNS function, # leaving only DHCP and/or TFTP. port=0 # Log lots of extra information about DHCP transactions. log-dhcp interface=eno1 interface=eno2 # Uncomment this to enable the integrated DHCP server, you need # to supply the range of addresses available for lease and optionally # a lease time. If you have more than one network, you will need to # repeat this for each network on which you want to supply DHCP # service. dhcp-range=192.168.2.0,proxy dhcp-range=172.16.192.0,proxy # 172.16.209.19 is interfere the PXE boot. # Set the boot filename for netboot/PXE. You will only need # this if you want to boot machines over the network and you will need # an TFTP server; either dnsmasq's built-in TFTP server or an # external one. dhcp-boot=tag:eno1,pxelinux.0,192.168.2.82 dhcp-boot=tag:eno2,pxelinux.0,172.16.210.62 #dhcp-boot=pxelinux.0,192.168.2.28 # Loads <tftp-root>/pxelinux.0 from other TFTP server. pxe-service=tag:eno1,x86PC,"PXE boot for V7768 & V7807",pxelinux,192.168.2.82 pxe-service=tag:eno2,x86PC,"PXE boot for V7768 & V7807",pxelinux,172.16.210.62 #pxe-service=x86PC,"PXE boot for V7768 & V7807",pxelinux,192.168.2.28 # Nobu Kobayashi added on Apr. 8, 2021 # List the MAC addresses of the VME-CPU clients. # When it is matched, "vmematched" tag is set # (tag is an inner parameter of dnsmasq). dhcp-host=00:20:38:05:B6:BC,set:vmematched # vmessd G1 port dhcp-host=00:20:38:05:B6:BD,set:vmematched # vmessd G2 port dhcp-host=00:20:38:06:46:AC,set:vmematched # vmepla dhcp-host=00:20:38:06:46:AD,set:vmematched # vmepla2 dhcp-host=00:20:38:03:37:6C,set:vmematched # vmegr dhcp-host=00:20:38:03:37:6E,set:vmematched # vmegr2 #dhcp-host=00:20:38:03:37:6F,set:vmematched # vmegr3 #dhcp-host=00:20:38:03:37:5B,set:vmematched # vmehata #dhcp-host=00:20:38:03:5D:DC,set:vmematched # vmelas #dhcp-host=00:20:38:03:5D:D9,set:vmematched # vmelas2 dhcp-host=00:20:38:01:B9:FE,set:vmematched # vme-v7671-test dhcp-host=00:20:38:01:B9:FF,set:vmematched # vme-v7671-test-gp # Responds only to VME devices dhcp-ignore=tag:!vmematched