aboutsummaryrefslogtreecommitdiff
path: root/README
diff options
context:
space:
mode:
authorPasha <pasha@member.fsf.org>2022-08-24 21:00:50 +0000
committerPasha <pasha@member.fsf.org>2022-08-24 21:00:50 +0000
commit62b5f3aad043d50f29db7a7dc53b1d9eb7393c8e (patch)
tree059786de090373bc4044553486fae77fcd227103 /README
downloadhurd_openstack-62b5f3aad043d50f29db7a7dc53b1d9eb7393c8e.tar.gz
hurd_openstack-62b5f3aad043d50f29db7a7dc53b1d9eb7393c8e.tar.bz2
initial commit
Diffstat (limited to 'README')
-rw-r--r--README96
1 files changed, 96 insertions, 0 deletions
diff --git a/README b/README
new file mode 100644
index 0000000..1964d5d
--- /dev/null
+++ b/README
@@ -0,0 +1,96 @@
+ Copyright (C) 2022 Pasha <pasha@member.fsf.org>
+
+ This program is free software: you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation, either version 3 of the License, or
+ (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program. If not, see <https://www.gnu.org/licenses/>.
+
+
+GNU Hurd on OpenStack
+----------------------
+
+1. Install GNU Hurd and save as qcow2 format.
+2. create user account "debian". (openstack will try to push selected ssh key based login for this account.)
+3. workaround: currnet GNU Hurd in openstack could not read login metadata. Therefore, create another account name hurdstack. We will use this account to login via ssh.
+
+-------------------
+set console output
+-------------------
+# sed -i 's/{GRUB_CMDLINE_GNUMACH}/{GRUB_CMDLINE_GNUMACH} console=com0/' /etc/grub.d/10_hurd
+# export PATH=$PATH:/usr/sbin/:/sbin/
+# update-grub
+
+------------------
+install packages
+------------------
+# apt-get install patch cloud-init inetutils-tools
+
+-----------------------------------------------
+patch cloud-init for inetutils-ifconfig support
+-----------------------------------------------
+# patch /usr/lib/python3/dist-packages/cloudinit/netinfo.py < netinfo.py.patch
+
+(md5sum /usr/lib/python3/dist-packages/cloudinit/netinfo.py and set the value - optional)
+
+# sed -i "s/004c853827df095227eef86175ee351b usr\/lib\/python3\/dist-packages\/cloudinit\/netinfo.py/79af408603bc6e3489fd2d3f1a0e9cac usr\/lib\/python3\/dist-packages\/cloudinit\/netinfo.py/" /var/lib/dpkg/info/cloud-init.md5sums
+
+-------------------------------
+remove MAC address and clean up
+-------------------------------
+# virt-sysprep -d hurdstack
+# virsh undefine hurdstack
+
+--------------------------------------------------------------
+upload in openstack (you may change --public to other settings)
+--------------------------------------------------------------
+$ openstack image create \
+ --container-format bare \
+ --disk-format qcow2 \
+ --property hw_disk_bus=ide \
+ --property os_type=linux \
+ --property os_distro=debian \
+ --property os_admin_user=debian \
+ --property os_version='10.12.7' \
+ --property hw_vif_model=e1000 \
+ --public \
+ --file hurdstack.qcow2 \
+ hurdstack
+
+------------------------------
+example create server command
+------------------------------
+list your available net-id
+$ openstack network list
+
+list your available security group id
+$ openstack security group list
+
+start an instance with any flavor (example with m1.nano)
+$ openstack server create \
+ --flavor m1.nano \
+ --image hurdstack \
+ --nic net-id=44b3993a-60dd-4074-a911-1b9ac4b8b6fa \
+ --security-group 8b5d5482-2686-40a8-b394-5c764b6fe310 \
+ --key-name mykey hurdstackinstance
+
+--------------------
+check server status
+--------------------
+# openstack server list
+
+enable port 22 from web-interface or command line for ssh login.
+
+You may check status in openstack web-interface logs and ssh when it is ready.
+ssh might take several minutes as cloud-init is trying to fetch metadata on boot which is still unavailable from GNU Hurd.
+
+links:
+https://www.debian.org/ports/hurd/hurd-install
+https://docs.openstack.org/image-guide/create-images-manually.html