Я пытаюсь развернуть образ клона через pxeboot на жестком диске. Для этого я хочу использовать инструмент dd. Я знаю, что есть несколько инструментов, таких как fog и clonezilla, которые делают то же самое, но это университетский проект.
Задний план:
В настоящее время я развертываю VMlinuz и initrd.img через pxeboot, и поскольку это дает мне среду для запуска моего сценария bash, после завершения загрузки я делаю dd для развертывания образа на жестком диске. Это прекрасно работает.
Вопрос: Теперь вместо упаковки образа диска в initrd.img (что очень дорого) я хочу смонтировать nfs, который находится на сервере pxe. Но когда initrd загружается, и я пытаюсь пинговать сервер pxe, он выдает ошибку «Сеть недоступна»
Я попытался найти RC и считаю, что eth0 не настроен и у меня нет IP-адреса. Далее я попытался найти способ включить этот eth0, но один из способов связан с модификацией intramfs, что для меня очень ново. Может ли кто-нибудь помочь мне здесь получить некоторые отправные точки.
Спасибо
Вот что происходит. Когда вы загружаете vmlinuz / initrd PXE, чистая передача обоих файлов выполняется при поддержке сетевого драйвера PXE "UNDI", расположенного в прошивке PXE вашего клиента. С того момента, как vmlinuz активен и смонтировал initrd, драйвер PXE UNDI больше не используется, теперь соответствующий Linux
сетевой драйвер используется вместо ("if available")
.
Из того, что вы говорите, мне кажется, что вы используете набор vmlinuz / initrd, который does not have net support
или, возможно, вы возитесь со сценарием инициализации и вызываете ping
services до того, как init установит сетевые службы Linux.
Когда набор vmlinuz / initrd действительно имеет сетевую поддержку, вы увидите, когда ядро запускает новый запрос DHCP, поскольку ему необходимо инициализировать свои сетевые адаптеры, несмотря на то, что драйвер UNDI сделал то же самое всего несколько секунд назад перед передачей vmlinuz / initrd. Затем вы можете увидеть, имеет ли ваш набор сетевую поддержку или нет, подтвердив наличие 1 или 2 запросов DHCP; или просто посмотрите код инициализации.
если у вашего набора нет сетевой поддержки, просто получите новый набор. Вы можете найти множество наборов kernel / initrd с поддержкой сети на Сервы страница. Пожалуйста примите к сведению depending on the set
есть определенные параметры syslinux, которые необходимо добавить, чтобы правильно настроить сетевые службы, например, ipappend 2
и ip=dhcp
или ip=bootp
и т.д