0

I'm trying to install ubuntu 20.04 on my virtual machine (using qemu-5.1.0).
This virtual machine is based on arm/virt machine from qemu and I added a peripheral device and changed the address map according to our SoC being developed. The installation is halted at the early stage so I thought maybe if I rebuild the ubuntu (the linux kernel) with some prints or debug mode and use it for the ubuntu install, I could analyze what is wrong.
The .iso image I used for ubuntu 20.04 is from http://ports.ubuntu.com/ubuntu-ports/dists/focal-updates/main/installer-arm64/current/legacy-images/netboot/mini.iso
and the procedure is based on this web page : https://futurewei-cloud.github.io/ARM-Datacenter/qemu/how-to-launch-aarch64-vm/
The image is installed ok on original 'virt' machine and here is the outcome of the software version :

ckim@virt-ubuntu-20:~$ uname -r
    5.4.0-74-generic
ckim@virt-ubuntu-20:~$ uname -a
    Linux virt-ubuntu-20 5.4.0-74-generic #83-Ubuntu SMP Sat May 8 02:34:05 UTC 2021 aarch64 aarch64 aarch64 GNU/Linux
ckim@virt-ubuntu-20:~$ 
ckim@virt-ubuntu-20:~$ lsb_release -a
    No LSB modules are available.
    Distributor ID: Ubuntu
    Description:    Ubuntu 20.04.2 LTS
    Release:    20.04
    Codename:   focal

If I mount the mini.iso file (with -o loop) and see inside, of course there is no linux or ubuntu source I can use to build it anew. So I clone the ubuntu source from http://kernel.ubuntu.com/git/ubuntu/ubuntu-focal.git and did git clone git://kernel.ubuntu.com/ubuntu/ubuntu-focal.git. When I do git tag I can see below tags.

