[Bug 2045961] [NEW] builtin: running 'curtin block-meta simple' fails on recent versions of Ubuntu installer for ZFS root
Richard Spindler
2045961 at bugs.launchpad.net
Fri Dec 8 10:03:59 UTC 2023
Public bug reported:
Hi,
Not sure where to post/look for help with this. I've had a bit of a look
and I'm unable to find something similar, so would appreciate some help.
Looks like this might be due to changed in block_meta.py in curtin.
I have a script that generates a custom ISO with ZFS root based on the
live server ISO install:
https://github.com/lateralblast/guige/
It adds the ZFS packages to the installer and installs them at install
time allowing for a ZFS root install to be done. This had been working
for all releases from 20.04 and later, but recent changes to the
installer have broken it. It still works fine with the LTS releases, but
the daily builds and 23.10/24.04 betas are now failing.
It looks like the issue with the updated installer and parsing of the
cloud init config file. It creates the ZFS pool and filesystem and
mounts it, and then fails when it hands over to phase where it copies
the base image to filesystem. It looks like is not returning the correct
volume ID for the installer when I debug the crash logs from the
installer.
This is the failure point on noble/24.04:
=========================================
finish: subiquity/Install/install/curtin_install/run_curtin_step/cmd-install/stage-partitioning/builtin: running 'curtin block-meta simple'
finish: subiquity/Install/install/curtin_install/run_curtin_step/cmd-install/stage-partitioning: configuring storage
finish: subiquity/Install/install/curtin_install/run_curtin_step/cmd-install: curtin command install
finish: subiquity/Install/install/curtin_install/run_curtin_step: Command '['systemd-run', '--wait', '--same-dir', '--property', 'SyslogIdentifier=subiquity_log.1745', '--setenv', 'PATH=/snap/subiquity/5382/bin:/snap/subiquity/5382/usr/bin:/snap/subiquity/5382/usr/sbin:/snap/subiquity/5382/usr/bin:/snap/subiquity/5382/sbin:/snap/subiquity/5382/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin:/snap/subiquity/5382/bin:/snap/subiquity/5382/sbin', '--setenv', 'PYTHONPATH=:/snap/subiquity/5382/lib/python3.10/site-packages', '--setenv', 'PYTHON=/snap/subiquity/5382/usr/bin/python3.10', '--setenv', 'SNAP=/snap/subiquity/5382', '--', '/snap/subiquity/5382/usr/bin/python3.10', '-m', 'curtin', '--showtrace', '-vvv', '--set', 'json:reporting={"subiquity": {"type": "journald", "identifier": "curtin_event.1745.6"}}', '-c', '/var/log/installer/curtin-install/subiquity-partitioning.conf', 'install', '--set', 'json:stages=["partitioning"]', 'cp:///tmp/tmpaf5t35ik/mount']' returned non-zero exit status 3.
finish: subiquity/Install/install/curtin_install: Command '['systemd-run', '--wait', '--same-dir', '--property', 'SyslogIdentifier=subiquity_log.1745', '--setenv', 'PATH=/snap/subiquity/5382/bin:/snap/subiquity/5382/usr/bin:/snap/subiquity/5382/usr/sbin:/snap/subiquity/5382/usr/bin:/snap/subiquity/5382/sbin:/snap/subiquity/5382/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin:/snap/subiquity/5382/bin:/snap/subiquity/5382/sbin', '--setenv', 'PYTHONPATH=:/snap/subiquity/5382/lib/python3.10/site-packages', '--setenv', 'PYTHON=/snap/subiquity/5382/usr/bin/python3.10', '--setenv', 'SNAP=/snap/subiquity/5382', '--', '/snap/subiquity/5382/usr/bin/python3.10', '-m', 'curtin', '--showtrace', '-vvv', '--set', 'json:reporting={"subiquity": {"type": "journald", "identifier": "curtin_event.1745.6"}}', '-c', '/var/log/installer/curtin-install/subiquity-partitioning.conf', 'install', '--set', 'json:stages=["partitioning"]', 'cp:///tmp/tmpaf5t35ik/mount']' returned non-zero exit status 3.
finish: subiquity/Install/install: Command '['systemd-run', '--wait', '--same-dir', '--property', 'SyslogIdentifier=subiquity_log.1745', '--setenv', 'PATH=/snap/subiquity/5382/bin:/snap/subiquity/5382/usr/bin:/snap/subiquity/5382/usr/sbin:/snap/subiquity/5382/usr/bin:/snap/subiquity/5382/sbin:/snap/subiquity/5382/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin:/snap/subiquity/5382/bin:/snap/subiquity/5382/sbin', '--setenv', 'PYTHONPATH=:/snap/subiquity/5382/lib/python3.10/site-packages', '--setenv', 'PYTHON=/snap/subiquity/5382/usr/bin/python3.10', '--setenv', 'SNAP=/snap/subiquity/5382', '--', '/snap/subiquity/5382/usr/bin/python3.10', '-m', 'curtin', '--showtrace', '-vvv', '--set', 'json:reporting={"subiquity": {"type": "journald", "identifier": "curtin_event.1745.6"}}', '-c', '/var/log/installer/curtin-install/subiquity-partitioning.conf', 'install', '--set', 'json:stages=["partitioning"]', 'cp:///tmp/tmpaf5t35ik/mount']' returned non-zero exit status 3.
start: subiquity/ErrorReporter/1702018983.114151001.install_fail/add_info
finish: subiquity/ErrorReporter/1702018983.114151001.install_fail/add_info: written to /var/crash/1702018983.114151001.install_fail.crash
An error occurred. Press enter to start a shell
It looks like something in the get_path_to_storage_volume has changed (this previously worked):
==============================================================================================
get_path_to_storage_volume for volume disk1p2fs1(None)
An error occured handling 'disk1p2f1_rootpool': ValueError - volume with id 'di
sk1p2fs1' not found
finish: cmd-install/stage-partitioning/builtin/cmd-block-meta: FAIL: configurin
g zpool: disk1p2f1_rootpool
TIMED BLOCK_META: 9.727
finish: cmd-install/stage-partitioning/builtin/cmd-block-meta: FAIL: curtin com
mand block-meta
Traceback (most recent call last):
File "/snap/subiquity/5382/lib/python3.10/site-packages/curtin/commands/main.
py", line 202, in main
ret = args.func(args)
File "/snap/subiquity/5382/lib/python3.10/site-packages/curtin/log.py", line
97, in wrapper
return log_time("TIMED %s: " % msg, func, *args, **kwargs)
File "/snap/subiquity/5382/lib/python3.10/site-packages/curtin/log.py", line
79, in log_time
return func(*args, **kwargs)
File "/snap/subiquity/5382/lib/python3.10/site-packages/curtin/commands/block
_meta.py", line 127, in block_meta
return meta_custom(args)
File "/snap/subiquity/5382/lib/python3.10/site-packages/curtin/commands/block
_meta.py", line 2248, in meta_custom
handler(command, storage_config_dict, context)
File "/snap/subiquity/5382/lib/python3.10/site-packages/curtin/commands/block
_meta.py", line 1989, in zpool_handler
vdevs = [get_path_to_storage_volume(v, storage_config)
File "/snap/subiquity/5382/lib/python3.10/site-packages/curtin/commands/block
_meta.py", line 1989, in <listcomp>
vdevs = [get_path_to_storage_volume(v, storage_config)
File "/snap/subiquity/5382/lib/python3.10/site-packages/curtin/commands/block
_meta.py", line 576, in get_path_to_storage_volume
raise ValueError("volume with id '%s' not found" % volume)
ValueError: volume with id 'disk1p2fs1' not found
volume with id 'disk1p2fs1' not found
root at ubuntu-server:/# cat /autoinstall.yaml
===========================================
---
apt:
disable_components: []
geoip: true
preferences:
- package: '*'
pin: release a=noble-security
pin-priority: 200
preserve_sources_list: false
primary:
- arches:
- amd64
uri: http://archive.ubuntu.com/ubuntu
- arches:
- default
uri: http://ports.ubuntu.com/ubuntu-ports
drivers:
install: false
early-commands:
- sed -i "s/vda/$(lsblk -x TYPE|grep disk |sort |head -1 |awk '{print $1}')/g"
/autoinstall.yaml
- sed -i "s/enp1s0/$(lshw -class network -short |awk '{print $2}' |grep ^e |head
-1)/g" /autoinstall.yaml
- export DEBIAN_FRONTEND="noninteractive" && dpkg --force-confnew --force-overwrite
--auto-deconfigure --force-depends -i /cdrom/autoinstall/packages/*.deb
- rm /etc/resolv.conf
- echo "nameserver 8.8.8.8" >> /etc/resolv.conf
identity:
hostname: ubuntu
password: $6$0HMdVn5Wf1g98AZw$1vagfgj.JWUVX/SVJVmYlfgT785K6eJpgK6uTw29Hl.yskYr6529s.mkjAQoJkrJTGKDaFb/Lxvy0OiqLp24F0
realname: Ubuntu
username: ubuntu
kernel:
package: linux-generic
keyboard:
layout: us
late-commands:
- mkdir -p /target/var/postinstall/packages
- cp /cdrom/autoinstall/packages/*.deb /target/var/postinstall/packages/
- echo '#!/bin/bash' > /target/tmp/post.sh
- echo 'export DEBIAN_FRONTEND="noninteractive" && dpkg --force-confnew --force-overwrite
--auto-deconfigure --force-depends -i /var/postinstall/packages/*.deb' >> /target/tmp/post.sh
- chmod +x /target/tmp/post.sh
- echo 'Australia/Melbourne' > /target/etc/timezone
- rm /target/etc/localtime
- curtin in-target --target=/target -- ln -s /usr/share/zoneinfo/Australia/Melbourne
/etc/localtime
- curtin in-target --target=/target -- /tmp/post.sh
- echo 'GRUB_TERMINAL="serial console"' >> /target/etc/default/grub
- echo 'GRUB_SERIAL_COMMAND="serial --speed=115200 --port=0x03f8"' >> /target/etc/default/grub
- echo 'GRUB_CMDLINE_LINUX="console=tty0 console=tty0 console=vt0 console=ttyS0,115200
console=ttyS1,115200"' >> /target/etc/default/grub
- echo 'GRUB_TIMEOUT="10"' >> /target/etc/default/grub
- 'echo ''ubuntu ALL=(ALL) NOPASSWD: ALL'' >> /target/etc/sudoers.d/ubuntu'
- echo 'APT::Periodic::Update-Package-Lists "0";' > /target/etc/apt/apt.conf.d/20auto-upgrades
- echo 'APT::Periodic::Download-Upgradeable-Packages "0";' >> /target/etc/apt/apt.conf.d/20auto-upgrades
- echo 'APT::Periodic::AutocleanInterval "0";' >> /target/etc/apt/apt.conf.d/20auto-upgrades
- echo 'APT::Periodic::Unattended-Upgrade "0";' >> /target/etc/apt/apt.conf.d/20auto-upgrades
- curtin in-target --target=/target -- systemctl enable serial-getty at ttyS0.service
- curtin in-target --target=/target -- systemctl start serial-getty at ttyS0.service
- curtin in-target --target=/target -- systemctl enable serial-getty at ttyS1.service
- curtin in-target --target=/target -- systemctl start serial-getty at ttyS1.service
- curtin in-target --target=/target -- systemctl enable serial-getty at ttyS4.service
- curtin in-target --target=/target -- systemctl start serial-getty at ttyS4.service
- curtin in-target --target=/target -- update-grub
locale: en_US.UTF-8
network:
ethernets:
enp1s0:
critical: true
dhcp-identifier: mac
dhcp4: true
version: 2
package_update: false
package_upgrade: false
ssh:
allow-pw: false
authorized-keys:
- ''
install-server: true
storage:
config:
- grub_device: true
id: disk1
name: ''
path: /dev/vda
preserve: false
ptable: gpt
type: disk
wipe: superblock-recursive
- device: disk1
flag: boot
grub_device: true
id: disk1p1
number: 1
preserve: false
ptable: gpt
size: 1127219200
type: partition
wipe: superblock-recursive
- fstype: fat32
id: disk1p1fs1
preserve: false
type: format
volume: disk1p1
- device: disk1p1fs1
id: mount-2
path: /boot/efi
type: mount
- device: disk1
flag: root
grub_device: true
id: disk1p2
number: 2
preserve: false
size: -1
type: partition
wipe: superblock-recursive
- fstype: zfsroot
id: disk1p2fs1
preserve: false
type: format
volume: disk1p2
- device: disk1p2fs1
id: disk1p2f1_rootpool
mountpoint: /
pool: rpool
preserve: false
type: zpool
vdevs:
- disk1p2fs1
- id: disk1_rootpool_container
pool: disk1p2f1_rootpool
preserve: false
properties:
canmount: 'off'
mountpoint: none
type: zfs
volume: /ROOT
- id: disk1_rootpool_rootfs
pool: disk1p2f1_rootpool
preserve: false
properties:
canmount: noauto
mountpoint: /
type: zfs
volume: /ROOT/zfsroot
- device: disk1p2fs1
id: mount-disk1p2fs1
path: /
type: mount
swap:
swap: 2G
user-data:
timezone: Australia/Melbourne
version: 1
...
** Affects: curtin
Importance: Undecided
Status: New
** Attachment added: "install fail crash file"
https://bugs.launchpad.net/bugs/2045961/+attachment/5727441/+files/1702025103.204838991.install_fail.crash
--
You received this bug notification because you are a member of Ubuntu
Foundations Bugs, which is subscribed to curtin.
https://bugs.launchpad.net/bugs/2045961
Title:
builtin: running 'curtin block-meta simple' fails on recent versions
of Ubuntu installer for ZFS root
Status in curtin:
New
Bug description:
Hi,
Not sure where to post/look for help with this. I've had a bit of a
look and I'm unable to find something similar, so would appreciate
some help.
Looks like this might be due to changed in block_meta.py in curtin.
I have a script that generates a custom ISO with ZFS root based on the
live server ISO install:
https://github.com/lateralblast/guige/
It adds the ZFS packages to the installer and installs them at install
time allowing for a ZFS root install to be done. This had been working
for all releases from 20.04 and later, but recent changes to the
installer have broken it. It still works fine with the LTS releases,
but the daily builds and 23.10/24.04 betas are now failing.
It looks like the issue with the updated installer and parsing of the
cloud init config file. It creates the ZFS pool and filesystem and
mounts it, and then fails when it hands over to phase where it copies
the base image to filesystem. It looks like is not returning the
correct volume ID for the installer when I debug the crash logs from
the installer.
This is the failure point on noble/24.04:
=========================================
finish: subiquity/Install/install/curtin_install/run_curtin_step/cmd-install/stage-partitioning/builtin: running 'curtin block-meta simple'
finish: subiquity/Install/install/curtin_install/run_curtin_step/cmd-install/stage-partitioning: configuring storage
finish: subiquity/Install/install/curtin_install/run_curtin_step/cmd-install: curtin command install
finish: subiquity/Install/install/curtin_install/run_curtin_step: Command '['systemd-run', '--wait', '--same-dir', '--property', 'SyslogIdentifier=subiquity_log.1745', '--setenv', 'PATH=/snap/subiquity/5382/bin:/snap/subiquity/5382/usr/bin:/snap/subiquity/5382/usr/sbin:/snap/subiquity/5382/usr/bin:/snap/subiquity/5382/sbin:/snap/subiquity/5382/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin:/snap/subiquity/5382/bin:/snap/subiquity/5382/sbin', '--setenv', 'PYTHONPATH=:/snap/subiquity/5382/lib/python3.10/site-packages', '--setenv', 'PYTHON=/snap/subiquity/5382/usr/bin/python3.10', '--setenv', 'SNAP=/snap/subiquity/5382', '--', '/snap/subiquity/5382/usr/bin/python3.10', '-m', 'curtin', '--showtrace', '-vvv', '--set', 'json:reporting={"subiquity": {"type": "journald", "identifier": "curtin_event.1745.6"}}', '-c', '/var/log/installer/curtin-install/subiquity-partitioning.conf', 'install', '--set', 'json:stages=["partitioning"]', 'cp:///tmp/tmpaf5t35ik/mount']' returned non-zero exit status 3.
finish: subiquity/Install/install/curtin_install: Command '['systemd-run', '--wait', '--same-dir', '--property', 'SyslogIdentifier=subiquity_log.1745', '--setenv', 'PATH=/snap/subiquity/5382/bin:/snap/subiquity/5382/usr/bin:/snap/subiquity/5382/usr/sbin:/snap/subiquity/5382/usr/bin:/snap/subiquity/5382/sbin:/snap/subiquity/5382/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin:/snap/subiquity/5382/bin:/snap/subiquity/5382/sbin', '--setenv', 'PYTHONPATH=:/snap/subiquity/5382/lib/python3.10/site-packages', '--setenv', 'PYTHON=/snap/subiquity/5382/usr/bin/python3.10', '--setenv', 'SNAP=/snap/subiquity/5382', '--', '/snap/subiquity/5382/usr/bin/python3.10', '-m', 'curtin', '--showtrace', '-vvv', '--set', 'json:reporting={"subiquity": {"type": "journald", "identifier": "curtin_event.1745.6"}}', '-c', '/var/log/installer/curtin-install/subiquity-partitioning.conf', 'install', '--set', 'json:stages=["partitioning"]', 'cp:///tmp/tmpaf5t35ik/mount']' returned non-zero exit status 3.
finish: subiquity/Install/install: Command '['systemd-run', '--wait', '--same-dir', '--property', 'SyslogIdentifier=subiquity_log.1745', '--setenv', 'PATH=/snap/subiquity/5382/bin:/snap/subiquity/5382/usr/bin:/snap/subiquity/5382/usr/sbin:/snap/subiquity/5382/usr/bin:/snap/subiquity/5382/sbin:/snap/subiquity/5382/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin:/snap/subiquity/5382/bin:/snap/subiquity/5382/sbin', '--setenv', 'PYTHONPATH=:/snap/subiquity/5382/lib/python3.10/site-packages', '--setenv', 'PYTHON=/snap/subiquity/5382/usr/bin/python3.10', '--setenv', 'SNAP=/snap/subiquity/5382', '--', '/snap/subiquity/5382/usr/bin/python3.10', '-m', 'curtin', '--showtrace', '-vvv', '--set', 'json:reporting={"subiquity": {"type": "journald", "identifier": "curtin_event.1745.6"}}', '-c', '/var/log/installer/curtin-install/subiquity-partitioning.conf', 'install', '--set', 'json:stages=["partitioning"]', 'cp:///tmp/tmpaf5t35ik/mount']' returned non-zero exit status 3.
start: subiquity/ErrorReporter/1702018983.114151001.install_fail/add_info
finish: subiquity/ErrorReporter/1702018983.114151001.install_fail/add_info: written to /var/crash/1702018983.114151001.install_fail.crash
An error occurred. Press enter to start a shell
It looks like something in the get_path_to_storage_volume has changed (this previously worked):
==============================================================================================
get_path_to_storage_volume for volume disk1p2fs1(None)
An error occured handling 'disk1p2f1_rootpool': ValueError - volume with id 'di
sk1p2fs1' not found
finish: cmd-install/stage-partitioning/builtin/cmd-block-meta: FAIL: configurin
g zpool: disk1p2f1_rootpool
TIMED BLOCK_META: 9.727
finish: cmd-install/stage-partitioning/builtin/cmd-block-meta: FAIL: curtin com
mand block-meta
Traceback (most recent call last):
File "/snap/subiquity/5382/lib/python3.10/site-packages/curtin/commands/main.
py", line 202, in main
ret = args.func(args)
File "/snap/subiquity/5382/lib/python3.10/site-packages/curtin/log.py", line
97, in wrapper
return log_time("TIMED %s: " % msg, func, *args, **kwargs)
File "/snap/subiquity/5382/lib/python3.10/site-packages/curtin/log.py", line
79, in log_time
return func(*args, **kwargs)
File "/snap/subiquity/5382/lib/python3.10/site-packages/curtin/commands/block
_meta.py", line 127, in block_meta
return meta_custom(args)
File "/snap/subiquity/5382/lib/python3.10/site-packages/curtin/commands/block
_meta.py", line 2248, in meta_custom
handler(command, storage_config_dict, context)
File "/snap/subiquity/5382/lib/python3.10/site-packages/curtin/commands/block
_meta.py", line 1989, in zpool_handler
vdevs = [get_path_to_storage_volume(v, storage_config)
File "/snap/subiquity/5382/lib/python3.10/site-packages/curtin/commands/block
_meta.py", line 1989, in <listcomp>
vdevs = [get_path_to_storage_volume(v, storage_config)
File "/snap/subiquity/5382/lib/python3.10/site-packages/curtin/commands/block
_meta.py", line 576, in get_path_to_storage_volume
raise ValueError("volume with id '%s' not found" % volume)
ValueError: volume with id 'disk1p2fs1' not found
volume with id 'disk1p2fs1' not found
root at ubuntu-server:/# cat /autoinstall.yaml
===========================================
---
apt:
disable_components: []
geoip: true
preferences:
- package: '*'
pin: release a=noble-security
pin-priority: 200
preserve_sources_list: false
primary:
- arches:
- amd64
uri: http://archive.ubuntu.com/ubuntu
- arches:
- default
uri: http://ports.ubuntu.com/ubuntu-ports
drivers:
install: false
early-commands:
- sed -i "s/vda/$(lsblk -x TYPE|grep disk |sort |head -1 |awk '{print $1}')/g"
/autoinstall.yaml
- sed -i "s/enp1s0/$(lshw -class network -short |awk '{print $2}' |grep ^e |head
-1)/g" /autoinstall.yaml
- export DEBIAN_FRONTEND="noninteractive" && dpkg --force-confnew --force-overwrite
--auto-deconfigure --force-depends -i /cdrom/autoinstall/packages/*.deb
- rm /etc/resolv.conf
- echo "nameserver 8.8.8.8" >> /etc/resolv.conf
identity:
hostname: ubuntu
password: $6$0HMdVn5Wf1g98AZw$1vagfgj.JWUVX/SVJVmYlfgT785K6eJpgK6uTw29Hl.yskYr6529s.mkjAQoJkrJTGKDaFb/Lxvy0OiqLp24F0
realname: Ubuntu
username: ubuntu
kernel:
package: linux-generic
keyboard:
layout: us
late-commands:
- mkdir -p /target/var/postinstall/packages
- cp /cdrom/autoinstall/packages/*.deb /target/var/postinstall/packages/
- echo '#!/bin/bash' > /target/tmp/post.sh
- echo 'export DEBIAN_FRONTEND="noninteractive" && dpkg --force-confnew --force-overwrite
--auto-deconfigure --force-depends -i /var/postinstall/packages/*.deb' >> /target/tmp/post.sh
- chmod +x /target/tmp/post.sh
- echo 'Australia/Melbourne' > /target/etc/timezone
- rm /target/etc/localtime
- curtin in-target --target=/target -- ln -s /usr/share/zoneinfo/Australia/Melbourne
/etc/localtime
- curtin in-target --target=/target -- /tmp/post.sh
- echo 'GRUB_TERMINAL="serial console"' >> /target/etc/default/grub
- echo 'GRUB_SERIAL_COMMAND="serial --speed=115200 --port=0x03f8"' >> /target/etc/default/grub
- echo 'GRUB_CMDLINE_LINUX="console=tty0 console=tty0 console=vt0 console=ttyS0,115200
console=ttyS1,115200"' >> /target/etc/default/grub
- echo 'GRUB_TIMEOUT="10"' >> /target/etc/default/grub
- 'echo ''ubuntu ALL=(ALL) NOPASSWD: ALL'' >> /target/etc/sudoers.d/ubuntu'
- echo 'APT::Periodic::Update-Package-Lists "0";' > /target/etc/apt/apt.conf.d/20auto-upgrades
- echo 'APT::Periodic::Download-Upgradeable-Packages "0";' >> /target/etc/apt/apt.conf.d/20auto-upgrades
- echo 'APT::Periodic::AutocleanInterval "0";' >> /target/etc/apt/apt.conf.d/20auto-upgrades
- echo 'APT::Periodic::Unattended-Upgrade "0";' >> /target/etc/apt/apt.conf.d/20auto-upgrades
- curtin in-target --target=/target -- systemctl enable serial-getty at ttyS0.service
- curtin in-target --target=/target -- systemctl start serial-getty at ttyS0.service
- curtin in-target --target=/target -- systemctl enable serial-getty at ttyS1.service
- curtin in-target --target=/target -- systemctl start serial-getty at ttyS1.service
- curtin in-target --target=/target -- systemctl enable serial-getty at ttyS4.service
- curtin in-target --target=/target -- systemctl start serial-getty at ttyS4.service
- curtin in-target --target=/target -- update-grub
locale: en_US.UTF-8
network:
ethernets:
enp1s0:
critical: true
dhcp-identifier: mac
dhcp4: true
version: 2
package_update: false
package_upgrade: false
ssh:
allow-pw: false
authorized-keys:
- ''
install-server: true
storage:
config:
- grub_device: true
id: disk1
name: ''
path: /dev/vda
preserve: false
ptable: gpt
type: disk
wipe: superblock-recursive
- device: disk1
flag: boot
grub_device: true
id: disk1p1
number: 1
preserve: false
ptable: gpt
size: 1127219200
type: partition
wipe: superblock-recursive
- fstype: fat32
id: disk1p1fs1
preserve: false
type: format
volume: disk1p1
- device: disk1p1fs1
id: mount-2
path: /boot/efi
type: mount
- device: disk1
flag: root
grub_device: true
id: disk1p2
number: 2
preserve: false
size: -1
type: partition
wipe: superblock-recursive
- fstype: zfsroot
id: disk1p2fs1
preserve: false
type: format
volume: disk1p2
- device: disk1p2fs1
id: disk1p2f1_rootpool
mountpoint: /
pool: rpool
preserve: false
type: zpool
vdevs:
- disk1p2fs1
- id: disk1_rootpool_container
pool: disk1p2f1_rootpool
preserve: false
properties:
canmount: 'off'
mountpoint: none
type: zfs
volume: /ROOT
- id: disk1_rootpool_rootfs
pool: disk1p2f1_rootpool
preserve: false
properties:
canmount: noauto
mountpoint: /
type: zfs
volume: /ROOT/zfsroot
- device: disk1p2fs1
id: mount-disk1p2fs1
path: /
type: mount
swap:
swap: 2G
user-data:
timezone: Australia/Melbourne
version: 1
...
To manage notifications about this bug go to:
https://bugs.launchpad.net/curtin/+bug/2045961/+subscriptions
More information about the foundations-bugs
mailing list