Обычно при установке CentOS 7 вы загружаете ISO-образ, записываете его на флэш-накопитель и загружаете его. Однако у меня есть уникальный сценарий, в котором я хотел бы разместить установочные файлы CentOS 7 в системном разделе /boot/
и создать пользовательскую запись GRUB2
, которая может загружаться в эту среду. Затем его можно использовать для установки CentOS 7 в той же системе.
Я знаю, что это звучит глупо, но у меня есть на это свои причины..
Проведя небольшое исследование, я пытаюсь собрать воедино, как это работает. Вот что я сейчас вижу в своей голове:
GRUB2
загрузит ядро CentOS 7 vmlinuz
и initrd.img
.initrd.img
в память запускается служба dracut-initqueue
.dracut-initqueue
попытаются загрузить образ stage2
, который содержит среду выполнения установки (Anaconda, в данном случае).Итак, для начала я..
/images/pxeboot/vmlinuz
, /images/pxeboot/initrd.img
и /LiveOS/squashfs.img
(, которые, как я полагаю, содержат файлы образа stage2
)в мой /boot/
раздел./etc/grub.d/40_custom
добавлена следующая запись.menuentry "CentOS 7 Installation" {
set root=(hd0,msdos1)
linux /centos7-install/vmlinuz initrd=initrd.img stage2=/centos7-install/squashfs.img
initrd /centos7-install/initrd.img
}
Сделав вышеописанное, я надеялся, что смогу хотя бы загрузить Anaconda, однако вместо этого он просто загружает сообщения «dracut-initqueue timeout». К сожалению, мне не удалось найти какие-либо журналы, которые намекают на то, что именно пошло не так.
Может быть, кто-нибудь подскажет, как это сделать?
Замените следующую строку
linux /centos7-install/vmlinuz initrd=initrd.img stage2=/centos7-install/squashfs.img
на
linux /centos7-install/vmlinuz inst.repo=<source>
, где <source>
может быть http://host/path
полной копией каталогов и файлов на полном установочном DVD. При желании вы можете извлечь файлы из «загрузочного» ISO и скопировать только файл .treeinfo
из «DVD» ISO. См. дополнительные параметры (, такие как NFS), в документации .
Разумеется, для использования этого метода «как есть» требуется доступ к сети.