Add OpenSuSE Tumbleweed
This commit is contained in:
@@ -12,6 +12,7 @@ Vagrantfile
|
||||
distros/fedora/rawhide/*.hcl
|
||||
distros/nixos/**/*.hcl
|
||||
distros/centos-stream/**/*.hcl
|
||||
distros/opensuse/tumbleweed/*.hcl
|
||||
|
||||
__pycache__
|
||||
*.pyc
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
15.5:
|
||||
15.5: &supp
|
||||
- arch: amd64
|
||||
provider: qemu
|
||||
- arch: amd64
|
||||
@@ -7,3 +7,4 @@
|
||||
provider: vmware-iso
|
||||
- arch: amd64
|
||||
provider: hyperv-iso
|
||||
tumbleweed: *supp
|
||||
+34
@@ -0,0 +1,34 @@
|
||||
#!/usr/bin/env bash
|
||||
|
||||
name="${0%.sh}"
|
||||
|
||||
base="https://download.opensuse.org/tumbleweed/iso/openSUSE-Tumbleweed-NET-x86_64-Current.iso"
|
||||
|
||||
# Working directory
|
||||
tmp="$(mktemp -d)"
|
||||
checksums="${tmp}/checksums"
|
||||
|
||||
# Read the SHA256 sum value
|
||||
sums="${base}.sha256"
|
||||
until curl -f -L -o "${checksums}" "${sums}"; do
|
||||
sleep 1
|
||||
done
|
||||
sha="$(cut -d' ' -f 1 "${checksums}")"
|
||||
|
||||
cat << EOF > "${name}"
|
||||
distro = "opensuse"
|
||||
version = "tumbleweed"
|
||||
iso = {
|
||||
url = "${base}"
|
||||
checksum = "${sha}"
|
||||
}
|
||||
boot_command = [
|
||||
"e<wait>",
|
||||
"<down><down><down><down><end><wait>",
|
||||
" autoyast=http://{{ .HTTPIP }}:{{ .HTTPPort }}/autoinst.xml textmode=1<wait>",
|
||||
"<leftCtrlOn>x<leftCtrlOff>"
|
||||
]
|
||||
http_directory = "distros/opensuse/tumbleweed/http/"
|
||||
EOF
|
||||
|
||||
rm -r "${tmp}"
|
||||
@@ -0,0 +1,4 @@
|
||||
#!/usr/bin/env bash
|
||||
set -ex
|
||||
|
||||
zypper clean -a
|
||||
@@ -0,0 +1,123 @@
|
||||
<?xml version="1.0"?>
|
||||
<!DOCTYPE profile>
|
||||
<!-- https://doc.opensuse.org/projects/autoyast/#CreateProfile-General -->
|
||||
<profile xmlns="http://www.suse.com/1.0/yast2ns"
|
||||
xmlns:config="http://www.suse.com/1.0/configns">
|
||||
<general>
|
||||
<mode>
|
||||
<confirm config:type="boolean">false</confirm>
|
||||
<final_reboot config:type="boolean">true</final_reboot>
|
||||
</mode>
|
||||
</general>
|
||||
<groups config:type="list">
|
||||
<group>
|
||||
<groupname>wheel</groupname>
|
||||
<userlist>vagrant</userlist>
|
||||
</group>
|
||||
</groups>
|
||||
<firewall>
|
||||
<enable_firewall config:type="boolean">true</enable_firewall>
|
||||
<default_zone>external</default_zone>
|
||||
<zones config:type="list">
|
||||
<zone>
|
||||
<name>public</name>
|
||||
<interfaces config:type="list">
|
||||
<interface>eth0</interface>
|
||||
</interfaces>
|
||||
<services config:type="list">
|
||||
<service>ssh</service>
|
||||
</services>
|
||||
</zone>
|
||||
</zones>
|
||||
</firewall>
|
||||
<partitioning config:type="list">
|
||||
<drive>
|
||||
<use>all</use>
|
||||
<partitions config:type="list">
|
||||
<partition>
|
||||
<mount>/boot</mount>
|
||||
<size>512MiB</size>
|
||||
</partition>
|
||||
<partition>
|
||||
<mount>/</mount>
|
||||
<size>max</size>
|
||||
</partition>
|
||||
</partitions>
|
||||
</drive>
|
||||
</partitioning>
|
||||
<language>
|
||||
<language>en_US</language>
|
||||
</language>
|
||||
<networking>
|
||||
<backend>network_manager</backend>
|
||||
</networking>
|
||||
<services-manager>
|
||||
<services>
|
||||
<enable config:type="list">
|
||||
<service>sshd</service>
|
||||
</enable>
|
||||
</services>
|
||||
</services-manager>
|
||||
<software>
|
||||
<packages config:type="list">
|
||||
<package>openssh</package>
|
||||
<package>sudo</package>
|
||||
</packages>
|
||||
<do_online_update config:type="boolean">true</do_online_update>
|
||||
<install_recommended config:type="boolean">false</install_recommended>
|
||||
<products config:type="list">
|
||||
<product>openSUSE</product>
|
||||
</products>
|
||||
</software>
|
||||
<timezone>
|
||||
<hwclock>UTC</hwclock>
|
||||
<timezone>UTC</timezone>
|
||||
</timezone>
|
||||
<users config:type="list">
|
||||
<user>
|
||||
<username>root</username>
|
||||
<user_password>vagrant</user_password>
|
||||
<encrypted config:type="boolean">false</encrypted>
|
||||
</user>
|
||||
<user>
|
||||
<username>vagrant</username>
|
||||
<user_password>vagrant</user_password>
|
||||
<encrypted config:type="boolean">false</encrypted>
|
||||
</user>
|
||||
</users>
|
||||
<scripts>
|
||||
<post-scripts config:type="list">
|
||||
<script>
|
||||
<interpreter>shell</interpreter>
|
||||
<filename>start.sh</filename>
|
||||
<!-- <location>some_url</location> -->
|
||||
<source>
|
||||
<![CDATA[
|
||||
#!/bin/sh
|
||||
echo "Starting installation"
|
||||
]]>
|
||||
</source>
|
||||
</script>
|
||||
</post-scripts>
|
||||
</scripts>
|
||||
<files config:type="list">
|
||||
<file>
|
||||
<file_path>/etc/sudoers.d/vagrant</file_path>
|
||||
<file_contents>
|
||||
<![CDATA[
|
||||
Defaults:vagrant !requiretty
|
||||
vagrant ALL=(ALL) NOPASSWD: ALL
|
||||
root ALL=(ALL) NOPASSWD: ALL
|
||||
]]>
|
||||
</file_contents>
|
||||
<file_permissions>440</file_permissions>
|
||||
<file_owner>root</file_owner>
|
||||
</file>
|
||||
<file>
|
||||
<file_path>/home/vagrant/.ssh/authorized_keys</file_path>
|
||||
<file_permissions>600</file_permissions>
|
||||
<file_owner>vagrant</file_owner>
|
||||
<file_location>https://raw.githubusercontent.com/hashicorp/vagrant/master/keys/vagrant.pub</file_location>
|
||||
</file>
|
||||
</files>
|
||||
</profile>
|
||||
@@ -0,0 +1,6 @@
|
||||
#!/usr/bin/env bash
|
||||
set -ex
|
||||
|
||||
zypper install -y qemu-guest-agent
|
||||
systemctl start qemu-guest-agent
|
||||
systemctl enable qemu-guest-agent
|
||||
@@ -0,0 +1,2 @@
|
||||
#!/usr/bin/env bash
|
||||
set -ex
|
||||
@@ -0,0 +1,2 @@
|
||||
#!/usr/bin/env bash
|
||||
set -ex
|
||||
Reference in New Issue
Block a user