Как скомпилировать и установить ядро ​​kernel.org на отдельный раздел, а затем настроить двойную загрузку

Вот один из способов сделать это, используя «много оклеветанную» оболочку c -:

% foreach line ( "`cat input.txt`" )
     set tokens = ( $line:x )
     foreach ran_idx ( `seq $#tokens | shuf` )
         printf '%s\n' ${tokens[$ran_idx]:q}
     end
end
0
11.11.2021, 10:12
1 ответ

Один из самых простых способов установить минимальную систему Debian — это debootstrap bullseye /mnt, где яблочко — это искомый выпуск, а /mnt— путь, по которому вы хотите его установить.

Требуется ядро, и ваша процедура кажется правильной. Initramfs или initrd требуются только для сложной последовательности загрузки :, обычно это корневой каталог в массиве RAID. У меня нет на моем сервере, и он работает нормально. (Обратите внимание, что тип вашей корневой файловой системы не должен быть скомпилирован как модуль, а должен быть встроен в ядро ​​).

Вы также должны добавить запись в свой /boot/grub/grub.cfg. Обычно:


menuentry "Alternate Debian, kernel 5.10.78" {
        insmod part_msdos
        insmod ext2
        set root='hd0,msdos2'
        linux   /boot/vmlinuz-5.10.78 root=/dev/sda2 ro  
}

insmod part_msdosнужен, если у вас старая схема разделов. В системе UEFI это должно быть insmod part_gpt, но я их мало знаю. insmod ext2позволяет grub читать файловую систему ext2 (или ext4 ). set root=указывает, в каком разделе grub должен искать /boot/vmlinuz -5.10.78 (проверьте фактическое имя :оно может отличаться ), linuxуказывает, что следует загрузить ядро, которое следует, root=/dev/sda2указывает ваш будущий корневой каталог.

Если вам действительно нужна более миниатюрная альтернативная система,возможно, Gentoo лучше, но я знаю его только по имени. Вы должны начать с debootstrap.

0
11.11.2021, 14:06

Теги

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