verified noble-proposed successfully

1, Use noble squashfs (/var/snap/mas/common/mas/image storage/5f64c83)
in MAAS to create noble rootfs

ssh -J hua@x99 [email protected] 'sudo cat 
/var/snap/maas/common/maas/image-storage/5f64c83' |ssh hua@x99 'cat > 
/tmp/lp2147499-noble.squashfs'
sha256sum /tmp/lp2147499-noble.squashfs

sudo lvcreate -L 30G -n lp2147499-noble-sru cinder-volumes
sudo mkfs.ext4 -L noble-sru-root /dev/cinder-volumes/lp2147499-noble-sru
sudo mkdir -p /mnt/lp2147499-noble-sru
sudo mount /dev/cinder-volumes/lp2147499-noble-sru /mnt/lp2147499-noble-sru
sudo lvs cinder-volumes/lp2147499-noble-sru -o lv_name,lv_size,lv_attr,devices

#unzip noble rootfs
ROOT=/mnt/lp2147499-noble-sru
sudo unsquashfs -f -d "$ROOT" /tmp/lp2147499-noble.squashfs
grep -E '^(PRETTY_NAME|VERSION_ID|VERSION_CODENAME)=' "$ROOT/etc/os-release"

UUID=$(sudo blkid /dev/cinder-volumes/lp2147499-noble-sru | awk -F 'UUID=' 
'{print $2}' |awk -F'"' '{print $2}')
echo lp2147499-noble-sru |sudo tee "$ROOT/etc/hostname"
echo "UUID=$UUID / ext4 defaults 0 1" | sudo tee -a "$ROOT/etc/fstab"

2, install noble-proposed package

sudo cp /tmp/open-iscsi_2.1.9-3ubuntu5.5_amd64.deb "$ROOT/tmp/"

sudo mount --rbind /dev "$ROOT/dev"
sudo mount --make-rslave "$ROOT/dev"
sudo mount -t proc proc "$ROOT/proc"
sudo mount -t sysfs sys "$ROOT/sys"
sudo mount --rbind /run "$ROOT/run"
sudo mount --make-rslave "$ROOT/run"

printf '#!/bin/sh\nexit 101\n' |sudo tee "$ROOT/usr/sbin/policy-rc.d"
sudo chmod 0755 "$ROOT/usr/sbin/policy-rc.d"

sudo chroot "$ROOT" apt-get update
sudo env DEBIAN_FRONTEND=noninteractive chroot "$ROOT" apt-get install -y 
linux-generic
sudo env DEBIAN_FRONTEND=noninteractive chroot "$ROOT" dpkg -i 
/tmp/open-iscsi_2.1.9-3ubuntu5.5_amd64.deb
sudo chroot "$ROOT" update-initramfs -u -k all
sudo chroot "$ROOT" dpkg-query -W -f='${Package} ${Version} ${Architecture}\n' 
open-iscsi libopeniscsiusr linux-generic

#cleanup
sudo rm -f "$ROOT/usr/sbin/policy-rc.d"
sudo umount "$ROOT/run"
sudo umount -R "$ROOT/sys"
sudo umount "$ROOT/proc"
sudo umount "$ROOT/dev/pts"
sudo umount "$ROOT/dev"

3, verify initramfs

sudo rm -rf /tmp/lp2147499-noble-initrd
mkdir /tmp/lp2147499-noble-initrd
sudo unmkinitramfs "$ROOT/boot/initrd.img-6.8.0-142-generic" 
/tmp/lp2147499-noble-initrd
INSTALLED="$ROOT/usr/share/initramfs-tools/scripts/local-top/iscsi"
EMBEDDED="/tmp/lp2147499-noble-initrd/main/scripts/local-top/iscsi"
sudo sha256sum "$INSTALLED" "$EMBEDDED"
sudo cmp -s "$INSTALLED" "$EMBEDDED"
echo $?

