VM fails to start in OpenSUSE for aarch64
To whom it may concern I tried to use OpenSUSE aarch64 VM in OpenStack environment but failed. Do you know how to solve one of the following two problems? I look forward to your reply. 1. VM startup of OpenSUSE for OpenStack on ARM fails When I deployed a VM in an OpenStack environment using OpenSUSE 15.1 for OpenStack on ARM, the VM was successfully created but failed to start. When I checked the console log from the browser, it seems that the OS boot process is not completed. What could be the cause of this? OpenSUSE image "openSUSE-Leap-15.1-OpenStack.aarch64.qcow2" https://download.opensuse.org/repositories/Cloud:/Images:/Leap_15.2/images/o... Status is Active +--------------------------------------+------------------------------+---------+ | ID | Name | Status | +--------------------------------------+------------------------------+---------+ | eb653de7-68b4-4fd8-9fe5-515d1753fd5f | OpenSUSE-Leap-Arm | ACTIVE | -------- console log -------- UEFI firmware (version edk2-20230524-4.el9_3.2 built at 00:00:00 on Feb 20 2024) Tpm2SubmitCommand - Tcg2 - Not Found Tpm2GetCapabilityPcrs fail! Tpm2SubmitCommand - Tcg2 - Not Found [2J[01;01H[=3h[2J[01;01H[2J[01;01H[=3h[2J[01;01HBdsDxe: failed to load Boot0001 "UEFI Misc Device" from PciRoot(0x0)/Pci(0x1,0x2)/Pci(0x0,0x0): Not Found BdsDxe: loading Boot0002 "EFI Internal Shell" from Fv(64074AFE-340A-4BE6-94BA-91B5B4D0F71E)/FvFile(7C04A583-9E3E-4F1C-AD65-E05268D0B4D1) BdsDxe: starting Boot0002 "EFI Internal Shell" from Fv(64074AFE-340A-4BE6-94BA-91B5B4D0F71E)/FvFile(7C04A583-9E3E-4F1C-AD65-E05268D0B4D1) [2J[01;01H[01;01HUEFI Interactive Shell v2.2 EDK II UEFI v2.70 (EDK II, 0x00010000) [1m[33m[40mMapping table[0m[37m[40m [1m[33m[40m BLK0:[0m[37m[40m [1m[37m[40mAlias(s):[0m[37m[40m PciRoot(0x0)/Pci(0x1,0x2)/Pci(0x0,0x0) [1m[33m[40m BLK1:[0m[37m[40m [1m[37m[40mAlias(s):[0m[37m[40m PciRoot(0x0)/Pci(0x1,0x2)/Pci(0x0,0x0)/HD(1,MBR,0xE6E9E590,0x800,0x13FF800) [09;01HPress [1m[37m[40mESC[0m[37m[40m in 5 seconds to skip [1m[33m[40mstartup.nsh[0m[37m[40m or any other key to continue.[09;01HPress [1m[37m[40mESC[0m[37m[40m in 4 seconds to skip [1m[33m[40mstartup.nsh[0m[37m[40m or any other key to continue.[09;01HPress [1m[37m[40mESC[0m[37m[40m in 3 seconds to skip [1m[33m[40mstartup.nsh[0m[37m[40m or any other key to continue.[09;01HPress [1m[37m[40mESC[0m[37m[40m in 2 seconds to skip [1m[33m[40mstartup.nsh[0m[37m[40m or any other key to continue.[09;01HPress [1m[37m[40mESC[0m[37m[40m in 1 seconds to skip [1m[33m[40mstartup.nsh[0m[37m[40m or any other key to continue. [10;01H[1m[33m[40mShell> [0m[37m[40m ----------------------------- 2. About Login with Non-OpenStack Images When I deployed a VM using an image without "OpenStack" in the image name, it booted successfully but I could not login. Is there a way to login to a VM created using an image like this? OpenSUSE image "openSUSE-Leap-15.2.aarch64-NoCloud" https://download.opensuse.org/repositories/Cloud:/Images:/Leap_15.2/images/o... Best regards, Junya Noguchi.
On Tue, Aug 20, 2024, at 1:29 AM, Junya Noguchi (Fujitsu) wrote:
To whom it may concern
I tried to use OpenSUSE aarch64 VM in OpenStack environment but failed. Do you know how to solve one of the following two problems? I look forward to your reply.
1. VM startup of OpenSUSE for OpenStack on ARM fails When I deployed a VM in an OpenStack environment using OpenSUSE 15.1 for OpenStack on ARM, the VM was successfully created but failed to start. When I checked the console log from the browser, it seems that the OS boot process is not completed. What could be the cause of this?
OpenSUSE image "openSUSE-Leap-15.1-OpenStack.aarch64.qcow2" https://download.opensuse.org/repositories/Cloud:/Images:/Leap_15.2/images/o...
Status is Active +--------------------------------------+------------------------------+---------+ | ID | Name | Status | +--------------------------------------+------------------------------+---------+ | eb653de7-68b4-4fd8-9fe5-515d1753fd5f | OpenSUSE-Leap-Arm | ACTIVE |
-------- console log -------- UEFI firmware (version edk2-20230524-4.el9_3.2 built at 00:00:00 on Feb 20 2024) Tpm2SubmitCommand - Tcg2 - Not Found Tpm2GetCapabilityPcrs fail! Tpm2SubmitCommand - Tcg2 - Not Found [2J[01;01H[=3h[2J[01;01H[2J[01;01H[=3h[2J[01;01HBdsDxe: failed to load Boot0001 "UEFI Misc Device" from PciRoot(0x0)/Pci(0x1,0x2)/Pci(0x0,0x0): Not Found BdsDxe: loading Boot0002 "EFI Internal Shell" from Fv(64074AFE-340A-4BE6-94BA-91B5B4D0F71E)/FvFile(7C04A583-9E3E-4F1C-AD65-E05268D0B4D1) BdsDxe: starting Boot0002 "EFI Internal Shell" from Fv(64074AFE-340A-4BE6-94BA-91B5B4D0F71E)/FvFile(7C04A583-9E3E-4F1C-AD65-E05268D0B4D1) [2J[01;01H[01;01HUEFI Interactive Shell v2.2 EDK II UEFI v2.70 (EDK II, 0x00010000) [1m[33m[40mMapping table[0m[37m[40m [1m[33m[40m BLK0:[0m[37m[40m [1m[37m[40mAlias(s):[0m[37m[40m PciRoot(0x0)/Pci(0x1,0x2)/Pci(0x0,0x0) [1m[33m[40m BLK1:[0m[37m[40m [1m[37m[40mAlias(s):[0m[37m[40m
PciRoot(0x0)/Pci(0x1,0x2)/Pci(0x0,0x0)/HD(1,MBR,0xE6E9E590,0x800,0x13FF800) [09;01HPress [1m[37m[40mESC[0m[37m[40m in 5 seconds to skip [1m[33m[40mstartup.nsh[0m[37m[40m or any other key to continue.[09;01HPress [1m[37m[40mESC[0m[37m[40m in 4 seconds to skip [1m[33m[40mstartup.nsh[0m[37m[40m or any other key to continue.[09;01HPress [1m[37m[40mESC[0m[37m[40m in 3 seconds to skip [1m[33m[40mstartup.nsh[0m[37m[40m or any other key to continue.[09;01HPress [1m[37m[40mESC[0m[37m[40m in 2 seconds to skip [1m[33m[40mstartup.nsh[0m[37m[40m or any other key to continue.[09;01HPress [1m[37m[40mESC[0m[37m[40m in 1 seconds to skip [1m[33m[40mstartup.nsh[0m[37m[40m or any other key to continue. [10;01H[1m[33m[40mShell> [0m[37m[40m -----------------------------
This looks like uefi can't find the root device to boot the operating system from. It then falls back to some efi shell system after a timeout. I suspect this image is simply broken. I notice that it is also almost 5 years old, and Leap 15.1 stopped being supported in early 2021. Have you tried a modern image?
2. About Login with Non-OpenStack Images When I deployed a VM using an image without "OpenStack" in the image name, it booted successfully but I could not login. Is there a way to login to a VM created using an image like this?
OpenSUSE image "openSUSE-Leap-15.2.aarch64-NoCloud" https://download.opensuse.org/repositories/Cloud:/Images:/Leap_15.2/images/o...
Somewhat confusingly the NoCloud images appear to be their generic cloud images. According to various Internet forums it seems these images do use cloud-init. To make that work you should ensure that the Nova metadata api service is available or boot the instance with a config drive attached. Then you need to boot the instance with a Nova ssh key selected. With that done you should be able to login via ssh using that key (I don't know what username opensuse uses with cloud-init though). I would try a current NoCloud image and use ssh keys under the assumption that cloud-init will configure that for you. That said OpenSUSE's various forums may have better insight into how to make their images boot successfully (there are mailman mailing lists, a discourse forum server, and a subreddit).
Best regards, Junya Noguchi.
Dear Mr. Boylan Thank you for your reply. I created a VM using "openSUSE-Leap-15.6-aarch64-NoCloud.qcow2" and tried to log in using SSH key, but the login failed. x86 cloud version "openSUSE-Leap-15.2-OpenStack.x86_64.qcow2" could be logged in the same way. ・Image Creation Command $ openstack image create openSUSE-Leap-15.6-aarch64-NoCloud --file openSUSE-Leap-15.6.aarch64-NoCloud.qcow2 --disk-format qcow2 --property architecture=aarch64 --container-format bare ・SSH connection task $ ssh -i "keyname.pub" opensuse@xxx.xxx.xxx.xxx The authenticity of host 'xxx.xxx.xxx.xxx (<no hostip for proxy command>)' can't be established. ED25519 key fingerprint is SHA256:xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx. This key is not known by any other names Are you sure you want to continue connecting (yes/no/[fingerprint])? yes Warning: Permanently added 'xxx.xxx.xxx.xxx' (ED25519) to the list of known hosts. (opensuse@xxx.xxx.xxx.xxx) Password: (opensuse@xxx.xxx.xxx.xxx) Password: (opensuse@xxx.xxx.xxx.xxx) Password: opensuse@xxx.xxx.xxx.xxx: Permission denied (publickey,keyboard-interactive). Best regards, Junya Noguchi. -----Original Message----- From: Clark Boylan <cboylan@sapwetik.org> Sent: Wednesday, August 21, 2024 12:38 AM To: Noguchi, Junya/野口 惇矢 <noguchi.junya@fujitsu.com>; 'openstack-discuss@lists.openstack.org' <openstack-discuss@lists.openstack.org> Subject: Re: VM fails to start in OpenSUSE for aarch64 On Tue, Aug 20, 2024, at 1:29 AM, Junya Noguchi (Fujitsu) wrote:
To whom it may concern
I tried to use OpenSUSE aarch64 VM in OpenStack environment but failed. Do you know how to solve one of the following two problems? I look forward to your reply.
1. VM startup of OpenSUSE for OpenStack on ARM fails When I deployed a VM in an OpenStack environment using OpenSUSE 15.1 for OpenStack on ARM, the VM was successfully created but failed to start. When I checked the console log from the browser, it seems that the OS boot process is not completed. What could be the cause of this?
OpenSUSE image "openSUSE-Leap-15.1-OpenStack.aarch64.qcow2" https://download.opensuse.org/repositories/Cloud:/Images:/Leap_15.2/im ages/openSUSE-Leap-15.1-OpenStack.aarch64.qcow2
Status is Active +--------------------------------------+------------------------------+---------+ | ID | Name | Status | +--------------------------------------+------------------------------+---------+ | eb653de7-68b4-4fd8-9fe5-515d1753fd5f | OpenSUSE-Leap-Arm | ACTIVE |
-------- console log -------- UEFI firmware (version edk2-20230524-4.el9_3.2 built at 00:00:00 on Feb 20 2024) Tpm2SubmitCommand - Tcg2 - Not Found Tpm2GetCapabilityPcrs fail! Tpm2SubmitCommand - Tcg2 - Not Found [2J[01;01H[=3h[2J[01;01H[2J[01;01H[=3h[2J[01;01HBdsDxe: failed to load Boot0001 "UEFI Misc Device" from PciRoot(0x0)/Pci(0x1,0x2)/Pci(0x0,0x0): Not Found BdsDxe: loading Boot0002 "EFI Internal Shell" from Fv(64074AFE-340A-4BE6-94BA-91B5B4D0F71E)/FvFile(7C04A583-9E3E-4F1C-AD6 5-E05268D0B4D1) BdsDxe: starting Boot0002 "EFI Internal Shell" from Fv(64074AFE-340A-4BE6-94BA-91B5B4D0F71E)/FvFile(7C04A583-9E3E-4F1C-AD6 5-E05268D0B4D1) [2J[01;01H[01;01HUEFI Interactive Shell v2.2 EDK II UEFI v2.70 (EDK II, 0x00010000) [1m[33m[40mMapping table[0m[37m[40m [1m[33m[40m BLK0:[0m[37m[40m [1m[37m[40mAlias(s):[0m[37m[40m PciRoot(0x0)/Pci(0x1,0x2)/Pci(0x0,0x0) [1m[33m[40m BLK1:[0m[37m[40m [1m[37m[40mAlias(s):[0m[37m[40m
PciRoot(0x0)/Pci(0x1,0x2)/Pci(0x0,0x0)/HD(1,MBR,0xE6E9E590,0x800,0x13F F800) [09;01HPress [1m[37m[40mESC[0m[37m[40m in 5 seconds to skip [1m[33m[40mstartup.nsh[0m[37m[40m or any other key to continue.[09;01HPress [1m[37m[40mESC[0m[37m[40m in 4 seconds to skip [1m[33m[40mstartup.nsh[0m[37m[40m or any other key to continue.[09;01HPress [1m[37m[40mESC[0m[37m[40m in 3 seconds to skip [1m[33m[40mstartup.nsh[0m[37m[40m or any other key to continue.[09;01HPress [1m[37m[40mESC[0m[37m[40m in 2 seconds to skip [1m[33m[40mstartup.nsh[0m[37m[40m or any other key to continue.[09;01HPress [1m[37m[40mESC[0m[37m[40m in 1 seconds to skip [1m[33m[40mstartup.nsh[0m[37m[40m or any other key to continue. [10;01H[1m[33m[40mShell> [0m[37m[40m -----------------------------
This looks like uefi can't find the root device to boot the operating system from. It then falls back to some efi shell system after a timeout. I suspect this image is simply broken. I notice that it is also almost 5 years old, and Leap 15.1 stopped being supported in early 2021. Have you tried a modern image?
2. About Login with Non-OpenStack Images When I deployed a VM using an image without "OpenStack" in the image name, it booted successfully but I could not login. Is there a way to login to a VM created using an image like this?
OpenSUSE image "openSUSE-Leap-15.2.aarch64-NoCloud" https://download.opensuse.org/repositories/Cloud:/Images:/Leap_15.2/im ages/openSUSE-Leap-15.2.aarch64-NoCloud.qcow2
Somewhat confusingly the NoCloud images appear to be their generic cloud images. According to various Internet forums it seems these images do use cloud-init. To make that work you should ensure that the Nova metadata api service is available or boot the instance with a config drive attached. Then you need to boot the instance with a Nova ssh key selected. With that done you should be able to login via ssh using that key (I don't know what username opensuse uses with cloud-init though). I would try a current NoCloud image and use ssh keys under the assumption that cloud-init will configure that for you. That said OpenSUSE's various forums may have better insight into how to make their images boot successfully (there are mailman mailing lists, a discourse forum server, and a subreddit).
Best regards, Junya Noguchi.
On Thu, Aug 22, 2024, at 2:06 AM, Junya Noguchi (Fujitsu) wrote:
Dear Mr. Boylan
Thank you for your reply.
I created a VM using "openSUSE-Leap-15.6-aarch64-NoCloud.qcow2" and tried to log in using SSH key, but the login failed. x86 cloud version "openSUSE-Leap-15.2-OpenStack.x86_64.qcow2" could be logged in the same way.
・Image Creation Command $ openstack image create openSUSE-Leap-15.6-aarch64-NoCloud --file openSUSE-Leap-15.6.aarch64-NoCloud.qcow2 --disk-format qcow2 --property architecture=aarch64 --container-format bare
It would also be useful to know how you are creating the instance to double check the key is associated properly.
・SSH connection task $ ssh -i "keyname.pub" opensuse@xxx.xxx.xxx.xxx The authenticity of host 'xxx.xxx.xxx.xxx (<no hostip for proxy command>)' can't be established. ED25519 key fingerprint is SHA256:xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx. This key is not known by any other names Are you sure you want to continue connecting (yes/no/[fingerprint])? yes Warning: Permanently added 'xxx.xxx.xxx.xxx' (ED25519) to the list of known hosts. (opensuse@xxx.xxx.xxx.xxx) Password: (opensuse@xxx.xxx.xxx.xxx) Password: (opensuse@xxx.xxx.xxx.xxx) Password: opensuse@xxx.xxx.xxx.xxx: Permission denied (publickey,keyboard-interactive).
This indicates you got an ssh hostkey which means networking was working well enough to connect you to the remote system then authentication failed. Authentication could fail for a number of reasons. Perhaps cloud-init didn't run at all, maybe the ssh key you booted the instance with isn't the same key as the one you tried to authenticate with, or maybe the opensuse username is incorrect for that image's cloud-init setup. You may be able to debug some of that via the instance's console log (as cloud-init should record the work it is doing in that log file). Otherwise, as mentioned previously, you may have better luck using openSUSE's support forums (mailing list, forum, reddit). Also note that when you use `ssh -i` with a public key file instead of a private key file the man page indicates it will look up that key in your ssh-agent. Not sure if the key was loaded in your agent, but maybe you need to provide the private key file instead to make that work.
Best regards, Junya Noguchi.
Dear Mr. Boylan Thank you for your reply. I checked the console log, and Cloud-init started without any problem. [ 20.531419] cloud-init[1236]: Cloud-init v. 23.3-lp156.3.9 running 'init-local' at Mon, 26 Aug 2024 09:30:17 +0000. Up 20.10 seconds. There may be a problem with my openuse username, so I will consider using the openSUSE's support forums. Best regards, Junya Noguchi. -----Original Message----- From: Clark Boylan <cboylan@sapwetik.org> Sent: Friday, August 23, 2024 12:24 AM To: Noguchi, Junya/野口 惇矢 <noguchi.junya@fujitsu.com>; 'openstack-discuss@lists.openstack.org' <openstack-discuss@lists.openstack.org> Subject: Re: VM fails to start in OpenSUSE for aarch64 On Thu, Aug 22, 2024, at 2:06 AM, Junya Noguchi (Fujitsu) wrote:
Dear Mr. Boylan
Thank you for your reply.
I created a VM using "openSUSE-Leap-15.6-aarch64-NoCloud.qcow2" and tried to log in using SSH key, but the login failed. x86 cloud version "openSUSE-Leap-15.2-OpenStack.x86_64.qcow2" could be logged in the same way.
・Image Creation Command $ openstack image create openSUSE-Leap-15.6-aarch64-NoCloud --file openSUSE-Leap-15.6.aarch64-NoCloud.qcow2 --disk-format qcow2 --property architecture=aarch64 --container-format bare
It would also be useful to know how you are creating the instance to double check the key is associated properly.
・SSH connection task $ ssh -i "keyname.pub" opensuse@xxx.xxx.xxx.xxx The authenticity of host 'xxx.xxx.xxx.xxx (<no hostip for proxy command>)' can't be established. ED25519 key fingerprint is SHA256:xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx. This key is not known by any other names Are you sure you want to continue connecting (yes/no/[fingerprint])? yes Warning: Permanently added 'xxx.xxx.xxx.xxx' (ED25519) to the list of known hosts. (opensuse@xxx.xxx.xxx.xxx) Password: (opensuse@xxx.xxx.xxx.xxx) Password: (opensuse@xxx.xxx.xxx.xxx) Password: opensuse@xxx.xxx.xxx.xxx: Permission denied (publickey,keyboard-interactive).
This indicates you got an ssh hostkey which means networking was working well enough to connect you to the remote system then authentication failed. Authentication could fail for a number of reasons. Perhaps cloud-init didn't run at all, maybe the ssh key you booted the instance with isn't the same key as the one you tried to authenticate with, or maybe the opensuse username is incorrect for that image's cloud-init setup. You may be able to debug some of that via the instance's console log (as cloud-init should record the work it is doing in that log file). Otherwise, as mentioned previously, you may have better luck using openSUSE's support forums (mailing list, forum, reddit). Also note that when you use `ssh -i` with a public key file instead of a private key file the man page indicates it will look up that key in your ssh-agent. Not sure if the key was loaded in your agent, but maybe you need to provide the private key file instead to make that work.
Best regards, Junya Noguchi.
participants (2)
-
Clark Boylan
-
Junya Noguchi (Fujitsu)