containers / bootc

Boot and upgrade via container images
https://containers.github.io/bootc/
Apache License 2.0
791 stars 84 forks source link

bootc install to-existing-root fails with multiple backing devices #481

Open henrywang opened 7 months ago

henrywang commented 7 months ago

Run podman run --rm --privileged --pid=host -v /:/target -v /dev:/dev -v /var/lib/containers:/var/lib/containers --security-opt label=type:unconfined_t quay.io/redhat_emp1/bootc-workflow-test:jjj0 bootc install to-existing-root on nvidia-jetson-agx-orin board with LVM configured failed with error Installing to filesystem: Found multiple parent devices /dev/mmcblk0 and /dev/nvme0n1; not currently supported.

This nvidia board has one SD/mmc and one nvme as disks. Bootc install does not support two disks?

bootc version: bootc-0.1.9-4.el9.aarch64

fdisk log:

Disk /dev/nvme0n1: 465.76 GiB, 500107862016 bytes, 976773168 sectors
    Disk model: Force MP600
    Units: sectors of 1 * 512 = 512 bytes
    Sector size (logical/physical): 512 bytes / 512 bytes
    I/O size (minimum/optimal): 512 bytes / 512 bytes
    Disklabel type: gpt
    Disk identifier: 957723F9-C6E8-4189-8CF9-D456F380FFFC

    Device         Start       End   Sectors   Size Type
    /dev/nvme0n1p1  2048 976773119 976771072 465.8G Linux LVM

    Disk /dev/mmcblk0: 59.28 GiB, 63652757504 bytes, 124321792 sectors
    Units: sectors of 1 * 512 = 512 bytes
    Sector size (logical/physical): 512 bytes / 512 bytes
    I/O size (minimum/optimal): 512 bytes / 512 bytes
    Disklabel type: gpt
    Disk identifier: E629D5BD-48A9-4041-9A5E-E04E9615BD5A

    Device           Start       End   Sectors  Size Type
    /dev/mmcblk0p1    2048   1230847   1228800  600M EFI System
    /dev/mmcblk0p2 1230848   3327999   2097152    1G Linux filesystem
    /dev/mmcblk0p3 3328000 124319743 120991744 57.7G Linux LVM

    Disk /dev/mmcblk0boot0: 31.5 MiB, 33030144 bytes, 64512 sectors
    Units: sectors of 1 * 512 = 512 bytes
    Sector size (logical/physical): 512 bytes / 512 bytes
    I/O size (minimum/optimal): 512 bytes / 512 bytes

    Disk /dev/mmcblk0boot1: 31.5 MiB, 33030144 bytes, 64512 sectors
    Units: sectors of 1 * 512 = 512 bytes
    Sector size (logical/physical): 512 bytes / 512 bytes
    I/O size (minimum/optimal): 512 bytes / 512 bytes

    Disk /dev/mapper/cs_nvidia--jetson--agx--orin--03-root: 70 GiB, 75161927680 bytes, 146800640 sectors
    Units: sectors of 1 * 512 = 512 bytes
    Sector size (logical/physical): 512 bytes / 512 bytes
    I/O size (minimum/optimal): 512 bytes / 512 bytes

    Disk /dev/mapper/cs_nvidia--jetson--agx--orin--03-swap: 30.74 GiB, 33009172480 bytes, 64471040 sectors
    Units: sectors of 1 * 512 = 512 bytes
    Sector size (logical/physical): 512 bytes / 512 bytes
    I/O size (minimum/optimal): 512 bytes / 512 bytes

    Disk /dev/mapper/cs_nvidia--jetson--agx--orin--03-home: 422.71 GiB, 453878218752 bytes, 886480896 sectors
    Units: sectors of 1 * 512 = 512 bytes
    Sector size (logical/physical): 512 bytes / 512 bytes
    I/O size (minimum/optimal): 512 bytes / 512 bytes
cgwalters commented 7 months ago

Ah yes, as the comment in the code says that's generally only required for a grub installation.

Yeah, we should be able to fix this by making the backing_device an Option<T> all the way down into the bootloader install.

ravanelli commented 4 months ago

umm, I could not reproduce it working with bootc-0.1.11-1.fc40.x86_64 andbootc-0.1.9-3.el9_4.x86_64 Here are the disk configs I tried:

[root@ip-10-0-142-129 ec2-user]# lsblk
NAME          MAJ:MIN RM  SIZE RO TYPE MOUNTPOINTS
xvda          202:0    0   30G  0 disk
├─xvda1       202:1    0    1M  0 part
├─xvda2       202:2    0  200M  0 part /boot/efi
├─xvda3       202:3    0    1G  0 part /boot
└─xvda4       202:4    0 28.8G  0 part /
xvdb          202:16   0   30G  0 disk
└─vg0-lv_data 253:0    0   20G  0 lvm

And

 [root@bootc2 rravanel]# fdisk -l
Disk /dev/nvme0n1: 375 GiB, 402653184000 bytes, 98304000 sectors
Disk model: nvme_card
Units: sectors of 1 * 4096 = 4096 bytes
Sector size (logical/physical): 4096 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes
Disklabel type: dos
Disk identifier: 0xd621464b
´´´

Device         Boot Start      End  Sectors  Size Id Type
/dev/nvme0n1p1        256 98303999 98303744  375G 8e Linux LVM

Disk /dev/sda: 40 GiB, 42949672960 bytes, 83886080 sectors
Disk model: PersistentDisk  
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes
Disklabel type: gpt
Disk identifier: CB836FEE-A4A9-489D-B8D7-095FB5C2640A

Device      Start      End  Sectors  Size Type
/dev/sda1    2048   411647   409600  200M EFI System
/dev/sda2  411648 83884127 83472480 39.8G Linux filesystem
/dev/sda3      34     2047     2014 1007K Linux LVM

@henrywang are you still seen it for the new version of bootc? I will give it a try with bootc-0.1.9-4.el9 as well.

djach7 commented 1 month ago

@henrywang have you run into this again recently? I haven't been able to replicate it yet, although I don't have access to the exact hardware you had the issue on.