Назад | Перейти на главную страницу

Более простой способ добавить поддержку eth0 в initrd.img (Centos)

Я пытаюсь развернуть образ клона через 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 и т.д