Добавление ZFS в предустановленную программу установки Debian

mint @ mint ~ $ sudo разошлись -l Модель: ATA ST500LT012-9WS14 (scsi) Диск/dev/sda: 500GB Размер сектора (логический/физический): 512B/4096B Таблица разделов: gpt Флаги имени файловой системы начального размера 1 1049kB 525MB 524MB fat32 Загрузка системного раздела EFI 2 525MB 567MB 41.9MB fat32 Раздел основных данных скрыт 3 567MB 701MB 134MB Зарезервированный Microsoft раздел msftres 4 701MB 1226MB 524MB ntfs Раздел основных данных скрыт, diag 5 1226MB 395GB 394GB ntfs Раздел основных данных msftdata 8 395GB 395GB 1049kB fat32 загрузки 9 395GB 421GB 26.0GB ext4 загрузка 10 421 ГБ 487 ГБ 65.3 ГБ ext4 6 487GB 487GB 473MB ntfs скрытые, diag 7 487GB 500GB 13.0GB ntfs Раздел восстановления Microsoft скрыт, diag

Модель: ATA LITEONIT LMT-32L (scsi) Диск/dev/sdb: 32.0GB Размер сектора (логический/физический): 512B/512B Таблица разделов: gpt Флаги имени файловой системы начального размера 1 1049kB 8589MB 8588MB Раздел основных данных 2 8589MB 9613MB 1024MB linux-swap (v1) 3 9614MB 22.1GB 12.5GB fat32 msftdata Предупреждение: Не удается открыть/dev/sr0 для чтения и записи (файловая система только для чтения) ./dev/sr0 был открыт только для чтения. Ошибка: не удается создать раздел за пределами диска!

-121--195064-

Необходимо использовать mapfile (или его синоним readarray , введенный в bash 4,0 ):

mapfile -t list <<<"$input"

Один вызов read работает только с одной строкой, а не со всем стандартным входом.

read - список заполняет содержимое первой строки стандарта в массиве list . В вашем случае, вы получили bin как единственный элемент в списке array '.

-121--52270-

файлообменные () или директория () были бы лучше, чем findfile () - последний выполняет поиск в наборе каталогов. BTW, findfile () не возвращает ничего (пустой ряд) в моей системе для ~/.vim

Однако isdirectory () не может обработать ~/, но fnamemodify () приходит на помощь.

if isdirectory(fnamemodify('~/.vim/autoload', ':p'))
    execute pathogen#infect()
endif

директория ($ HOME. '/.vim/autoload ') также сработала бы.

1
10.08.2018, 17:03
1 ответ

Поскольку вам нужен корень ZFS, поддержка ZFS должна быть добавлена ​​в установщик Debian -, pkgsel/includeвам не поможет. Правильный способ описан в debian -boot Frans Pop:

You'll have to create a custom udeb that is included in the menu just before partman (i.e. menu item number between 3500 and 4000), performs all the basic functions of partman and provides the same pseudo packages as partman.

The basic functions of partman are:

  • creating the /target directory
  • creating the partitions
  • creating the /target/etc/fstab
  • mounting the partitions in /target

For basic info on creating a custom udeb, see the Debian Installer internals.

(Я заменил устаревшую ссылку на текущую.)

Для экспериментов рекомендую пресидить anna/choose_modulesна network-console, логиниться в оболочку при появлении partman, скачивать нужные файлы/скрипты через wgetи тестировать их в среде установщика, делать работу partman вручную (вы все еще можете использовать partman для настройки точки монтирования /root). После этого вы можете собрать udebs или просто поместить дополнительные файлы в initrd или в оверлей initrd (дополнительный образ initrd, также загруженный ext/sys/iso/pxelinux ).

Надлежащая интеграция partman была бы замечательным достижением, но я не могу направить вас в этом направлении. старая документация , вероятно, все еще очень актуальна, и вы можете использовать существующие модули, такие как, например, partman -btrfs для вдохновения. Но лучше сначала спросить debian -boot , чтобы не дублировать усилия и не пойти по неправильному пути.

1
28.01.2020, 00:30

Теги

Похожие вопросы