Вот один из способов сделать это, используя «много оклеветанную» оболочку 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
Один из самых простых способов установить минимальную систему 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
.