Score:0

what ubuntu source version should I use to add some debug prints? (for ubuntu boot-up debug)

za flag

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?

Nate T avatar
it flag
Maybe [this](https://wiki.ubuntu.com/DebuggingUbiquity) 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.
muru avatar
us flag
You should check the package version (`dpkg -l linux-generic`, `apt-cache policy linux-image-generic`, etc.). That version should match the tag closely.
za flag
@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!
za flag
@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..
muru avatar
us flag
The [manifest](http://ports.ubuntu.com/ubuntu-ports/dists/focal-updates/main/installer-arm64/current/legacy-images/MANIFEST.udebs) says `kernel-image-5.4.0-42-generic-di 5.4.0-42.46 arm64`, which matches [this tag](https://kernel.ubuntu.com/git/ubuntu/ubuntu-focal.git/commit/?h=Ubuntu-5.4.0-42.46&id=98c4545e2d65ed35c31056f72c4da20f6b5ea0d0)
Nate T avatar
it flag
There are 2 versions of 20.04. You have the second. 5.4 was released with the first. Although, I believe I've booted mine (the 2nd) with 5.4 via grub advanced boot. This last part could be wrong, though. Atm, grub only lets me boot with 5.8.0 - 54 or 55.
za flag
@muru Ah, that seems to be the initial kernel image used in the mini.iso. and I learned how to use the manifest file. Thanks alot!
za flag
@NateT I just guessed from the date of each version (in the ubuntu source git, I checkout and see the date). I understand the installer(.iso)'s initrd has a kernel image inside (from 5.4.0-42.46) and ubuntu has updated it during the install I guess.
Nate T avatar
it flag
As I said before, over my head... I, on the other hand, learned that a linux manifest exists, which I am sure will come in handy later XD
za flag
@NateT no, it came from the web site. This manifest info was provided with the iso. I realized this from the comment muru wrote me.
za flag
@muru Please write a simple answer with your comments above so that I can select it as 'selected answer' because that was the info I wanted.
za flag
@NateT sorry for not choosing your answer. It was helpful though. just I wanted to run the same installation with debug info on my virtual machine, the same installation iso runs ok for another virtual machine. And people get good information from unselected answers so you didn't have to delete your answer I think.
Score:1
it flag

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.

za flag
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).
Nate T avatar
it flag
@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.
Score:0
us flag

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).

mangohost

Post an answer

Most people don’t grasp that asking a lot of questions unlocks learning and improves interpersonal bonding. In Alison’s studies, for example, though people could accurately recall how many questions had been asked in their conversations, they didn’t intuit the link between questions and liking. Across four studies, in which participants were engaged in conversations themselves or read transcripts of others’ conversations, people tended not to realize that question asking would influence—or had influenced—the level of amity between the conversationalists.