containers / bootc

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

[s390x] Reboot failed after bootc switch #824

Open henrywang opened 1 day ago

henrywang commented 1 day ago

bootc switch succeed but reboot failed with the following error. Looks the required OSTree root does not change to new one(bootc switch one).

ostree-prepare-root.service   
 - OSTree Prepare OS/...  
[    2.222936] ostree-prepare-root[754]: ostree-prepare-root: Couldn't find specified OSTree root '/sysroot//ostree/boot.1/default/b4cc77944674566ca72921ec06ceed86d7d946d9ee55a6966d6388fa4a8a3366/0': No such file or directory 
[ FAILED ] Failed to start         

Detailed console log: http://lab-02.hosts.prod.upshift.rdu2.redhat.com/beaker/logs/recipes/17210+/17210771/console.log

bootc install to-existing-root works:

Writing manifest to image destination
Installing image: docker://quay.io/fedora/fedora-bootc:41
Digest: sha256:c5045a3ee6d2f546348caaaa4f39cfe5a869e4367611a0304e94ca9d26444913
----------------------------
WARNING: This operation will OVERWRITE THE BOOTED HOST ROOT FILESYSTEM and is NOT REVERSIBLE.
Waiting 20s to continue; interrupt (Control-C) to cancel.
----------------------------
Installing to `dos` format partitions is not recommended
Initializing ostree layout
layers already present: 0; layers needed: 65 (673.1 MB)
Fetched layers: 641.92 MiB in 24 seconds (26.58 MiB/s)
Deploying container image...done
Injected: etc/tmpfiles.d/bootc-root-ssh.conf
running zipl to install bootloader on /dev/vda
> zipl --target /target/boot --image /target/boot/ostree/default-b4cc77944674566ca72921ec06ceed86d7d946d9ee55a6966d6388fa4a8a3366/vmlinuz-6.11.2-300.fc41.s390x --ramdisk /target/boot/ostree/default-b4cc77944674566ca72921ec06ceed86d7d946d9ee55a6966d6388fa4a8a3366/initramfs-6.11.2-300.fc41.s390x.img --parameters root=UUID=fa47874c-b599-4c86-be66-8199a9bd7efe rd.lvm.lv=fedora_s390x-kvm-005/root rw boot=UUID=76d436fb-0212-4bfe-bb65-f2084d535681 ostree=/ostree/boot.1/default/b4cc77944674566ca72921ec06ceed86d7d946d9ee55a6966d6388fa4a8a3366/0 --targetbase /dev/vda --targettype SCSI --targetblocksize 512 --targetoffset 2048 --add-files --verbose
Looking for components in '/lib/s390-tools'
Secure boot support: no
Target device information
  Device..........................: fc:00
  Device name.....................: vda *)
  Device driver name..............: virtblk
  Type............................: disk device
  Disk layout.....................: SCSI disk layout *)
  Geometry - start................: 2048 *)
  File system block size..........: 4096
  Physical block size.............: 512 *)
  Device size in physical blocks..: 2097152
  *) Data provided by user.
Building bootmap in '/target/boot' (files will be added to bootmap file)
Adding IPL section
  initial ramdisk...: /target/boot/ostree/default-b4cc77944674566ca72921ec06ceed86d7d946d9ee55a6966d6388fa4a8a3366/initramfs-6.11.2-300.fc41.s390x.img
  kernel image......: /target/boot/ostree/default-b4cc77944674566ca72921ec06ceed86d7d946d9ee55a6966d6388fa4a8a3366/vmlinuz-6.11.2-300.fc41.s390x
  kernel parmline...: 'root=UUID=fa47874c-b599-4c86-be66-8199a9bd7efe rd.lvm.lv=fedora_s390x-kvm-005/root rw boot=UUID=76d436fb-0212-4bfe-bb65-f2084d535681 ostree=/ostree/boot.1/default/b4cc77944674566ca72921ec06ceed86d7d946d9ee55a6966d6388fa4a8a3366/0'
  component address:
    heap area.......: 0x00002000-0x00005fff
    stack area......: 0x0000f000-0x0000ffff
    internal loader.: 0x0000a000-0x0000dfff
    parameters......: 0x00009000-0x000091ff
    kernel image....: 0x00010000-0x00d97fff
    parmline........: 0x00d98000-0x00d981ff
    initial ramdisk.: 0x00db0000-0x0401e1ff
    environment blk.: 0x00da8000-0x00da8fff
zIPL environment block content:
Preparing boot device for LD-IPL: vda.
Detected SCSI PCBIOS disk layout.
Writing SCSI master boot record.
Syncing disks...
Done.
Installation complete!
cgwalters commented 8 hours ago

My best guess here is that we're writing to the wrong /boot or so...maybe in this job let's gather the output of lsblk before we reboot?