Ubuntu-5.4-5.4.0-10.13
Ubuntu-5.4-5.4.0-11.14
Ubuntu-5.4-5.4.0-12.15
Ubuntu-5.4-5.4.0-13.16
Ubuntu-5.4-5.4.0-14.17
Ubuntu-5.4-5.4.0-15.18
Ubuntu-5.4.0-15.18
Ubuntu-5.4.0-16.19
Ubuntu-5.4.0-17.20
Ubuntu-5.4.0-17.21
Ubuntu-5.4.0-18.22
Ubuntu-5.4.0-19.23
Ubuntu-5.4.0-20.24
Ubuntu-5.4.0-21.25
Ubuntu-5.4.0-22.26
Ubuntu-5.4.0-23.27
Ubuntu-5.4.0-24.28
Ubuntu-5.4.0-25.29
Ubuntu-5.4.0-26.30
Ubuntu-5.4.0-28.32
Ubuntu-5.4.0-29.33
Ubuntu-5.4.0-30.34
Ubuntu-5.4.0-31.35
Ubuntu-5.4.0-32.36
Ubuntu-5.4.0-33.37
Ubuntu-5.4.0-34.38
Ubuntu-5.4.0-37.41
Ubuntu-5.4.0-38.42
Ubuntu-5.4.0-39.43
Ubuntu-5.4.0-40.44
Ubuntu-5.4.0-41.45
Ubuntu-5.4.0-42.46
Ubuntu-5.4.0-43.47
Ubuntu-5.4.0-44.48
Ubuntu-5.4.0-45.49
Ubuntu-5.4.0-46.50
Ubuntu-5.4.0-47.51
Ubuntu-5.4.0-48.52
Ubuntu-5.4.0-49.53
Ubuntu-5.4.0-51.56
Ubuntu-5.4.0-52.57
Ubuntu-5.4.0-53.59
Ubuntu-5.4.0-54.60
Ubuntu-5.4.0-55.61
Ubuntu-5.4.0-56.62
Ubuntu-5.4.0-57.63
Ubuntu-5.4.0-58.64
Ubuntu-5.4.0-59.65
Ubuntu-5.4.0-60.67
Ubuntu-5.4.0-61.69
Ubuntu-5.4.0-62.70
Ubuntu-5.4.0-63.71
Ubuntu-5.4.0-64.72
Ubuntu-5.4.0-65.73
Ubuntu-5.4.0-66.74
Ubuntu-5.4.0-67.75
Ubuntu-5.4.0-68.76
Ubuntu-5.4.0-70.78
Ubuntu-5.4.0-71.79
Ubuntu-5.4.0-72.80
Ubuntu-5.4.0-73.82
Ubuntu-5.4.0-74.83
Ubuntu-5.4.0-75.84
Ubuntu-5.4.0-76.85
Ubuntu-5.4.0-8.11
Ubuntu-5.4.0-9.12
Ubuntu-hwe-5.11-5.11.0-16.17_20.04.2
Ubuntu-hwe-5.11-5.11.0-16.17_20.04.4
Ubuntu-hwe-5.11-5.11.0-16.17_20.04.5
Ubuntu-hwe-5.11-5.11.0-20.21_20.04.1
Ubuntu-hwe-5.8-5.8.0-18.19_20.04.2
Ubuntu-hwe-5.8-5.8.0-18.19_20.04.3
Ubuntu-hwe-5.8-5.8.0-19.20_20.04.1
Ubuntu-hwe-5.8-5.8.0-19.20_20.04.2
Ubuntu-hwe-5.8-5.8.0-19.20_20.04.3
Ubuntu-hwe-5.8-5.8.0-19.20_20.04.4
Ubuntu-hwe-5.8-5.8.0-20.21_20.04.1
Ubuntu-hwe-5.8-5.8.0-21.22_20.04.1
Ubuntu-hwe-5.8-5.8.0-22.23_20.04.1
Ubuntu-hwe-5.8-5.8.0-23.24_20.04.1
Ubuntu-hwe-5.8-5.8.0-25.26_20.04.1
Ubuntu-hwe-5.8-5.8.0-28.30_20.04.1
Ubuntu-hwe-5.8-5.8.0-29.31_20.04.1
Ubuntu-hwe-5.8-5.8.0-30.32_20.04.1
Ubuntu-hwe-5.8-5.8.0-31.33_20.04.1
Ubuntu-hwe-5.8-5.8.0-32.34_20.04.1
Ubuntu-hwe-5.8-5.8.0-33.36_20.04.1
Ubuntu-hwe-5.8-5.8.0-34.37_20.04.1
Ubuntu-hwe-5.8-5.8.0-34.37_20.04.2
Ubuntu-hwe-5.8-5.8.0-36.40_20.04.1
Ubuntu-hwe-5.8-5.8.0-37.42_20.04.1
Ubuntu-hwe-5.8-5.8.0-38.43_20.04.1
Ubuntu-hwe-5.8-5.8.0-39.44_20.04.1
Ubuntu-hwe-5.8-5.8.0-40.45_20.04.1
Ubuntu-hwe-5.8-5.8.0-41.46_20.04.1
Ubuntu-hwe-5.8-5.8.0-42.47_20.04.1
Ubuntu-hwe-5.8-5.8.0-43.49_20.04.1
Ubuntu-hwe-5.8-5.8.0-44.50_20.04.1
Ubuntu-hwe-5.8-5.8.0-45.51_20.04.1
Ubuntu-hwe-5.8-5.8.0-48.54_20.04.1
Ubuntu-hwe-5.8-5.8.0-49.55_20.04.1
Ubuntu-hwe-5.8-5.8.0-50.56_20.04.1
Ubuntu-hwe-5.8-5.8.0-51.57_20.04.1
Ubuntu-hwe-5.8-5.8.0-52.59_20.04.1
Ubuntu-hwe-5.8-5.8.0-53.60_20.04.1
Ubuntu-hwe-5.8-5.8.0-54.61_20.04.1
Ubuntu-hwe-5.8-5.8.0-55.62_20.04.1
Ubuntu-hwe-5.8-5.8.0-56.63_20.04.1
Ubuntu-hwe-5.8-5.8.0-57.64_20.04.1
Ubuntu-raspi-5.4.0-1007.7
Ubuntu-raspi-5.4.0-1008.8
Ubuntu-raspi-5.4.0-1009.9
Ubuntu-raspi2-5.4-5.4.0-1001.1
Ubuntu-raspi2-5.4-5.4.0-1002.2
Ubuntu-raspi2-5.4.0-1003.3
Ubuntu-raspi2-5.4.0-1004.4
Ubuntu-raspi2-5.4.0-1005.5
Ubuntu-raspi2-5.4.0-1006.6
v5.0
v5.11
v5.4
v5.8

