Skip to content

Instantly share code, notes, and snippets.

@mgerdts
Last active August 8, 2019 17:27
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save mgerdts/baff4d504568e9e69114b5a7c0b05a46 to your computer and use it in GitHub Desktop.
Save mgerdts/baff4d504568e9e69114b5a7c0b05a46 to your computer and use it in GitHub Desktop.
boot modules in Triton

It seems that there should be a way to do this with sdc-cnapi. I've not had luck in getting any updates to flow from sdc-cnapi to booter, so I tried another approach.

root@headnode# sdc-login dhcpd
...
root@dhcpd0 ~ # cd /tftpboot/00505634604c
root@dhcpd0 /tftpboot/00505634604c # mkdir etc
root@dhcpd0 /tftpboot/00505634604c # cd etc
root@dhcpd0 /tftpboot/00505634604c/etc # echo "this is a test file" > testfile
root@dhcpd0 /tftpboot/00505634604c/etc # digest -a sha1 testfile > testfile.hash

Restart the dhcpd service to have it rewrite the boot config files.

[root@dhcpd0 /tftpboot]# svcadm restart dhcpd

If you don't restart it, eventually some magic will cause /tftpboot/boot.ipxe.0100505634604C and /tftpboot/menu.lst.0100505634604C to be updated.

The boot.ipxe file:

#!ipxe
kernel tftp://${next-server}/os/20190619T233708Z/platform/i86pc/kernel/amd64/unix -B hostname=headnode,rabbitmq=guest:guest:10.99.99.20:5672,smt_enabled=true,rabbitmq_dns=guest:guest:rabbitmq.madtown.local:5672,admin_nic=00:50:56:34:60:4c,external_nic=00:50:56:3d:a7:95,console=ttya,ttya-mode="115200,8,n,1,-"
module tftp://${next-server}/os/20190619T233708Z/platform/i86pc/amd64/boot_archive type=rootfs name=ramdisk
module tftp://${next-server}/os/20190619T233708Z/platform/i86pc/amd64/boot_archive.hash type=hash name=ramdisk
module tftp://${next-server}/bootfs/00505634604c/networking.json type=file name=networking.json
module tftp://${next-server}/bootfs/00505634604c/networking.json.hash type=hash name=networking.json
module tftp://${next-server}/bootfs/00505634604c/etc/testfile type=file name=etc/testfile
module tftp://${next-server}/bootfs/00505634604c/etc/testfile.hash type=hash name=etc/testfile
boot
[root@f552537d-de3a-46b4-a9c4-9cccf3def86c (madtown:dhcpd0) /tftpboot]# ls
boot.ipxe.0100505634604C  cache		    menu.lst.0100505634604C  poolcache	snponly.efi
bootfs			  joybadger.xpm.gz  os			     pxegrub	undionly.kpxe

The menu.lst file:

default 0
timeout 5
min_mem64 1024
variable os_console ttya
serial --unit=0 --speed=115200 --word=8 --parity=no --stop=1
terminal composite
color cyan/blue white/blue

title Live 64-bit
  kernel$ /os/20190619T233708Z/platform/i86pc/kernel/amd64/unix -B hostname=headnode,rabbitmq=guest:guest:10.99.99.20:5672,smt_enabled=true,rabbitmq_dns=guest:guest:rabbitmq.madtown.local:5672,admin_nic=00:50:56:34:60:4c,external_nic=00:50:56:3d:a7:95,console=${os_console},${os_console}-mode="115200,8,n,1,-"
  module$ /os/20190619T233708Z/platform/i86pc/amd64/boot_archive type=rootfs name=ramdisk
  module$ /os/20190619T233708Z/platform/i86pc/amd64/boot_archive.hash type=hash name=ramdisk
  module$ /bootfs/00505634604c/networking.json type=file name=networking.json
  module$ /bootfs/00505634604c/networking.json.hash type=hash name=networking.json
  module$ /bootfs/00505634604c/etc/testfile type=file name=etc/testfile
  module$ /bootfs/00505634604c/etc/testfile.hash type=hash name=etc/testfile

title Live 64-bit +kmdb
  kernel$ /os/20190619T233708Z/platform/i86pc/kernel/amd64/unix -d -k -B hostname=headnode,rabbitmq=guest:guest:10.99.99.20:5672,smt_enabled=true,rabbitmq_dns=guest:guest:rabbitmq.madtown.local:5672,admin_nic=00:50:56:34:60:4c,external_nic=00:50:56:3d:a7:95,console=${os_console},${os_console}-mode="115200,8,n,1,-"
  module$ /os/20190619T233708Z/platform/i86pc/amd64/boot_archive type=rootfs name=ramdisk
  module$ /os/20190619T233708Z/platform/i86pc/amd64/boot_archive.hash type=hash name=ramdisk
  module$ /bootfs/00505634604c/networking.json type=file name=networking.json
  module$ /bootfs/00505634604c/networking.json.hash type=hash name=networking.json
  module$ /bootfs/00505634604c/etc/testfile type=file name=etc/testfile
  module$ /bootfs/00505634604c/etc/testfile.hash type=hash name=etc/testfile

title Live 64-bit Rescue (no importing zpool)
  kernel$ /os/20190619T233708Z/platform/i86pc/kernel/amd64/unix -B hostname=headnode,rabbitmq=guest:guest:10.99.99.20:5672,smt_enabled=true,rabbitmq_dns=guest:guest:rabbitmq.madtown.local:5672,admin_nic=00:50:56:34:60:4c,external_nic=00:50:56:3d:a7:95,noimport=true,console=${os_console},${os_console}-mode="115200,8,n,1,-"
  module$ /os/20190619T233708Z/platform/i86pc/amd64/boot_archive type=rootfs name=ramdisk
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment