Compare commits

...

22 Commits

Author SHA1 Message Date
Peter Šurda c26d9c8dfb
nocloud-net is deprecated
buildbot/multibuild_parent Build done. Details
buildbot/travis_bionic Build done. Details
buildbot/ipxe_x86_build_and_release Build done. Details
2024-03-19 09:29:14 +08:00
Peter Šurda fd21958883
Download images from bunny.net
buildbot/multibuild_parent Build done. Details
buildbot/travis_bionic Build done. Details
buildbot/ipxe_x86_build_and_release Build done. Details
2024-02-20 21:20:49 +08:00
Peter Šurda 5343bac65e
Revert last 4 commits
buildbot/multibuild_parent Build done. Details
buildbot/travis_bionic Build done. Details
buildbot/ipxe_x86_build_and_release Build done. Details
This reverts commit ce85723f1a.
2024-02-20 16:09:34 +08:00
Peter Šurda 7401717352
Try to reopen interfaces at the beginning
buildbot/multibuild_parent Build done. Details
buildbot/travis_bionic Build done. Details
buildbot/ipxe_x86_build_and_release Build done. Details
2024-02-20 13:16:03 +08:00
Peter Šurda 9c7265e6d4
Try static IP first, then DHCP
buildbot/multibuild_parent Build done. Details
buildbot/travis_bionic Build done. Details
buildbot/ipxe_x86_build_and_release Build done. Details
2024-02-20 12:57:30 +08:00
Peter Šurda 632556590b
Override DNS even for DHCP
buildbot/travis_bionic Build done. Details
buildbot/multibuild_parent Build done. Details
buildbot/ipxe_x86_build_and_release Build done. Details
2024-02-20 12:36:35 +08:00
Peter Šurda ce85723f1a
Reduce reliance on NTP
buildbot/travis_bionic Build done. Details
buildbot/multibuild_parent Build done. Details
buildbot/ipxe_x86_build_and_release Build done. Details
2024-02-20 11:53:31 +08:00
Peter Šurda 6d3b19dfff
Whitespace change to bump version
buildbot/multibuild_parent Build done. Details
buildbot/travis_bionic Build done. Details
buildbot/ipxe_x86_build_and_release Build done. Details
2024-01-30 10:10:50 +08:00
Peter Šurda 819efecd46
Fix backup.bitmessage.at network device names
buildbot/multibuild_parent Build done. Details
buildbot/travis_bionic Build done. Details
buildbot/ipxe_x86_build_and_release Build done. Details
2024-01-02 21:26:16 +01:00
Peter Šurda 46eef3e758
Add backup.bitmessage.at
buildbot/multibuild_parent Build done. Details
buildbot/travis_bionic Build done. Details
buildbot/ipxe_x86_build_and_release Build done. Details
2023-12-11 13:12:33 +01:00
Peter Šurda aa0cbaca9b
Add node9.sysdeploy.org
buildbot/multibuild_parent Build done. Details
buildbot/travis_bionic Build done. Details
buildbot/ipxe_x86_build_and_release Build done. Details
2023-11-30 07:46:35 +08:00
Peter Šurda ef36aa71a3
Use google DNS for node3.surda.cloud
buildbot/multibuild_parent Build done. Details
buildbot/travis_bionic Build done. Details
buildbot/ipxe_x86_build_and_release Build done. Details
2023-09-19 10:55:40 +08:00
Peter Šurda a3a1ac2969
Add node3.surda.cloud
buildbot/multibuild_parent Build done. Details
buildbot/travis_bionic Build done. Details
buildbot/ipxe_x86_build_and_release Build done. Details
2023-09-15 09:13:43 +08:00
Peter Šurda 79c62dd58b
Print more verbose info
buildbot/travis_bionic Build done. Details
buildbot/multibuild_parent Build done. Details
buildbot/ipxe_x86_build_and_release Build done. Details
2023-07-27 10:51:38 +08:00
Peter Šurda 73a2e56742
Add node2.surda.cloud (Menara AIMS)
buildbot/travis_bionic Build done. Details
buildbot/multibuild_parent Build done. Details
buildbot/ipxe_x86_build_and_release Build done. Details
2023-07-24 11:48:52 +08:00
Peter Šurda 9380a35800
Typo
buildbot/multibuild_parent Build done. Details
buildbot/travis_bionic Build done. Details
buildbot/ipxe_x86_build_and_release Build done. Details
2023-05-14 15:09:42 +08:00
Peter Šurda 6ccd85fe1d
Typo
buildbot/multibuild_parent Build done. Details
buildbot/travis_bionic Build done. Details
buildbot/ipxe_x86_build_and_release Build done. Details
2023-05-14 15:03:50 +08:00
Peter Šurda 05ab34d4a2
Typo
buildbot/multibuild_parent Build done. Details
buildbot/travis_bionic Build done. Details
buildbot/ipxe_x86_build_and_release Build done. Details
2023-05-14 14:56:39 +08:00
Peter Šurda 706c9bae02
Split EFI and non-EFI (WiP)
buildbot/multibuild_parent Build done. Details
buildbot/travis_bionic Build done. Details
buildbot/ipxe_x86_build_and_release Build done. Details
2023-05-14 12:13:45 +08:00
Peter Šurda 1ddc2fd8d6
Move images back to images.sysdeploy.org
buildbot/multibuild_parent Build done. Details
buildbot/travis_bionic Build done. Details
buildbot/ipxe_x86_build_and_release Build done. Details
- and get rid of https
2023-05-14 11:30:37 +08:00
Peter Šurda 8ffcfa54be
Update IPAX IP addresses
buildbot/multibuild_parent Build done. Details
buildbot/travis_bionic Build done. Details
buildbot/ipxe_x86_build_and_release Build done. Details
- subnet shrank and the IPs were redistributed
2023-04-02 08:47:12 +08:00
Peter Šurda d4656d0809
Bump to jammy
buildbot/multibuild_parent Build done. Details
buildbot/travis_bionic Build done. Details
buildbot/ipxe_x86_build_and_release Build done. Details
2023-02-28 17:23:18 +01:00
1 changed files with 58 additions and 24 deletions

