Public bug reported: === Begin SRU Template === [Impact] MAAS has an interest in booting entirely ephemerally without iscsi root. The package cloud-initramfs-rooturl supports booting with root coming from a url. root=http://..../squashfs
This function will be used to pxe boot into a RAM only system with no dependency on the network. [Test Case] 1. make sure squashfs module is in the initramfs squashfs module is not automatically added to initramfs in precise. Just ensure that it is there. $ echo "manual_add_modules squashfs" | sudo tee /etc/initramfs-tools/hooks/squashfs 2. install cloud-initramfs-rooturl sudo apt-get update sudo apt-get install cloud-initramfs-rooturl 3. collect the kernel and newly generated initramfs sudo cat /boot/vmlinu?-$(uname -r) > kernel cp /boot/initrd.img-$(uname -r) initrd 4. Download a squashfs image or a .tar.xz image rel="xenial" burl="http://cloud-images.ubuntu.com/daily/server" file="$rel-server-cloudimg-amd64-root.tar.xz" file="$rel-server-cloudimg-amd64.squashfs" wget "$burl/$rel/current/$file" -O "$file" 5. run a web server python -m SimpleHTTPServer 9999 & 6. create a seed disk for cloud-init. $ cat > my-user-data <<EOF #cloud-config password: passw0rd chpasswd: { expire: False } ssh_pwauth: True $ echo "instance-id: $(uuidgen || echo i-abcdefg)" > my-meta-data $ cloud-localds seed.img my-user-data my-meta-data 7. Boot a vm using the kernel, initrd and url. cmdline="root=http://10.0.2.2:9999/$file console=ttyS0 -v " cmdline="${cmdline} overlayroot=tmpfs" qemu-system-x86_64 -enable-kvm \ -device virtio-net-pci,netdev=net00 \ -netdev type=user,id=net00 \ -drive if=virtio,file=seed.img \ -m 1G -nographic \ -kernel kernel -initrd initrd \ -append "root=$cmdline" [Regression Potential] Low. This is adding a package previously not present. [Other Info] === End SRU Template === ** Affects: cloud-initramfs-tools (Ubuntu) Importance: Medium Status: Confirmed ** Affects: cloud-initramfs-tools (Ubuntu Precise) Importance: Medium Status: Confirmed ** Affects: cloud-initramfs-tools (Ubuntu Trusty) Importance: Medium Status: Confirmed ** Affects: cloud-initramfs-tools (Ubuntu Xenial) Importance: Medium Status: Confirmed ** Affects: cloud-initramfs-tools (Ubuntu Yakkety) Importance: Medium Status: Confirmed ** Also affects: cloud-initramfs-tools (Ubuntu Yakkety) Importance: Undecided Status: New ** Also affects: cloud-initramfs-tools (Ubuntu Precise) Importance: Undecided Status: New ** Also affects: cloud-initramfs-tools (Ubuntu Xenial) Importance: Undecided Status: New ** Also affects: cloud-initramfs-tools (Ubuntu Trusty) Importance: Undecided Status: New ** Changed in: cloud-initramfs-tools (Ubuntu Precise) Status: New => Confirmed ** Changed in: cloud-initramfs-tools (Ubuntu Trusty) Status: New => Confirmed ** Changed in: cloud-initramfs-tools (Ubuntu Xenial) Status: New => Confirmed ** Changed in: cloud-initramfs-tools (Ubuntu Yakkety) Status: New => Confirmed ** Changed in: cloud-initramfs-tools (Ubuntu) Status: New => Confirmed ** Changed in: cloud-initramfs-tools (Ubuntu) Importance: Undecided => Medium ** Changed in: cloud-initramfs-tools (Ubuntu Precise) Importance: Undecided => Medium ** Changed in: cloud-initramfs-tools (Ubuntu Trusty) Importance: Undecided => Medium ** Changed in: cloud-initramfs-tools (Ubuntu Xenial) Importance: Undecided => Medium ** Changed in: cloud-initramfs-tools (Ubuntu Yakkety) Importance: Undecided => Medium ** Description changed: === Begin SRU Template === [Impact] MAAS has an interest in booting entirely ephemerally without iscsi root. The package cloud-initramfs-rooturl supports booting with root coming from a url. - root=http://..../squashfs + root=http://..../squashfs This function will be used to pxe boot into a RAM only system with no dependency on the network. [Test Case] 1. make sure squashfs module is in the initramfs - squashfs module is not automatically added to initramfs in precise. - Just ensure that it is there. + squashfs module is not automatically added to initramfs in precise. + Just ensure that it is there. - $ echo "manual_add_modules squashfs" | - sudo tee /etc/initramfs-tools/hooks/squashfs + $ echo "manual_add_modules squashfs" | + sudo tee /etc/initramfs-tools/hooks/squashfs 2. install cloud-initramfs-rooturl - sudo apt-get update - sudo apt-get install cloud-initramfs-rooturl + sudo apt-get update + sudo apt-get install cloud-initramfs-rooturl 3. collect the kernel and newly generated initramfs - sudo cat /boot/vmlinu?-$(uname -r) > kernel - cp /boot/initrd.img-$(uname -r) initrd + sudo cat /boot/vmlinu?-$(uname -r) > kernel + cp /boot/initrd.img-$(uname -r) initrd 4. Download a squashfs image or a .tar.xz image - - rel="xenial" - burl="http://cloud-images.ubuntu.com/daily/server" - file="$rel-server-cloudimg-amd64-root.tar.xz" - file="$rel-server-cloudimg-amd64.squashfs" - wget "$burl/$rel/current/$file" -O "$file" + + rel="xenial" + burl="http://cloud-images.ubuntu.com/daily/server" + file="$rel-server-cloudimg-amd64-root.tar.xz" + file="$rel-server-cloudimg-amd64.squashfs" + wget "$burl/$rel/current/$file" -O "$file" 5. run a web server - python -m SimpleHTTPServer 9999 & + python -m SimpleHTTPServer 9999 & 6. create a seed disk for cloud-init. - $ cat > my-user-data <<EOF - #cloud-config - password: passw0rd - chpasswd: { expire: False } - ssh_pwauth: True + $ cat > my-user-data <<EOF + #cloud-config + password: passw0rd + chpasswd: { expire: False } + ssh_pwauth: True - $ echo "instance-id: $(uuidgen || echo i-abcdefg)" > my-meta-data - $ cloud-localds seed.img my-user-data my-meta-data + $ echo "instance-id: $(uuidgen || echo i-abcdefg)" > my-meta-data + $ cloud-localds seed.img my-user-data my-meta-data 7. Boot a vm using the kernel, initrd and url. - cmdline="root=http://10.0.2.2:9999/$file console=ttyS0 -v " - cmdline="${cmdline} overlayroot=tmpfs" + cmdline="root=http://10.0.2.2:9999/$file console=ttyS0 -v " + cmdline="${cmdline} overlayroot=tmpfs" - qemu-system-x86_64 -enable-kvm - -device virtio-net-pci,netdev=net00 \ - -netdev type=user,id=net00 \ - -drive if=virtio,file=seed.img \ - -m 1G -nographic \ - -kernel kernel -initrd initrd \ - -append "root=$cmdline" + qemu-system-x86_64 -enable-kvm \ + -device virtio-net-pci,netdev=net00 \ + -netdev type=user,id=net00 \ + -drive if=virtio,file=seed.img \ + -m 1G -nographic \ + -kernel kernel -initrd initrd \ + -append "root=$cmdline" - [Regression Potential] + [Regression Potential] Low. This is adding a package previously not present. [Other Info] === End SRU Template === -- You received this bug notification because you are a member of Ubuntu Bugs, which is subscribed to Ubuntu. https://bugs.launchpad.net/bugs/1688606 Title: SRU cloud-initramfs-rooturl to archive To manage notifications about this bug go to: https://bugs.launchpad.net/ubuntu/+source/cloud-initramfs-tools/+bug/1688606/+subscriptions -- ubuntu-bugs mailing list ubuntu-bugs@lists.ubuntu.com https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs