canonical / ubuntu-desktop-installer

Ubuntu Desktop Installer
GNU General Public License v3.0
538 stars 94 forks source link

Missing OS probe results #1084

Closed jpnurmi closed 2 years ago

jpnurmi commented 2 years ago

Originally posted by @corradoventu in https://github.com/canonical/ubuntu-desktop-installer/issues/1044#issuecomment-1227394004

To debug this problem I installed another Kinetic on /dev/dsb1. Subiquity 603 detected 22.04 on sda3 and 22.10 on sdb1 but ignored all the systems on /dev/nvme0n1p2 nvme0n1p3 nvme0n1p4 nvme0n1p5 nvme0n1p6 Looking at log I see OsProber called for sda3 and sdb1 but never called for partitions in nvme0n1. update-grub is run from Kinetic installed in nvme0n1p6

corrado@corrado-n6-kk-0811:~$ sudo grub-install
[sudo] password for corrado: 
Installing for x86_64-efi platform.
Installation finished. No error reported.
corrado@corrado-n6-kk-0811:~$ sudo update-grub
Sourcing file `/etc/default/grub'
Sourcing file `/etc/default/grub.d/init-select.cfg'
Generating grub configuration file ...
Found background image: aPartn6.png
Found linux image: /boot/vmlinuz-5.15.0-27-generic
Found initrd image: /boot/initrd.img-5.15.0-27-generic
Memtest86+ needs a 16-bit boot, that is not available on EFI, exiting
Warning: os-prober will be executed to detect other bootable partitions.
Its output will be used to detect bootable binaries on them and create new boot entries.
Found Ubuntu 22.04.1 LTS (22.04) on /dev/nvme0n1p2
Found Ubuntu Kinetic Kudu (development branch) (22.10) on /dev/nvme0n1p3
Found Ubuntu Kinetic Kudu (development branch) (22.10) on /dev/nvme0n1p4
Found Ubuntu 20.04.4 LTS (20.04) on /dev/nvme0n1p5
Found Ubuntu 22.04 LTS (22.04) on /dev/sda3
Found Ubuntu Kinetic Kudu (development branch) (22.10) on /dev/sdb1
Adding boot menu entry for UEFI Firmware Settings ...
done
corrado@corrado-n6-kk-0811:~$ 

log.zip Screenshots.zip /media/corrado/backup/canary install 22-08-25/Screenshots/Screenshot from 2022-08-25 07-20-48.png

jpnurmi commented 2 years ago

Earlier OSProbeData.txt in LP#1986676:

    "os": {
        "/dev/nvme0n1p2": {
            "long": "Ubuntu 22.04.1 LTS",
            "label": "Ubuntu",
            "type": "linux",
            "version": "22.04.1"
        },
        "/dev/nvme0n1p3": {
            "long": "Ubuntu Kinetic Kudu",
            "label": "Ubuntu1",
            "type": "linux",
            "version": "22.10"
        },
        "/dev/nvme0n1p4": {
            "long": "Ubuntu Kinetic Kudu",
            "label": "Ubuntu2",
            "type": "linux",
            "version": "22.10"
        },
        "/dev/nvme0n1p5": {
            "long": "Ubuntu 20.04.4 LTS",
            "label": "Ubuntu3",
            "type": "linux",
            "version": "20.04.4"
        },
        "/dev/nvme0n1p6": {
            "long": "Ubuntu Kinetic Kudu",
            "label": "Ubuntu4",
            "type": "linux",
            "version": "22.10"
        },
        "/dev/sda3": {
            "long": "Ubuntu 22.04 LTS",
            "label": "Ubuntu5",
            "type": "linux",
            "version": "22.04"
        }
    }
jpnurmi commented 2 years ago

Notice in ubuntu_desktop_installer.log how a storage v2 response from Subiquity has OS probe info only for 2 partitions (sda3 and sdb1):

