diff options
author | Pasha <pasha@member.fsf.org> | 2022-08-24 21:00:50 +0000 |
---|---|---|
committer | Pasha <pasha@member.fsf.org> | 2022-08-24 21:00:50 +0000 |
commit | 62b5f3aad043d50f29db7a7dc53b1d9eb7393c8e (patch) | |
tree | 059786de090373bc4044553486fae77fcd227103 /README | |
download | hurd_openstack-62b5f3aad043d50f29db7a7dc53b1d9eb7393c8e.tar.gz hurd_openstack-62b5f3aad043d50f29db7a7dc53b1d9eb7393c8e.tar.bz2 |
initial commit
Diffstat (limited to 'README')
-rw-r--r-- | README | 96 |
1 files changed, 96 insertions, 0 deletions
@@ -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 |