Может ли кто-нибудь сказать мне, как выполнять сценарии bash через загрузку pxe. Что я пытаюсь сделать, это когда загружается Raw Server, я хочу развернуть клонированный образ на жестком диске с помощью загрузки PXE. Я знаю, что есть такие инструменты, как Fog, которые делают то же самое. Но я пытаюсь сделать это с помощью dd в рамках университетского проекта. Приветствуется любая помощь.
Редактировать:
I followed following procedure.
1. Copied vmlinuz and initrd to tftp directory
2. Unpacked initrd (Using https://www.novell.com/documentation/zenworks7/dm7admin/data/b2cdjzb.html)
3. Added following lines in init script
echo "Deploying image of an ESXi Hypervisor"
echo "Downloading image"
wget http://192.168.1.250/backup/esxi -O /bin/esxi
echo "Deploying image"
sudo dd if=~/bin/esxi of=/dev/rdisk2 bs=1m
echo "Process Complete"
4. Repacked initrd
5. Added both files initrd and vmlinuz under boot folder /tftpboot/boot
6. Added following lines in pxe default file
label VMware ESXi (Last Backup 1)
KERNEL boot/vmlinuz
APPEND initrd=boot/initrd
But it still gives error "mountinng /sys on /root/sys failed"
Что мне здесь не хватает?
Вот пошаговое руководство по созданию собственного загрузочного живого компакт-диска, который теоретически можно было бы собрать, чтобы делать все, что захотите.
Это позволит вам создать среду, которая будет загружаться и выполнять то, что вам нужно.
http://ubuntuforums.org/showthread.php?t=688872
Затем вы просто загружаете этот iso с сервера pxe.
https://help.ubuntu.com/community/PXEInstallServer
Я указал ubuntu в качестве операционной системы только потому, что она очень хорошо документирована.
Удачи!
Получите ядро и initrd.gz из любого дистрибутива с поддержкой PXE, например Ubuntu. Каждый initrd имеет init
скрипт, который обычно загружает сетевые драйверы, отображает диски и т. д. и т. д. и т. д. и т. д. вы вполне можете создать дополнительное переопределение initrd init
добавление вашего кода. Когда вы загружаете свой клиент с помощью pxeboot, например, pxelinux, вы можете загружать оба initrd, разделенные запятыми последовательно. Содержимое второго initrd перезапишет содержимое исходного. Этот метод имеет несколько преимуществ: вам не нужно трогать исходный initrd. Собрать вторичный initrd легко / быстро, потому что это очень маленький файл и т. Д. И т. Д.
РЕДАКТИРОВАТЬ:
init обычно представляет собой сложный сценарий, вызывающий несколько модулей. Как я уже сказал ранее, он загружает сетевые драйверы, отображает диски и т. Д. И т. Д. Для PXE-загрузки вашего набора kernel / initrd вам обязательно нужно будет передать дополнительные параметры в append
линия; пожалуйста, посмотри как Serva PXE-загрузка / установка нескольких дистрибутивов Linux (нужные параметры можно взять оттуда). Учтите, что initrd может в конечном итоге отобразить определенное меню установки или что-то подобное; вы должны следовать коду инициализации и вставлять «свой» код прямо перед тем, как это произойдет. Эта задача требует хорошего знания Bash и Linux в целом. Пожалуйста, не ожидайте 5-минутной работы.