StorageResponseV2(
  status: ProbeStatus.DONE,
  errorReport: null,
  disks: [
    Disk(
      id: disk-nvme0n1,
      label: KINGSTON_SKC2000M8250G_50026B72823D1475,
      type: local disk,
      size: 250059350016,
      usageLabels: [],
      partitions: [
        PartitionOrGap.partition(
          size: 268435456,
          number: 1,
          preserve: true,
          wipe: null,
          annotations: [existing, unused ESP, already formatted as vfat],
          mount: null,
          format: vfat,
          grubDevice: false,
          boot: true,
          os: null,
          offset: 1048576,
          estimatedMinSize: -1,
          resize: null,
          path: /dev/nvme0n1p1
        ),
        PartitionOrGap.partition(
          size: 42949672960,
          number: 2,
          preserve: true,
          wipe: null,
          annotations: [existing, already formatted as ext4, not mounted],
          mount: null,
          format: ext4,
          grubDevice: false,
          boot: false,
          os: null,
          offset: 269484032,
          estimatedMinSize: 13588496384,
          resize: null,
          path: /dev/nvme0n1p2
        ),
        PartitionOrGap.partition(
          size: 42949672960,
          number: 3,
          preserve: true,
          wipe: null,
          annotations: [existing, already formatted as ext4, not mounted],
          mount: null,
          format: ext4,
          grubDevice: false,
          boot: false,
          os: null,
          offset: 43219156992,
          estimatedMinSize: 21851275264,
          resize: null,
          path: /dev/nvme0n1p3
        ),
        PartitionOrGap.partition(
          size: 42949672960,
          number: 4,
          preserve: true,
          wipe: null,
          annotations: [existing, already formatted as ext4, not mounted],
          mount: null,
          format: ext4,
          grubDevice: false,
          boot: false,
          os: null,
          offset: 86168829952,
          estimatedMinSize: 25813843968,
          resize: null,
          path: /dev/nvme0n1p4
        ),
        PartitionOrGap.partition(
          size: 42949672960,
          number: 5,
          preserve: true,
          wipe: null,
          annotations: [existing, already formatted as ext4, not mounted],
          mount: null,
          format: ext4,
          grubDevice: false,
          boot: false,
          os: null,
          offset: 129118502912,
          estimatedMinSize: 9787408384,
          resize: null,
          path: /dev/nvme0n1p5
        ),
        PartitionOrGap.partition(
          size: 42949672960,
          number: 6,
          preserve: true,
          wipe: null,
          annotations: [existing, already formatted as ext4, not mounted],
          mount: null,
          format: ext4,
          grubDevice: false,
          boot: false,
          os: null,
          offset: 172068175872,
          estimatedMinSize: 20738736128,
          resize: null,
          path: /dev/nvme0n1p6
        ),
        PartitionOrGap.partition(
          size: 35041312768,
          number: 7,
          preserve: true,
          wipe: null,
          annotations: [existing, already formatted as ext4, not mounted],
          mount: null,
          format: ext4,
          grubDevice: false,
          boot: false,
          os: null,
          offset: 215017848832,
          estimatedMinSize: 468713472,
          resize: null,
          path: /dev/nvme0n1p7
        )
      ],
      okForGuided: true,
      ptable: gpt,
      preserve: true,
      path: /dev/nvme0n1,
      bootDevice: false,
      model: null,
      vendor: null
    ),
    Disk(
      id: disk-sda,
      label: CT500MX500SSD1_21122DB99114,
      type: local disk,
      size: 500107862016,
      usageLabels: [],
      partitions: [
        PartitionOrGap.partition(
          size: 268435456,
          number: 1,
          preserve: true,
          wipe: null,
          annotations: [existing, already formatted as vfat, not mounted],
          mount: null,
          format: vfat,
          grubDevice: false,
          boot: false,
          os: null,
          offset: 1048576,
          estimatedMinSize: -1,
          resize: null,
          path: /dev/sda1
        ),
        PartitionOrGap.partition(
          size: 8589934592,
          number: 2,
          preserve: true,
          wipe: null,
          annotations: [existing, already formatted as swap, unused],
          mount: null,
          format: swap,
          grubDevice: false,
          boot: false,
          os: null,
          offset: 269484032,
          estimatedMinSize: 1048576,
          resize: null,
          path: /dev/sda2
        ),
        PartitionOrGap.partition(
          size: 34359738368,
          number: 3,
          preserve: true,
          wipe: null,
          annotations: [existing, already formatted as ext4, not mounted],
          mount: null,
          format: ext4,
          grubDevice: false,
          boot: false,
          os: OsProber(
            long: Ubuntu 22.04 LTS,
            label: Ubuntu5,
            type: linux,
            subpath: null,
            version: 22.04
          ),
          offset: 8859418624,
          estimatedMinSize: 9489612800,
          resize: null,
          path: /dev/sda3
        ),
        PartitionOrGap.partition(
          size: 34359738368,
          number: 4,
          preserve: true,
          wipe: null,
          annotations: [existing, already formatted as ext4, not mounted],
          mount: null,
          format: ext4,
          grubDevice: false,
          boot: false,
          os: null,
          offset: 43219156992,
          estimatedMinSize: 469762048,
          resize: null,
          path: /dev/sda4
        ),
        PartitionOrGap.partition(
          size: 422528942080,
          number: 5,
          preserve: true,
          wipe: null,
          annotations: [existing, already formatted as ext4, not mounted],
          mount: null,
          format: ext4,
          grubDevice: false,
          boot: false,
          os: null,
          offset: 77578895360,
          estimatedMinSize: 2083520512,
          resize: null,
          path: /dev/sda5
        )
      ],
      okForGuided: true,
      ptable: gpt,
      preserve: true,
      path: /dev/sda,
      bootDevice: false,
      model: CT500MX500SSD1,
      vendor: null
    ),
    Disk(
      id: disk-sdb,
      label: CT500MX500SSD1_21122DA80425,
      type: local disk,
      size: 500107862016,
      usageLabels: [],
      partitions: [
        PartitionOrGap.partition(
          size: 34359738368,
          number: 1,
          preserve: true,
          wipe: null,
          annotations: [existing, already formatted as ext4, not mounted],
          mount: null,
          format: ext4,
          grubDevice: false,
          boot: false,
          os: OsProber(
            long: Ubuntu Kinetic Kudu,
            label: Ubuntu6,
            type: linux,
            subpath: null,
            version: 22.10
          ),
          offset: 1048576,
          estimatedMinSize: 7374635008,
          resize: null,
          path: /dev/sdb1
        ),
        PartitionOrGap.partition(
          size: 34359738368,
          number: 2,
          preserve: true,
          wipe: null,
          annotations: [existing, already formatted as ext4, not mounted],
          mount: null,
          format: ext4,
          grubDevice: false,
          boot: false,
          os: null,
          offset: 34360786944,
          estimatedMinSize: 469762048,
          resize: null,
          path: /dev/sdb2
        ),
        PartitionOrGap.partition(
          size: 431387312128,
          number: 3,
          preserve: true,
          wipe: null,
          annotations: [existing, already formatted as ext4, not mounted],
          mount: null,
          format: ext4,
          grubDevice: false,
          boot: false,
          os: null,
          offset: 68720525312,
          estimatedMinSize: 197694324736,
          resize: null,
          path: /dev/sdb3
        )
      ],
      okForGuided: true,
      ptable: gpt,
      preserve: true,
      path: /dev/sdb,
      bootDevice: false,
      model: CT500MX500SSD1,
      vendor: null
    ),
    Disk(
      id: disk-sdc,
      label: TOSHIBA_DT01ACA100_37PYNGAFS,
      type: local disk,
      size: 1000204886016,
      usageLabels: [],
      partitions: [
        PartitionOrGap.partition(
          size: 34359738368,
          number: 1,
          preserve: true,
          wipe: null,
          annotations: [existing, already formatted as ext4, not mounted],
          mount: null,
          format: ext4,
          grubDevice: false,
          boot: false,
          os: null,
          offset: 1048576,
          estimatedMinSize: 469762048,
          resize: null,
          path: /dev/sdc1
        ),
        PartitionOrGap.partition(
          size: 34359738368,
          number: 2,
          preserve: true,
          wipe: null,
          annotations: [existing, already formatted as ext4, not mounted],
          mount: null,
          format: ext4,
          grubDevice: false,
          boot: false,
          os: null,
          offset: 34360786944,
          estimatedMinSize: 473956352,
          resize: null,
          path: /dev/sdc2
        ),
        PartitionOrGap.partition(
          size: 274876858368,
          number: 3,
          preserve: true,
          wipe: null,
          annotations: [existing, already formatted as ext4, not mounted],
          mount: null,
          format: ext4,
          grubDevice: false,
          boot: false,
          os: null,
          offset: 68720525312,
          estimatedMinSize: 211343638528,
          resize: null,
          path: /dev/sdc3
        ),
        PartitionOrGap.partition(
          size: 656606756864,
          number: 4,
          preserve: true,
          wipe: null,
          annotations: [existing, already formatted as ext4, not mounted],
          mount: null,
          format: ext4,
          grubDevice: false,
          boot: false,
          os: null,
          offset: 343597383680,
          estimatedMinSize: 2304770048,
          resize: null,
          path: /dev/sdc4
        )
      ],
      okForGuided: true,
      ptable: gpt,
      preserve: true,
      path: /dev/sdc,
      bootDevice: false,
      model: TOSHIBA DT01ACA100,
      vendor: null
    ),
    Disk(
      id: disk-sdd,
      label: Generic_USB_SD_Reader_920321111113-0:0,
      type: local disk,
      size: 0,
      usageLabels: [],
      partitions: [],
      okForGuided: true,
      ptable: null,
      preserve: true,
      path: /dev/sdd,
      bootDevice: false,
      model: USB SD Reader,
      vendor: Generic
    ),
    Disk(
      id: disk-sde,
      label: Generic_USB_CF_Reader_920321111113-0:1,
      type: local disk,
      size: 0,
      usageLabels: [],
      partitions: [],
      okForGuided: true,
      ptable: null,
      preserve: true,
      path: /dev/sde,
      bootDevice: false,
      model: USB CF Reader,
      vendor: Generic
    ),
    Disk(
      id: disk-sdf,
      label: Generic_USB_SM_Reader_920321111113-0:2,
      type: local disk,
      size: 0,
      usageLabels: [],
      partitions: [],
      okForGuided: true,
      ptable: null,
      preserve: true,
      path: /dev/sdf,
      bootDevice: false,
      model: USB SM Reader,
      vendor: Generic
      ),
    Disk(
      id: disk-sdg,
      label: Generic_USB_MS_Reader_920321111113-0:3,
      type: local disk,
      size: 0,
      usageLabels: [],
      partitions: [],
      okForGuided: true,
      ptable: null,
      preserve: true,
      path: /dev/sdg,
      bootDevice: false,
      model: USB MS Reader,
      vendor: Generic
    )
  ],
  needRoot: true,
  needBoot: true,
  installMinimumSize: 18484297728
)
dbungert commented 2 years ago

Great analysis. https://github.com/canonical/subiquity/pull/1397

dbungert commented 2 years ago

Related PR merged, I expect that this issue will be resolved on next Subiquity update.

jpnurmi commented 2 years ago

Thanks for the fix! Subiquity has been updated: https://github.com/canonical/ubuntu-desktop-installer/pull/1088