4, prepare vmlinuz and initrd 
SERVE=/tmp/lp2147499-noble-http
mkdir -p "$SERVE"
sudo cp "$ROOT/boot/vmlinuz-6.8.0-142-generic" "$SERVE/noble-native-vmlinuz"
sudo cp "$ROOT/boot/initrd.img-6.8.0-142-generic" 
"$SERVE/noble-native-initrd.img"
sudo chown hua:hua "$SERVE"/*

cat << EOF |tee noble-native.ipxe
#!ipxe
kernel http://172.16.1.1:8082/noble-native-vmlinuz ip=none iscsi_auto 
root=UUID=ee958b0e-9feb-476a-bf5f-1807818de493 ro rootwait rootdelay=20 
console=ttyS0,115200n8 break=init cloud-init=disabled
initrd http://172.16.1.1:8082/noble-native-initrd.img
boot
EOF

cp noble-native.ipxe "$SERVE/"
cd "$SERVE"
python3 -m http.server 8082 --bind 172.16.1.1

5, create separate LIO target
sudo umount /mnt/lp2147499-noble-sru
sudo targetcli /backstores/block create name=lp2147499-noble-sru 
dev=/dev/cinder-volumes/lp2147499-noble-sru
sudo targetcli /iscsi create iqn.2026-09.local.lp2147499:noble
sudo targetcli /iscsi/iqn.2026-09.local.lp2147499:noble/tpg1/luns create 
/backstores/block/lp2147499-noble-sru
sudo targetcli /iscsi/iqn.2026-09.local.lp2147499:noble/tpg1/acls create 
iqn.2026-09.local.lp2147499:noble-vm
sudo targetcli saveconfig

6, cmdline

CMD="ifclose net0 && ifclose net1 && \
set initiator-iqn iqn.2026-09.local.lp2147499:noble-vm && \
set net1/ip 172.16.1.202 && \
set net1/netmask 255.255.255.0 && \
set net1/gateway 172.16.1.1 && \
ifopen net1 && \
sanhook iscsi:172.16.1.1:::0:iqn.2026-09.local.lp2147499:noble && \
chain http://172.16.1.1:8082/noble-native.ipxe || shell"

sudo virt-install \
    --name lp2147499-noble-sru \
    --memory 4096 \
    --vcpus 2 \
    --cpu host-passthrough \
    --os-variant ubuntu24.04 \
    --import \
    --disk none \
    --network bridge=vsw0,model=virtio,mac=52:54:00:21:47:01 \
    --network bridge=vsw1,model=virtio,mac=52:54:00:21:47:02 \
    --network bridge=vsw2,model=virtio,mac=52:54:00:21:47:03 \
    --network bridge=vsw3,model=virtio,mac=52:54:00:21:47:04 \
    --graphics none \
    --console pty,target.type=serial \
    --boot kernel=/usr/lib/ipxe/ipxe.lkrn,kernel_args="$CMD" \
    --print-xml |
sudo virsh define /dev/stdin

sudo virsh start lp2147499-noble-sru
sudo virsh console lp2147499-noble-sru

7,  test in initramfs shell, it worked well

uname -r
cat /proc/cmdline
iscsistart -f > /tmp/ibft.txt
grep -E 'bootproto|ipaddress|subnet_mask|gateway|net_ifacename' /tmp/ibft.txt

mkdir -p /run/initramfs /run/netplan
/scripts/local-top/iscsi
cat /run/net-enp2s0.conf

. /scripts/functions
netinfo_to_netplan /run/netplan /run/net-enp2s0.conf
cat /run/netplan/enp2s0.yaml

#here is the output
network:
  version: 2
  ethernets:
    enp2s0:
      addresses:
        - "172.16.1.202/24"
      gateway4: "172.16.1.1"

-- 
You received this bug notification because you are a member of Ubuntu
Bugs, which is subscribed to Ubuntu.
https://bugs.launchpad.net/bugs/2147499

Title:
  [SRU] open-iscsi initramfs: preserve static iBFT semantics while
  fixing netplan rendering for MAAS boot

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/open-iscsi/+bug/2147499/+subscriptions


-- 
ubuntu-bugs mailing list
[email protected]
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs

Reply via email to