View File

@ -9,8 +9,8 @@
imgtrust --permanent imgtrust --permanent
# For the "focal" part of the URL string, in case that changes in the future. # For the "jammy" part of the URL string, in case that changes in the future.
set ubuntu-variant focal set ubuntu-variant jammy
goto get_arch goto get_arch
@ -35,17 +35,27 @@ isset ${net${idx}/mac} || goto loop_done
######################## SET STATIC IP INFO HERE ############################# ######################## SET STATIC IP INFO HERE #############################
# Just copy/paste an entire line to add more # Just copy/paste an entire line to add more
# #
echo Checking net${idx} echo Checking net${idx} for a static IP config
# node1.bitmessage.at # node1.bitmessage.at
iseq ${net${idx}/mac} 40:a8:f0:31:cc:58 && set ip-dev-name eno1 && set ip-addr 93.189.28.82 && set ip-gateway 93.189.28.81 && set ip-netmask 255.255.255.240 && set ip-dns 1.1.1.1 && set successful t && goto loop_done || iseq ${net${idx}/mac} 40:a8:f0:31:cc:58 && set ip-dev-name eno1 && set ip-addr 93.189.28.82 && set ip-gateway 93.189.28.81 && set ip-netmask 255.255.255.248 && set ip-dns 1.1.1.1 && set successful t && goto loop_done ||
iseq ${net${idx}/mac} 40:a8:f0:31:cc:59 && set ip-dev-name eno2 && set ip-addr 93.189.28.82 && set ip-gateway 93.189.28.81 && set ip-netmask 255.255.255.240 && set ip-dns 1.1.1.1 && set successful t && goto loop_done || iseq ${net${idx}/mac} 40:a8:f0:31:cc:59 && set ip-dev-name eno2 && set ip-addr 93.189.28.82 && set ip-gateway 93.189.28.81 && set ip-netmask 255.255.255.248 && set ip-dns 1.1.1.1 && set successful t && goto loop_done ||
# node2.bitmessage.at # node2.bitmessage.at
iseq ${net${idx}/mac} 28:80:23:a7:52:d0 && set ip-dev-name eno1 && set ip-addr 93.189.25.250 && set ip-gateway 93.189.25.249 && set ip-netmask 255.255.255.248 && set ip-dns 1.1.1.1 && set successful t && goto loop_done || iseq ${net${idx}/mac} 28:80:23:a7:52:d0 && set ip-dev-name eno1 && set ip-addr 93.189.25.250 && set ip-gateway 93.189.25.249 && set ip-netmask 255.255.255.248 && set ip-dns 1.1.1.1 && set successful t && goto loop_done ||
iseq ${net${idx}/mac} 28:80:23:a7:52:d1 && set ip-dev-name eno2 && set ip-addr 93.189.25.250 && set ip-gateway 93.189.25.249 && set ip-netmask 255.255.255.248 && set ip-dns 1.1.1.1 && set successful t && goto loop_done || iseq ${net${idx}/mac} 28:80:23:a7:52:d1 && set ip-dev-name eno2 && set ip-addr 93.189.25.250 && set ip-gateway 93.189.25.249 && set ip-netmask 255.255.255.248 && set ip-dns 1.1.1.1 && set successful t && goto loop_done ||
# node1.surda.cloud # node1.surda.cloud
iseq ${net${idx}/mac} d0:50:99:df:1d:49 && set ip-dev-name enp39s0 && set ip-addr 93.189.28.83 && set ip-gateway 93.189.28.81 && set ip-netmask 255.255.255.240 && set ip-dns 1.1.1.1 && set successful t && goto loop_done || iseq ${net${idx}/mac} d0:50:99:df:1d:49 && set ip-dev-name enp39s0 && set ip-addr 93.189.28.85 && set ip-gateway 93.189.28.81 && set ip-netmask 255.255.255.248 && set ip-dns 1.1.1.1 && set successful t && goto loop_done ||
iseq ${net${idx}/mac} d0:50:99:df:1d:4a && set ip-dev-name enp38s0 && set ip-addr 93.189.28.83 && set ip-gateway 93.189.28.81 && set ip-netmask 255.255.255.240 && set ip-dns 1.1.1.1 && set successful t && goto loop_done || iseq ${net${idx}/mac} d0:50:99:df:1d:4a && set ip-dev-name enp38s0 && set ip-addr 93.189.28.85 && set ip-gateway 93.189.28.81 && set ip-netmask 255.255.255.248 && set ip-dns 1.1.1.1 && set successful t && goto loop_done ||
# node2.surda.cloud
iseq ${net${idx}/mac} c8:1f:66:b9:0b:d6 && set ip-dev-name eno1 && set ip-addr 110.4.42.77 && set ip-gateway 110.4.42.1 && set ip-netmask 255.255.255.0 && set ip-dns 1.1.1.1 && set successful t && goto loop_done ||
iseq ${net${idx}/mac} c8:1f:66:b9:0b:d7 && set ip-dev-name eno2 && set ip-addr 110.4.42.77 && set ip-gateway 110.4.42.1 && set ip-netmask 255.255.255.0 && set ip-dns 1.1.1.1 && set successful t && goto loop_done ||
iseq ${net${idx}/mac} c8:1f:66:b9:0b:d8 && set ip-dev-name eno3 && set ip-addr 110.4.42.77 && set ip-gateway 110.4.42.1 && set ip-netmask 255.255.255.0 && set ip-dns 1.1.1.1 && set successful t && goto loop_done ||
iseq ${net${idx}/mac} c8:1f:66:b9:0b:d9 && set ip-dev-name eno4 && set ip-addr 110.4.42.77 && set ip-gateway 110.4.42.1 && set ip-netmask 255.255.255.0 && set ip-dns 1.1.1.1 && set successful t && goto loop_done ||
# node3.surda.cloud
iseq ${net${idx}/mac} b8:2a:72:d5:05:36 && set ip-dev-name eno1 && set ip-addr 101.99.86.54 && set ip-gateway 101.99.86.49 && set ip-netmask 255.255.255.240 && set ip-dns 8.8.8.8 && set successful t && goto loop_done ||
iseq ${net${idx}/mac} b8:2a:72:d5:05:37 && set ip-dev-name eno2 && set ip-addr 101.99.86.54 && set ip-gateway 101.99.86.49 && set ip-netmask 255.255.255.240 && set ip-dns 8.8.8.8 && set successful t && goto loop_done ||
iseq ${net${idx}/mac} b8:2a:72:d5:05:38 && set ip-dev-name eno3 && set ip-addr 101.99.86.54 && set ip-gateway 101.99.86.49 && set ip-netmask 255.255.255.240 && set ip-dns 8.8.8.8 && set successful t && goto loop_done ||
iseq ${net${idx}/mac} b8:2a:72:d5:05:39 && set ip-dev-name eno4 && set ip-addr 101.99.86.54 && set ip-gateway 101.99.86.49 && set ip-netmask 255.255.255.240 && set ip-dns 8.8.8.8 && set successful t && goto loop_done ||
# node3.sysdeploy.org # node3.sysdeploy.org
iseq ${net${idx}/mac} 00:25:90:a2:9f:e9 && set ip-dev-name eno2 && set ip-addr 104.251.122.45 && set ip-gateway 104.251.122.44 && set ip-netmask 255.255.255.254 && set ip-dns 1.1.1.1 && set successful t && goto loop_done || iseq ${net${idx}/mac} 00:25:90:a2:9f:e9 && set ip-dev-name eno2 && set ip-addr 104.251.122.45 && set ip-gateway 104.251.122.44 && set ip-netmask 255.255.255.254 && set ip-dns 1.1.1.1 && set successful t && goto loop_done ||
# node4.sysdeploy.org # node4.sysdeploy.org
@ -58,6 +68,13 @@ iseq ${net${idx}/mac} 34:17:eb:ea:78:b1 && set ip-dev-name eno2 && set ip-addr 1
# node8.sysdeploy.org # node8.sysdeploy.org
iseq ${net${idx}/mac} bc:30:5b:de:3a:9e && set ip-dev-name eno1 && set ip-addr 109.73.65.100 && set ip-gateway 109.73.65.1 && set ip-netmask 255.255.255.0 && set ip-dns 1.1.1.1 && set successful t && goto loop_done || iseq ${net${idx}/mac} bc:30:5b:de:3a:9e && set ip-dev-name eno1 && set ip-addr 109.73.65.100 && set ip-gateway 109.73.65.1 && set ip-netmask 255.255.255.0 && set ip-dns 1.1.1.1 && set successful t && goto loop_done ||
iseq ${net${idx}/mac} bc:30:5b:de:3a:9f && set ip-dev-name eno2 && set ip-addr 109.73.65.100 && set ip-gateway 109.73.65.1 && set ip-netmask 255.255.255.0 && set ip-dns 1.1.1.1 && set successful t && goto loop_done || iseq ${net${idx}/mac} bc:30:5b:de:3a:9f && set ip-dev-name eno2 && set ip-addr 109.73.65.100 && set ip-gateway 109.73.65.1 && set ip-netmask 255.255.255.0 && set ip-dns 1.1.1.1 && set successful t && goto loop_done ||
# node9.sysdeploy.org
iseq ${net${idx}/mac} 00:25:90:a9:73:76 && set ip-dev-name eno1 && set ip-addr 23.94.164.18 && set ip-gateway 23.94.164.17 && set ip-netmask 255.255.255.252 && set ip-dns 1.1.1.1 && set successful t && goto loop_done ||
#iseq ${net${idx}/mac} 00:25:90:a9:73:77 && set ip-dev-name enp0s25 && set ip-addr 23.94.164.18 && set ip-gateway 23.94.164.17 && set ip-netmask 255.255.255.252 && set ip-dns 1.1.1.1 && set successful t && goto loop_done ||
# backup.bitmessage.at
iseq ${net${idx}/mac} a8:a1:59:c7:21:8f && set ip-dev-name enp39s0 && set ip-addr 93.189.25.253 && set ip-gateway 93.189.25.249 && set ip-netmask 255.255.255.248 && set ip-dns 1.1.1.1 && set successful t && goto loop_done ||
iseq ${net${idx}/mac} a8:a1:59:c7:21:90 && set ip-dev-name enp38s0 && set ip-addr 93.189.25.253 && set ip-gateway 93.189.25.249 && set ip-netmask 255.255.255.248 && set ip-dns 1.1.1.1 && set successful t && goto loop_done ||
# if you don't know the linux interface name, use "clear ip-dev-name", then # if you don't know the linux interface name, use "clear ip-dev-name", then
@ -72,7 +89,9 @@ inc idx && goto loop
iseq ${successful} f && goto error_handler || iseq ${successful} f && goto error_handler ||
# If on the other hand we're successful, then we construct the kernel ip= line # If on the other hand we're successful, then we construct the kernel ip= line
set ip-info ${ip-addr}::${ip-gateway}:${ip-netmask}::${ip-dev-name}:off:${ip-dns} set ip-info ${ip-addr}::${ip-gateway}:${ip-netmask}::${ip-dev-name}:off:${ip-dns} && echo Static IP found
echo ip-info ${ip-info}
# And setup IPXE networking. # And setup IPXE networking.
@ -133,10 +152,10 @@ goto loop
# In case we want to... log?? Or do something else. # In case we want to... log?? Or do something else.
:error_handler :error_handler
echo "###########################################################" echo ###########################################################
echo "An unspecified error has occurred." echo An unspecified error has occurred.
echo "The system will sleep for two minutes and then reboot." echo The system will sleep for two minutes and then reboot.
echo "###########################################################" echo ###########################################################
sleep 60 sleep 60
sleep 60 sleep 60
reboot reboot
@ -153,7 +172,6 @@ iseq ${buildarch} i386 && goto start_i386 ||
iseq ${buildarch} x86_64 && goto start_amd64 || iseq ${buildarch} x86_64 && goto start_amd64 ||
goto error_handler goto error_handler
# Builds may be done on 32-bit, but machines will always be 64-bit. # Builds may be done on 32-bit, but machines will always be 64-bit.
# Keep this section just in case we want to use 32-bit machines in the future. # Keep this section just in case we want to use 32-bit machines in the future.
:start_arm32 :start_arm32
@ -193,8 +211,12 @@ goto static_ip_boot_setup
:boot_all :boot_all
# Get accurate time so we can set the clock in kernel boot cmdline # Get accurate time so we can set the clock in kernel boot cmdline
echo Syncing time over NTP
ntp pool.ntp.org || goto error_handler ntp pool.ntp.org || goto error_handler
# check for EFI
iseq ${platform} efi && goto is_efi || goto not_efi
# We use HTTP because IPXE's HTTPS implementation is lacking. So we delegate # We use HTTP because IPXE's HTTPS implementation is lacking. So we delegate
# integrity and validation to imgverify. # integrity and validation to imgverify.
@ -202,10 +224,6 @@ ntp pool.ntp.org || goto error_handler
# kernel fails to load it in the "root=" part of the kernel cmdline. # kernel fails to load it in the "root=" part of the kernel cmdline.
# However, note that imgverify will fail if you refer to it as "/squashfs" # However, note that imgverify will fail if you refer to it as "/squashfs"
# instead of "squashfs". # instead of "squashfs".
imgfetch https://images2.sysdeploy.org/${ubuntu-variant}/${arch-info}/squashfs /squashfs || goto try_next_card
imgverify --signer images.sysdeploy.org squashfs https://images2.sysdeploy.org/${ubuntu-variant}/${arch-info}/squashfs.sig || goto error_handler
# "--signer" validates against the subject common name field of the signing # "--signer" validates against the subject common name field of the signing
# certificate. That signing cert must have both the digital signature key # certificate. That signing cert must have both the digital signature key
# usage set and the code-signing key usage extension set. # usage set and the code-signing key usage extension set.
@ -214,20 +232,36 @@ imgverify --signer images.sysdeploy.org squashfs https://images2.sysdeploy.org/$
# make sure you pick a common name with a FQDN you control, even if you're # make sure you pick a common name with a FQDN you control, even if you're
# using a custom CA that you import during build. # using a custom CA that you import during build.
initrd https://images2.sysdeploy.org/${ubuntu-variant}/${arch-info}/boot-initrd || goto try_next_card :is_efi
imgverify --signer images.sysdeploy.org boot-initrd https://images2.sysdeploy.org/${ubuntu-variant}/${arch-info}/boot-initrd.sig || goto error_handler echo Attempting EFI boot
set initrd1 initrd=initrd.cpio
isset initrd2 && clear initrd2
kernel https://images2.sysdeploy.org/${ubuntu-variant}/${arch-info}/boot-kernel || goto try_next_card imgfetch http://images-sysdeploy.b-cdn.net/${ubuntu-variant}/${arch-info}/initrd.cpio || goto try_next_card
imgverify --signer images.sysdeploy.org boot-kernel https://images2.sysdeploy.org/${ubuntu-variant}/${arch-info}/boot-kernel.sig || goto error_handler imgverify --signer images.sysdeploy.org initrd.cpio http://images-sysdeploy.b-cdn.net/${ubuntu-variant}/${arch-info}/initrd.cpio.sig || goto error_handler
goto efi_and_not_efi
echo ip-info ${ip-info} :not_efi
echo Attempting legacy boot
set initrd1 initrd=boot-initrd
set initrd2 initrd=squashfs
imgfetch http://images-sysdeploy.b-cdn.net/${ubuntu-variant}/${arch-info}/squashfs /squashfs || goto try_next_card
imgverify --signer images.sysdeploy.org squashfs http://images-sysdeploy.b-cdn.net/${ubuntu-variant}/${arch-info}/squashfs.sig || goto error_handler
initrd http://images-sysdeploy.b-cdn.net/${ubuntu-variant}/${arch-info}/boot-initrd || goto try_next_card
imgverify --signer images.sysdeploy.org boot-initrd http://images-sysdeploy.b-cdn.net/${ubuntu-variant}/${arch-info}/boot-initrd.sig || goto error_handler
:efi_and_not_efi
kernel http://images-sysdeploy.b-cdn.net/${ubuntu-variant}/${arch-info}/boot-kernel || goto try_next_card
imgverify --signer images.sysdeploy.org boot-kernel http://images-sysdeploy.b-cdn.net/${ubuntu-variant}/${arch-info}/boot-kernel.sig || goto error_handler
sleep 1 sleep 1
boot boot-kernel initrd=initrd.cpio initrd=squashfs rootfstype=squashfs root=/squashfs ip=${ip-info} overlayroot=tmpfs:recurse=0 systemd.clock-usec=${unixtime:int32}000000 ds=nocloud-net;s=https://cloud-init.sysdeploy.org/apiv2?uuid=${uuid}&filetype= || goto error_handler boot boot-kernel ${initrd1} ${initrd2} rootfstype=squashfs root=/squashfs ip=${ip-info} overlayroot=tmpfs:recurse=0 systemd.clock-usec=${unixtime:int32}000000 ds=nocloud;s=https://cloud-init.sysdeploy.org/apiv2?uuid=${uuid}&filetype= || goto error_handler
# unixtime variable must be used with int32, because that's the only way it # unixtime variable must be used with int32, because that's the only way it
# will display as decimal digits. unit32 and string both display as hex. # will display as decimal digits. unit32 and string both display as hex.
# Therefore this will stop working in 2038. # Therefore this will stop working in 2038.