To use the matching version with the mini.iso above, what version should I use?
Can I just use 5.4.0-74-83?

12
  • Maybe this will give you some ideas as to the larger issue. Granted, it is a bit left of target (not sure if youre using ubiquity, or if you even can use it for VM install), but meant to maybe give you a couple more strings to pull at. It is honestly over my head. The link is part of a series on debugging Ubuntu installation.
    – Nate T
    Jun 22 at 4:27
  • You should check the package version (dpkg -l linux-generic, apt-cache policy linux-image-generic, etc.). That version should match the tag closely.
    – muru
    Jun 22 at 4:50
  • @muru Using dpkg -l linux-generic I found the installed kernel version is 5.4.0.74.77. The ubuntu source git shows kernel ubuntu-5.4.0.83 is dated 2021.5.7, very recent. I guess the kernel had been updated during the installation(I saw the ubuntu was getting some packages using apt during installation). Hmm. if you have any suggestion on how I can know out the original version of the mini.iso, please tell me. Thanks!
    – Chan Kim
    Jun 22 at 5:05
  • @NateT thanks but my problem is occurring much earlier before kernel starts so I can't examine files. The last print was from drivers/firmware/efi/libstub/fdt.c. I'm not sure if I can add some print or debug-run this..
    – Chan Kim
    Jun 22 at 5:08
  • The manifest says kernel-image-5.4.0-42-generic-di 5.4.0-42.46 arm64, which matches this tag
    – muru
    Jun 22 at 5:15
0

Ubuntu images are generally accompanied by manifest files listing what's in them. In this case, there's a combined manifest file for the various installation options in that tree which has:

[...]
netboot/mini.iso
    [...]
    kernel-image-5.4.0-42-generic-di 5.4.0-42.46 arm64
    kernel-signed-image-5.4.0-42-generic-di 5.4.0-42.46 arm64
[...]

So the mini.iso has kernel package version of 5.4.0-42.46 (whose tag is present in git).

1

You need any distribution of Linux 5.8.0, preferably the newest

Ubuntu 20.04.1 released with 5.4.0, and 20.04.2 released with 5.8.0.

Your image is 20.04.2, as the output in your question suggests.

As for the number after the dash, it refers to different (or updates) distributions of that same kernel, which were paired with the same release, so your best bet is to go with the newest version (regarding the last number only) so you get all of the security upgrades. That said, most of the the newer versions should at least "play nice."

For example, I am running 20.04.2 LTS. Currently, I am on 5.8.0 - 55, even though I installed it months ago, and created the iso thumb drive almost a year ago.

2
  • yes I understand what you mean, but my goal is to replicate the install procedure from the mini.iso (with just prints added or debug info added). This is to debug the install fail to my virtual machine. My virtual machine should have some problem related to configuration (hence fdt or acpi table generation problem).
    – Chan Kim
    Jun 22 at 6:40
  • 1
    @ChanKim [this] is what was confusing me. Posting here just so people don't see the comments vs answer and distrust the info in the future.
    – Nate T
    Jun 22 at 7:12

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.