preseed.cfg c EFI

Chai

New member
Сообщения
11
#1
Привествую!
В вики астры есть примеры для установки ОС для legacy boot , а вот по EFI и в интернете информации очень мало.

Что неправильно в директивах ниже?

d-i partman-partitioning/choose_label string gpt
d-i partman-partitioning/default-label string gpt
d-i partman-efi/non_efi_system boolean true

d-i partman-auto/expert_recipe string ggg_re :: \
538 538 1075 free \
$iflabel{ gpt } \
$reusemethod{ } \
method{ efi } format{ } .\
32464 16384 62464 btrfs \
method{ format } format{ } use_filesystem{ } filesystem{ btrfs } mountpoint{ / } .\
8192 16384 8192 swap \
method{ swap } format{ } .\
2048 16384 -l btrfs \
method{ format } format{ } use_filesystem{ } filesystem{ btrfs } mountpoint{ /home } .
Либо в части разбивки диска он откуда то берет разбиение, где под бут отдается почти все пространство, причем msdos, либо ... ну в общем, хулиганит. Я так понимаю, что если установщик не распознает секцию разбиения, он воротит что-то свое.
Подскажите, как правильно писать эту секцию?
 

Vosiley

New member
Сообщения
78
#2
В принципе для UEFI и легаси можно сделать один и тот же универсальный preseed.

Код:
# 7. Disk partitioning
# scheme:
# gpt
# part1: BIOS GRUB partition, 1MiB
# part2: EFI partition, 500 MiB
# part3: swap partition, 4 GiB
# part4: / partition, 50 GiB
# part5: /home partition, remaining disk space
#
d-i partman-auto/method string regular
d-i partman-partitioning/choose_label    select    gpt
d-i partman-partitioning/default_label string gpt
d-i partman-lvm/device_remove_lvm boolean true
d-i partman-md/device_remove_md boolean true
d-i partman-lvm/confirm boolean false
d-i partman-efi/non_efi_system boolean true
d-i partman-auto/expert_recipe string myroot ::                                                                    \
    1 1 1 free                                                                                                     \
        $iflabel{ gpt }                                                                                            \
        $reusemethod{ }                                                                                            \
        method{ biosgrub } .                                                                                       \
                                                                                                                   \
        524 524 524 fat32                                                                                          \
        $reusemethod{ }                                                                                            \
        method{ efi }                                                                                              \
        format{ } .                                                                                                \
                                                                                                                   \
    4295 4295 4295 linux-swap                                                                                      \
        $reusemethod{ }                                                                                            \
        method{ swap }                                                                                             \
        format{ } .                                                                                                \
                                                                                                                   \
    53688 53688 53688 ext4                                                                                         \
        method{ format } format{ } use_filesystem{ } filesystem{ ext4 } mountpoint{ /    } .                       \
                                                                                                                   \
    10240 20480 -1 ext4                                                                                            \
        method{ format } format{ } use_filesystem{ } filesystem{ ext4 } mountpoint{ /home    } .
d-i partman-auto/choose_recipe select myroot

d-i partman-partitioning/confirm_write_new_label boolean true
d-i partman/choose_partition select finish
d-i partman/confirm boolean true
d-i partman/confirm_nooverwrite boolean true

d-i partman-md/confirm boolean true
d-i partman-partitioning/confirm_write_new_label boolean true
d-i partman/choose_partition select finish
d-i partman/confirm boolean true
d-i partman/confirm_nooverwrite boolean true
вот, например, полностью автоматический вариант.
смысл такой, про MBR можно уже забыть, GRUB и в режиме legacy понимает GPT, нужно лишь создать ему раздел в начале диска в 1 MiB.
Используя данную универсальную структуру диска, можно переключать систему из UEFI в legacy путем установки соответствующих пакетов grub-pc и grub-efi соответственно.

вообще, если интересно, чуть позже могу поделиться полностью автоматическим универсальным preseed.cfg
 
Последнее редактирование:

Vosiley

New member
Сообщения
78
#3
и там, насколько я помню, не -l , а -1 (минус единица) в описании последнего раздела.
 

Chai

New member
Сообщения
11
#4
Спасибо за ответ. Что-то все-таки неучтено. При разбивке ошибка "нет корневой стстемы"
 

Vosiley

New member
Сообщения
78
#5
А исходные данные какие? с какого носителя установка идет? может, в системе не один носитель? лишние бы нужно отключить.
 

Chai

New member
Сообщения
11
#6
Vosiley, спасибо за участие. Была очепятка.
Разбиение произошло успешно, вижу только раздел sda1 с точкой монтирования efi/boot с Partition table: msdos . Загружаюсь в легаси бут.

