Skip to content

Instantly share code, notes, and snippets.

@anthr76
Last active May 5, 2021 15:22
Show Gist options
  • Star 1 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save anthr76/d06ee9ef7e791563597fba708aefdd48 to your computer and use it in GitHub Desktop.
Save anthr76/d06ee9ef7e791563597fba708aefdd48 to your computer and use it in GitHub Desktop.
kubicAutoYast
<?xml version="1.0"?>
<!DOCTYPE profile>
<profile xmlns="http://www.suse.com/1.0/yast2ns" xmlns:config="http://www.suse.com/1.0/configns">
<general>
<ask-list config:type="list"/>
<mode>
<confirm config:type="boolean">false</confirm>
<second_stage config:type="boolean">false</second_stage>
</mode>
<proposals config:type="list"/>
</general>
<ssh_import>
<copy_config config:type="boolean">false</copy_config>
<import config:type="boolean">false</import>
</ssh_import>
<keyboard>
<keymap>english-us</keymap>
</keyboard>
<language>
<language>en_US</language>
<languages/>
</language>
<partitioning config:type="list">
<drive>
<initialize config:type="boolean">true</initialize>
<skip_list config:type="list">
<listentry>
<!-- skip devices that are smaller than 1GB -->
<skip_key>size_k</skip_key>
<skip_value>1048576</skip_value>
<skip_if_less_than config:type="boolean">true</skip_if_less_than>
</listentry>
<listentry>
<!-- skip devices that are larger than 520GB -->
<skip_key>size_k</skip_key>
<skip_value>545259241</skip_value>
<skip_if_more_than config:type="boolean">true</skip_if_more_than>
</listentry>
</skip_list>
</drive>
</partitioning>
<timezone>
<hwclock>UTC</hwclock>
<timezone>America/New_York</timezone>
</timezone>
<software>
<products config:type="list">
<product>MicroOS</product>
</products>
<install_recommended config:type="boolean">false</install_recommended>
<patterns config:type="list">
<pattern>microos_base</pattern>
<pattern>microos_base_zypper</pattern>
<pattern>microos_defaults</pattern>
<pattern>microos_hardware</pattern>
<pattern>microos_selinux</pattern>
<pattern>kubeadm</pattern>
<pattern>container_runtime_kubernetes</pattern>
</patterns>
<do_online_update config:type="boolean">true</do_online_update>
</software>
<add-on>
<add_on_others config:type="list">
<listentry>
<media_url>http://download.opensuse.org/ports/aarch64/tumbleweed/repo/oss/</media_url>
<alias>repo-oss</alias>
<name>openSUSE-Tumbleweed-Oss</name>
</listentry>
<listentry>
<media_url>http://download.opensuse.org/ports/aarch64/debug/tumbleweed/repo/oss/</media_url>
<alias>repo-debug</alias>
<name>openSUSE-Tumbleweed-Debug</name>
</listentry>
<listentry>
<media_url>http://download.opensuse.org/ports/aarch64/source/tumbleweed/repo/oss/</media_url>
<alias>repo-source</alias>
<name>openSUSE-Tumbleweed-Source</name>
</listentry>
<listentry>
<media_url>http://download.opensuse.org/ports/aarch64/update/tumbleweed/</media_url>
<alias>repo-update</alias>
<name>openSUSE-Tumbleweed-Update</name>
</listentry>
</add_on_others>
</add-on>
<services-manager>
<default_target>multi-user</default_target>
<services>
<disable config:type="list">
<service>kdump-early</service>
<service>kdump</service>
</disable>
<enable config:type="list">
<service>sshd</service>
<service>kubelet</service>
<service>systemd-timesyncd</service>
</enable>
</services>
</services-manager>
<scripts>
<chroot-scripts config:type="list">
<script>
<filename>add-user-keys.sh</filename>
<interpreter>shell</interpreter>
<chrooted config:type="boolean">true</chrooted>
<source>
<![CDATA[
#!/bin/sh
systemctl disable kdump-early.service kdump.service
useradd -m localanthony
echo "localanthony ALL=(ALL) NOPASSWD: ALL" > /etc/sudoers.d/localanthony
mkdir -pm700 /home/localanthony/.ssh
chown localanthony:users -R /home/localanthony/.ssh
echo PATH=$PATH:/usr/sbin > /etc/profile.d/sbin.sh
echo ssh-rsa > /home/localanthony/.ssh/authorized_keys
]]>
</source>
</script>
</chroot-scripts>
</scripts>
<kdump>
<!-- memory reservation -->
<add_crash_kernel config:type="boolean">false</add_crash_kernel>
</kdump>
</profile>
<?xml version="1.0"?>
<!DOCTYPE profile>
<profile xmlns="http://www.suse.com/1.0/yast2ns" xmlns:config="http://www.suse.com/1.0/configns">
<general>
<ask-list config:type="list"/>
<mode>
<confirm config:type="boolean">false</confirm>
<second_stage config:type="boolean">false</second_stage>
</mode>
<proposals config:type="list"/>
</general>
<ssh_import>
<copy_config config:type="boolean">false</copy_config>
<import config:type="boolean">false</import>
</ssh_import>
<keyboard>
<keymap>english-us</keymap>
</keyboard>
<language>
<language>en_US</language>
<languages/>
</language>
<partitioning config:type="list">
<drive>
<initialize config:type="boolean">true</initialize>
<skip_list config:type="list">
<listentry>
<!-- skip devices that are smaller than 1GB -->
<skip_key>size_k</skip_key>
<skip_value>1048576</skip_value>
<skip_if_less_than config:type="boolean">true</skip_if_less_than>
</listentry>
<listentry>
<!-- skip devices that are larger than 520GB -->
<skip_key>size_k</skip_key>
<skip_value>545259241</skip_value>
<skip_if_more_than config:type="boolean">true</skip_if_more_than>
</listentry>
</skip_list>
</drive>
</partitioning>
<timezone>
<hwclock>UTC</hwclock>
<timezone>America/New_York</timezone>
</timezone>
<software>
<products config:type="list">
<product>MicroOS</product>
</products>
<install_recommended config:type="boolean">false</install_recommended>
<patterns config:type="list">
<pattern>microos_base</pattern>
<pattern>microos_base_zypper</pattern>
<pattern>microos_defaults</pattern>
<pattern>microos_hardware</pattern>
<pattern>microos_selinux</pattern>
<pattern>kubeadm</pattern>
<pattern>container_runtime_kubernetes</pattern>
</patterns>
<do_online_update config:type="boolean">true</do_online_update>
</software>
<add-on>
<add_on_others config:type="list">
<listentry>
<media_url>http://download.opensuse.org/tumbleweed/repo/oss/</media_url>
<alias>repo-oss</alias>
<name>openSUSE-Tumbleweed-Oss</name>
</listentry>
<listentry>
<media_url>http://download.opensuse.org/debug/tumbleweed/repo/oss/</media_url>
<alias>repo-debug</alias>
<name>openSUSE-Tumbleweed-Debug</name>
</listentry>
<listentry>
<media_url>http://download.opensuse.org/tumbleweed/repo/non-oss/</media_url>
<alias>repo-non-oss</alias>
<name>openSUSE-Tumbleweed-Non-Oss</name>
</listentry>
<listentry>
<media_url>http://download.opensuse.org/source/tumbleweed/repo/oss/</media_url>
<alias>repo-source</alias>
<name>openSUSE-Tumbleweed-Source</name>
</listentry>
<listentry>
<media_url>http://download.opensuse.org/update/tumbleweed/</media_url>
<alias>repo-update</alias>
<name>openSUSE-Tumbleweed-Update</name>
</listentry>
</add_on_others>
</add-on>
<services-manager>
<default_target>multi-user</default_target>
<services>
<disable config:type="list">
<service>kdump-early</service>
<service>kdump</service>
</disable>
<enable config:type="list">
<service>sshd</service>
<service>kubelet</service>
<service>systemd-timesyncd</service>
</enable>
</services>
</services-manager>
<scripts>
<chroot-scripts config:type="list">
<script>
<filename>add-user-keys.sh</filename>
<interpreter>shell</interpreter>
<chrooted config:type="boolean">true</chrooted>
<source>
<![CDATA[
#!/bin/sh
systemctl disable kdump-early.service kdump.service
useradd -m localanthony
echo "localanthony ALL=(ALL) NOPASSWD: ALL" > /etc/sudoers.d/localanthony
mkdir -pm700 /home/localanthony/.ssh
chown localanthony:users -R /home/localanthony/.ssh
echo PATH=$PATH:/usr/sbin > /etc/profile.d/sbin.sh
echo ssh-rsa > /home/localanthony/.ssh/authorized_keys
]]>
</source>
</script>
</chroot-scripts>
</scripts>
<kdump>
<!-- memory reservation -->
<add_crash_kernel config:type="boolean">false</add_crash_kernel>
</kdump>
</profile>
#!ipxe
# aarch64
# This script is quite disgusting but someday I'll clean it up
# OpenSUSE Operating System
# http://opensuse.org
isset ${dhcp-server} || goto static_ip
set netsetup netsetup=dhcp
goto goto_menu
:static_ip
# Need to convert netmask into prefix, because otherwise the installer
# accepts it but configures the network with /32 prefix, which installs
# fine but breaks connectivity to devices in the same network.
set prefix 32
iseq ${netmask} 0.0.0.0 && set prefix 0 ||
iseq ${netmask} 128.0.0.0 && set prefix 1 ||
iseq ${netmask} 192.0.0.0 && set prefix 2 ||
iseq ${netmask} 224.0.0.0 && set prefix 3 ||
iseq ${netmask} 240.0.0.0 && set prefix 4 ||
iseq ${netmask} 248.0.0.0 && set prefix 5 ||
iseq ${netmask} 252.0.0.0 && set prefix 6 ||
iseq ${netmask} 254.0.0.0 && set prefix 7 ||
iseq ${netmask} 255.0.0.0 && set prefix 8 ||
iseq ${netmask} 255.128.0.0 && set prefix 9 ||
iseq ${netmask} 255.192.0.0 && set prefix 10 ||
iseq ${netmask} 255.224.0.0 && set prefix 11 ||
iseq ${netmask} 255.240.0.0 && set prefix 12 ||
iseq ${netmask} 255.248.0.0 && set prefix 13 ||
iseq ${netmask} 255.252.0.0 && set prefix 14 ||
iseq ${netmask} 255.254.0.0 && set prefix 15 ||
iseq ${netmask} 255.255.0.0 && set prefix 16 ||
iseq ${netmask} 255.255.128.0 && set prefix 17 ||
iseq ${netmask} 255.255.192.0 && set prefix 18 ||
iseq ${netmask} 255.255.224.0 && set prefix 19 ||
iseq ${netmask} 255.255.240.0 && set prefix 20 ||
iseq ${netmask} 255.255.248.0 && set prefix 21 ||
iseq ${netmask} 255.255.252.0 && set prefix 22 ||
iseq ${netmask} 255.255.254.0 && set prefix 23 ||
iseq ${netmask} 255.255.255.0 && set prefix 24 ||
iseq ${netmask} 255.255.255.128 && set prefix 25 ||
iseq ${netmask} 255.255.255.192 && set prefix 26 ||
iseq ${netmask} 255.255.255.224 && set prefix 27 ||
iseq ${netmask} 255.255.255.240 && set prefix 28 ||
iseq ${netmask} 255.255.255.248 && set prefix 29 ||
iseq ${netmask} 255.255.255.252 && set prefix 30 ||
iseq ${netmask} 255.255.255.254 && set prefix 31 ||
iseq ${netmask} 255.255.255.255 && set prefix 32 ||
set netsetup netsetup=hostip,gateway,nameserver hostip=${ip}/${prefix} gateway=${gateway} nameserver=${dns}
:goto_menu
set netsetup ${netsetup} BOOTIF=${netX/mac}
imgfree
kernel http://download.opensuse.org/ports/aarch64/tumbleweed/repo/oss/boot/aarch64/linux
initrd http://download.opensuse.org/ports/aarch64/tumbleweed/repo/oss/boot/aarch64//initrd
imgargs linux ${netsetup} install=http://download.opensuse.org/ports/aarch64/tumbleweed/repo/oss AutoYaST2=http://nwk1-app-1.rabbito.tech:8082/opensuse/autoyast2/vm-staging.xml ${params} initrd=initrd ${cmdline}
echo
echo MD5sums:
md5sum linux initrd
boot
:opensuse_exit
clear menu
exit 0
#!ipxe
# x86
# OpenSUSE Operating System
# http://opensuse.org
dhcp
isset ${dhcp-server} || goto static_ip
set netsetup netsetup=dhcp
goto goto_menu
:static_ip
# Need to convert netmask into prefix, because otherwise the installer
# accepts it but configures the network with /32 prefix, which installs
# fine but breaks connectivity to devices in the same network.
set prefix 32
iseq ${netmask} 0.0.0.0 && set prefix 0 ||
iseq ${netmask} 128.0.0.0 && set prefix 1 ||
iseq ${netmask} 192.0.0.0 && set prefix 2 ||
iseq ${netmask} 224.0.0.0 && set prefix 3 ||
iseq ${netmask} 240.0.0.0 && set prefix 4 ||
iseq ${netmask} 248.0.0.0 && set prefix 5 ||
iseq ${netmask} 252.0.0.0 && set prefix 6 ||
iseq ${netmask} 254.0.0.0 && set prefix 7 ||
iseq ${netmask} 255.0.0.0 && set prefix 8 ||
iseq ${netmask} 255.128.0.0 && set prefix 9 ||
iseq ${netmask} 255.192.0.0 && set prefix 10 ||
iseq ${netmask} 255.224.0.0 && set prefix 11 ||
iseq ${netmask} 255.240.0.0 && set prefix 12 ||
iseq ${netmask} 255.248.0.0 && set prefix 13 ||
iseq ${netmask} 255.252.0.0 && set prefix 14 ||
iseq ${netmask} 255.254.0.0 && set prefix 15 ||
iseq ${netmask} 255.255.0.0 && set prefix 16 ||
iseq ${netmask} 255.255.128.0 && set prefix 17 ||
iseq ${netmask} 255.255.192.0 && set prefix 18 ||
iseq ${netmask} 255.255.224.0 && set prefix 19 ||
iseq ${netmask} 255.255.240.0 && set prefix 20 ||
iseq ${netmask} 255.255.248.0 && set prefix 21 ||
iseq ${netmask} 255.255.252.0 && set prefix 22 ||
iseq ${netmask} 255.255.254.0 && set prefix 23 ||
iseq ${netmask} 255.255.255.0 && set prefix 24 ||
iseq ${netmask} 255.255.255.128 && set prefix 25 ||
iseq ${netmask} 255.255.255.192 && set prefix 26 ||
iseq ${netmask} 255.255.255.224 && set prefix 27 ||
iseq ${netmask} 255.255.255.240 && set prefix 28 ||
iseq ${netmask} 255.255.255.248 && set prefix 29 ||
iseq ${netmask} 255.255.255.252 && set prefix 30 ||
iseq ${netmask} 255.255.255.254 && set prefix 31 ||
iseq ${netmask} 255.255.255.255 && set prefix 32 ||
set netsetup netsetup=hostip,gateway,nameserver hostip=${ip}/${prefix} gateway=${gateway} nameserver=${dns}
:goto_menu
set netsetup ${netsetup} BOOTIF=${netX/mac}
imgfree
kernel http://nwk1-app-1.rabbito.tech:8082/opensuse/kubic/x86/boot/x86_64/loader/linux
initrd http://nwk1-app-1.rabbito.tech:8082/opensuse/kubic/x86/boot/x86_64/loader/initrd
imgargs linux ${netsetup} install=http://nwk1-app-1.rabbito.tech:8082/opensuse/kubic/x86 AutoYaST2=http://nwk1-app-1.rabbito.tech:8082/opensuse/autoyast2/kubicx86.xml ${params} sshd=1 ssh.key=http://nwk1-app-1.rabbito.tech:8082/opensuse/autoyast2/auth_keys initrd=initrd ${cmdline}
echo
echo MD5sums:
md5sum linux initrd
boot
:opensuse_exit
clear menu
exit 0
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment