Я использую раздел хранилища автоустановки для простой пользовательской разметки диска / dev / sda: sda1 (512 МБ) / boot, подкачка sda2 (2 ГБ), sda3 (-1) /. У меня проблемы с определением свопа. Документы Curtin утверждают, что это:
Моя простая конфигурация:
storage:
version: 1
# swap:
# filename: /dev/sda2
# size: 2GB
# maxsize: 2GB
config:
- type: disk
id: sda
path: /dev/sda
ptable: msdos
name: system-disk
wipe: superblock
grub_device: true
- type: partition
id: sda-sda1
number: 1
size: 512MB
device: sda
name: boot-partition
flag: boot
- type: partition
id: sda-sda2
number: 2
size: 2GB
device: sda
name: swap-partition
flag: swap
- type: partition
id: sda-sda3
number: 3
size: -1
device: sda
name: root-partition
- type: format
id: sda-sda1-fs
fstype: ext4
label: boot
volume: sda-sda1
- type: format
id: sda-sda2-fs
fstype: swap
label: swap
volume: sda-sda2
- type: format
id: sda-sda3-fs
fstype: ext4
label: root
volume: sda-sda3
- type: mount
id: sda-sda1-fs-mount1
path: /boot
device: sda-sda1-fs
- type: mount
id: sda-sda2-fs-mount1
options: pri=2,discard=pages
device: sda-sda2-fs
- type: mount
id: sda-sda3-fs-mount1
path: /
device: sda-sda3-fs
При установке я получаю: « Ошибка типа: __init __ () отсутствует 1 обязательный позиционный аргумент: 'путь'
". Если я удаляю запись с id: sda-sda2-fs-mount1 (тот, что для swap) и раскомментируем раздел swap, указывающий на / dev / sda2 Я получаю рабочий своп.
Как определить своп, используя только раздел конфигурации. Смешивание нескольких решений не является элегантным решением imho.
Я бы попытался добавить путь аргумента : нет
и посмотреть, работает ли это. Глядя на источник для curtin , он выглядит так, как будто он не имеет значения пути и файловая система «swap»
Я не настроил swap как этот, но ваша ссылка на четырехлетний фрагмент гистограммы какого-то парня. Документы curtin находятся по адресу https://curtin.readthedocs.io/en/latest/topics/storage.html?#mount-command
Цитаты из раздела монтирования
Необходимо указать путь к целевой точке монтирования, а также целевая файловая система
Если указанное устройство отформатировано как пространство подкачки, то запись будет добавлена в / etc / fstab целевой системы, чтобы использовать это пространство подкачки.
Я нашел curtin До этого документы были неверными, поэтому я обнаружил, что этот файл определяет требования к схеме. Я не уверен, как его проанализировать, но мне кажется, что путь
не требуется, так как у вас есть аргумент device
https://github.com/ canonical / curtin / blob / master / curtin / block / schemas.py
Существует также вероятность того, что subiquity является причиной ошибки. subiquity выполняет свою собственную проверку yaml. Он использует эту схему, но похоже, что раздел storage
не имеет никаких требований. Я предполагаю, что они используют curtin для проверки