По этому preseed вообще нет полной информации, нашел тоже rockstable, но там тоже нет расшифровки всех директив. Например, что выполняет
$reusemethod{ } , чем отличается method{ biosgrub } и $bootable{ } ?
Вообще, имена директив не очень интуитивно понятны, например,
есть директива partman-efi/non_efi_system , вероятно, она указывает инсталлятору установить систему в EFI, переключать систему из UEFI в legacy путем установки соответствующих пакетов grub-pc и grub-efi , и есть method{ efi } .

Есть директива d-i partman-partitioning/choose_label select gpt, но ставится msdos

По данному рецепту создаются логические разделы, но если наши сотрудники ставят вручную, у них все разделы primary. Как лучше?
 

Vosiley

New member
Сообщения
78
#7
Biosgrub это как раз раздел grub в 1 миб в начале gpt диска. Туда устанавливается grub в legacy режиме.
Non-efi-system отвечает на вопрос установщика, который находит на диске старую таблицу разделов legacy, а мы его запустили в efi.
Систему в efi мы устанавливаем изначально загружаясь в этом режиме.
Та портянка что я привел, у меня отрабатывает штатно в virtualbox в обоих режимах.
 

Vosiley

New member
Сообщения
78
#8
С выходом 1.7.4 появилась проблема:
при автоматической сетевой установке выскакивает вопрос:
Код:
Should the network-console be started?
<Yes> <No> <Help>
Как избавиться?
 

bresa0la

New member
Сообщения
3
#9
С выходом 1.7.4 появилась проблема:
при автоматической сетевой установке выскакивает вопрос:
Код:
Should the network-console be started?
<Yes> <No> <Help>
Как избавиться?
Здравствуйте! Попробуйте добавить
Код:
d-i network-console/start select continue
 

bresa0la

New member
Сообщения
3
#11
Попробовал. К сожалению, не помогло.
Есть хардкорный вариант узнать. Проведите установку и после выполните
Код:
sudo debconf-get-selections --installer > log
это выдаст все ответы, которые были даны в процессе установки
 

Vosiley

New member
Сообщения
78
#12
Так и сделал, спасибо. Только там та еще помойка получилась.
Нашел там ответ, соответствующий вопросу:
Код:
d-i network-console/enable boolean false
вписал, запустил, окно с вопросом все равно вылазит.
Да, ребята что-то явно намудрили в версии 1.7.4
 

bresa0la

New member
Сообщения
3
#13
Так и сделал, спасибо. Только там та еще помойка получилась.
Нашел там ответ, соответствующий вопросу:
Код:
d-i network-console/enable boolean false
вписал, запустил, окно с вопросом все равно вылазит.
Да, ребята что-то явно намудрили в версии 1.7.4
Разобрались? Я недавно узнал, что если в grub дописать DEBCONF_DEBUG=5, то при установке, когда задаётся очередной вопрос, он видим на терминале F4
 
Сообщения
1
#16
С выходом 1.7.4 появилась проблема:
при автоматической сетевой установке выскакивает вопрос:
Код:
Should the network-console be started?
<Yes> <No> <Help>
Как избавиться?
Если BIOS, то в файле /srv/tft/pxelinux.cfg/default добавить строчку append initrd= ....... network-console/enable=false
Если UEFI, то в файле /srv/tftp/debian-installer/amd64/grub/grub.cfg добавить строчку initrd= ....... network-console/enable=false
 
Сообщения
645
#17
Ответ
Если BIOS, то в файле /srv/tft/pxelinux.cfg/default добавить строчку append initrd= ....... network-console/enable=false
Если UEFI, то в файле /srv/tftp/debian-installer/amd64/grub/grub.cfg добавить строчку initrd= ....... network-console/enable=false
А там где многоточие что нужно добавить?
 
Сообщения
78
#18
Если BIOS, то в файле /srv/tft/pxelinux.cfg/default добавить строчку append initrd= ....... network-console/enable=false
Если UEFI, то в файле /srv/tftp/debian-installer/amd64/grub/grub.cfg добавить строчку initrd= ....... network-console/enable=false
спасибо, прокатило, только не в initrd, а в параметры ядра.
странно, почему в preseed эта строчка не прокатывала.
 
Сообщения
645
#19
спасибо, прокатило, только не в initrd, а в параметры ядра.
странно, почему в preseed эта строчка не прокатывала.
Напишите пожалуйста точные действия, которые Вы проделали. Что конкретно добавили и куда?