Загрузка Livecd через сеть (pxe)
#21
Отправлено 01 Сентябрь 2011 - 16:46
http://www.syslinux.org/wiki/index.php/MEMDISK#ISO_images
Однако пока загрузить образ не смог, по всей видимости у меня неверный синтаксис PXELINUX.CFG/default
Нужно как-то подсунуть ему ISO, после того как INITRD перехватил инициативу у pxelinux.0
#22
Отправлено 26 Сентябрь 2011 - 09:04
Ближе всего к ответу я подобрался тут:
http://www.syslinux.org/wiki/index.php/MEMDISK#ISO_images
Однако пока загрузить образ не смог, по всей видимости у меня неверный синтаксис PXELINUX.CFG/default
Нужно как-то подсунуть ему ISO, после того как INITRD перехватил инициативу у pxelinux.0
У меня в default прописано так:
label drweb
MENU LABEL Drweb 6.0 LiveCD
KERNEL /memdisk
APPEND iso
INITRD /images/antivirus/drweb-livecd-600.iso
Доходит до экрана с картинкой DrWeb и дальше не загружается.
#23
Отправлено 10 Февраль 2012 - 15:30
#24
Отправлено 13 Февраль 2012 - 19:33
- клиента для настройки сети по DHCP (dhclient/dhcpcd). Т.е., не получится передать параметр ip=dhcp
- утилит для работы с NFS, например, nfsmount.
- в скриптах вроде /sbin/find_root или /linuxrc нет и намёка об обработке /dev/nfs и возможного монтирования. Есть только упоминание в одной строке в файле /sbin/find_root, но дальше идёт попытка работать с /dev/nfs как с блочным устройством, но оно вообще отсутствует. Судя по логу, полученном через COM-порт (могу выложить, если кто попросит), никаких попыток обрабатывать параметры ядра, касающиеся NFS до момента запуска /sbin/find_root вообще не производится.
Теперь для тех, кто хотел грузить ISO-образ через MEMDISK.
Внимательно читаем http://www.syslinux....p/MEMDISK#Linux
И тут встает вопрос - а не проще ли собрать initrd самому? Только надо туда перенести некоторые специфичные участки скриптов.
Но в любом случае надо приложить много усилий, что на фоне игнорирования специалистами Dr.WEB'а кажется нецелесообразным. И, к глубокому сожалению, но даже для
Kaspersky RescueCD есть рабочие мануалы.
// такое впечатление, что LiveCD вообще не развивается. Ядро старое, драйвера не обновляются. Sergey Trubin последний раз проявлял активность ещё в мае 2011 года.
#25
Отправлено 19 Июнь 2012 - 16:21
Я делал сетевую закрузку лайв сд Убунты. Пробовал и другие лайв сд, но с переменным успехом.
#26
Отправлено 06 Ноябрь 2012 - 07:24
Есть ли продвижения в этом направлении?
Сообщение было изменено Chaser: 06 Ноябрь 2012 - 07:25
#27
Отправлено 25 Ноябрь 2012 - 20:45
Присоединяюсь к вопросу, но что-то мне подсказывает что ответа мы можем и не дождаться...
#28
Отправлено 27 Ноябрь 2012 - 11:12
#29
Отправлено 28 Ноябрь 2012 - 04:00
Очень жаль. Когда-то Sergey Trubin сказал, что стоит ждать PXE. К сожалению, ожидания были тщетны.Ответ простой - ничего не изменилось в этом направлении.
А можно узнать, почему? Это невыгодно компании или просто никто не хочет этим заниматься?
#30
Отправлено 28 Ноябрь 2012 - 12:12
потому что работа была сфокусирована на других вещах, в частности на работе с реестром.А можно узнать, почему?
#31
Отправлено 30 Ноябрь 2012 - 22:03
В свете релизнувшегося LiveCD DrWeb 6.0.2 решил бампнуть тему.
Есть ли продвижения в этом направлении?
Chaser, привет тебе от adriano32
Собственно не понимаю, зачем беспокоишь ребят из DrWeb, дай им сосредоточится на разработке антивирусного ПО, сделай сам! Так сказать, кесарю - кесарево, а слесарю - слесарево:
* загружаешь свой любимый live-linux дистрибутив с поддержкой squashfs в ядре по сети;
* получаешь доступ к ISO-образу DrWeb Live CD (загружаешь из интернет или с локального веб-сервера или монтируешь по CIFS или NFS)
* монтируешь ISO-образ DrWeb Live CD на петлевом устройстве;
* монтируешь четыре squashfs-образа из boot/modules каждый в отдельный каталог, например /mnt/_white, /mnt/flash, /mnt/firmware, /mnt/drweb_bases тоже на петлевом устройстве;
* создаёшь tmpfs в пятый каталог, например, /mnt/config, кладёшь туда boot/config на всякий случай;
* собираешь при помощи mhddfs или unionfs-fuse все пять каталогов в один, например, /mnt/chroot причём /mnt/config с tmpfs первым и RW, остальные ясен пень RO;
* предварительно смонтировав dev, proc, sys, dev/pts и захватив копию /etc/resolv.conf chroot'ишься в этот каталог /mnt/chroot
Готовый для использования в некоммерческих целях, но загруженный по сети, экземпляр DrWeb Live CD с 100% работающим обновлением баз и консольным антивирусником готов для эксплуатации. Остаётся лишь собрать всё вышеперечисленное в скрипт, чтоб не делать вручную.
Что касается работы GUI, я не интересовался этим, но могу попробовать на досуге.
#32
Отправлено 20 Декабрь 2012 - 21:27
Грузим iso в память через pxe, даже tftpd ненужен, можно средствами dnsmasq обойтись.
Завтра приду на работу и проверю, дома отдыхать над.
Если попрёт, то выложу конфиги,
ЗЫ
Полигон на OpenSuse 12.2
#33
Отправлено 26 Март 2013 - 17:24
Всем привет. Недавно на http://habrahabr.ru появилась статья как запустить Веба по сети. Вот статья:
В то время, как космические корабли уже более 50 лет бороздят просторы большого театра, некоторые дистрибутивы всё ещё предпочитает старую добрую болванку новомодным способам загрузки.
Ещё в далеком 2009-м году пользователи начали интересоваться, когда же Доктор Вэб добавит загрузку по сети. Но, как видно, за неполные пять лет пожелания пользователей так и не сумели достичь ушей разработчиков.
Всё же унывать не стоит! Существуют же дистрибутивы, готовые грузиться чуть ли не с балалайки… Поэтому возьмем в руки напильник и доведем дело до конца.
Ничего нового в способах загрузки не изобретено:
- Запуск ядра
- Запуск initrd, выполнение предварительной инициализации
- Загрузка Dr.Web Gentoo Linux
- Запуск Gnome
- Запуск антивируса
Вся суть предварительной инициализации фактически сводится к тому, что производится поочередное монтирование всех доступных устройств и поиск модулей Dr.Web в них. Как только модули найдены, они собираются посредством aufs в единую файловую систему, после чего выполняется chroot.
Собственно это всё, так как здесь становится ясно, чего не хватает в загрузчике. Способов решения — множество. Я предпочел скопировать весь образ LiveCD в память, а там посредством losetup создать новое устройство. Его имя я скормлю процедуре инициализации так, что она будет думать, что мы грузимся с обычного компакт-диска.
Для этого необходимо:
- Скопировать модули сетевых карт c LiveCD в initrd
- Добавить в initrd DHCP-клиент (/bin/ipconfig + /lib/klibc-*.so)
- Перекомпилировать пакет BusyBox и включить в него всё необходимое: tftp, wget, losetup и т.д.
- Написать код управления сетевыми утилитами
Так как всё уже давно изобретено до нас, то код управления сетью и DHCP-клиент мы возьмем из GParted. Модули сетевых карт — из образа загрузочного диска Dr.Web. Ну а BusyBox сконфигурируем так, чтобы в нем остались все старые утилиты и добавилась парочка новых. Для того, чтобы знать, как разработчики Dr.Web сконфигурировали BusyBox и от чего отталкиваться, воспользуемся bbconfig, который можно найти в исходном initrd.
Нехитрые манипуляции по внесению изменений и сборке BusyBox оставим читателю в качестве домашнего упражнения. Готовый же InitRD находится здесь.
После того, как initrd готов, нам остается выложить на TFTP-сервер ядро, initrd, сам ISO-образ диска и добавить новый пункт загрузки:
LABEL drweb KERNEL drweb-vmlinuz APPEND ID=sP0pZH5mhSy0kCAC root=/dev/ram0 init=/linuxrc init_opts=4 \ quiet initrd=drweb-initrd splash=verbose CONSOLE=/dev/tty1 \ fetch=tftp://A.B.C.D/drweb-livecd-602.iso
Вот ссылка на полную статью http://habrahabr.ru/sandbox/59811/ там есть скрипты необходимые.
У меня на Centos 6.4 так и не получилось запустить сие чудо, у кого получится отпишитесь как.
#34
Отправлено 08 Апрель 2013 - 14:26
У меня на Centos 6.4 так и не получилось запустить сие чудо, у кого получится отпишитесь как.
В строке параметров загрузки InitRD поправьте ID, чтобы соответствовал BOOT_ID в файле boot/modules в ISO.
Это проверка на то, что InitRD соответствует содержимому ISO.
#35
Отправлено 14 Апрель 2013 - 00:49
У меня на Centos 6.4 так и не получилось запустить сие чудо, у кого получится отпишитесь как.
В строке параметров загрузки InitRD поправьте ID, чтобы соответствовал BOOT_ID в файле boot/modules в ISO.
Это проверка на то, что InitRD соответствует содержимому ISO.
Спасибо да действительно не заметил, может еще подскажите вот тут
fetch=tftp://A.B.C.D/drweb-livecd-602.iso
вместо A.B.C.D должен быть ip адрес сервера, и вроде как в браузере должна открываться ссылка tftp://адрес сервера
#36
Отправлено 15 Апрель 2013 - 16:17
вместо A.B.C.D должен быть ip адрес сервера
A.B.C.D - адрес сервера в вашей локальной сети, где доступен tftp-сервер.
и вроде как в браузере должна открываться ссылка tftp://адрес сервера
нет, в браузере не должен открываться, если только ваш браузер вдруг не научился работать с протоколом tftp (tftp и ftp - это не одно и то же)
#37
Отправлено 23 Май 2013 - 15:36
Пытался адаптировать под WDS, под который подсунут pxelinux по ману отсюда http://habrahabr.ru/post/171329/ , поднимал отдеьный tftp сервер на tftp32
#38
Отправлено 26 Сентябрь 2013 - 00:15
лучше не делать загрузку по сети, тормозить будет сильно и могут быть глюки во время работы и придется все заново делать... было такое уже и не только у меня
Сообщение было изменено SergM: 26 Сентябрь 2013 - 00:18
Я Ваше безобразии с рекламой удалил.
#39
Отправлено 16 Май 2016 - 14:15
реанимируем тему
live cd версии 9 та что построена на ubuntu
у нас сделано так :
- каталог drweb расшарен по NFS(имя общего ресурса тоже drweb) , в него скопирован каталог с содержимым casper (c LiveCD)
- 192.168.20.30 - ip адрес сервера NFS
LABEL drweb MENU LABEL --- Dr Web Live CD TEXT HELP Dr Web Live CD !!! после запуска выбрать консоль(console) и ввести команду dhclient для обновления сетевых настроек ENDTEXT KERNEL ../drweb/casper/vmlinuz INITRD ../drweb/casper/initrd.lz APPEND root=/dev/nfs boot=casper netboot=nfs nfsroot=192.168.20.30:/drweb language=ru locale=ru_RU.UTF-8 quiet splash noapic --
#40
Отправлено 22 Июнь 2016 - 19:14
И поддерживаем в теме активность)
NFS у меня-извращенца нет, хотел грузиться с netboot=cifs, но не прокатило, полез в initramfs ковырять скрипты casper'а, долез до выпиленного /sbin/mount.cifs, и стало мне грустно и лениво...
В итоге сделал что-то вроде fetch'a, итак:
Создаём рабочую папку и скачиваем LiveDisk:
mkdir /tmp/drweb && cd /tmp/drweb
wget -nc -c -q --show-progress http://download.geo.drweb.com/pub/drweb/livedisk/drweb-livedisk-900-cd.iso
Ставим genisoimage и извлекаем из LiveDisk'а содержимое папки casper:
sudo apt install genisoimage -y
isoinfo -Jf -i drweb-livedisk-900-cd.iso | sed -n "s/^\/casper\///p" | while read x; do isoinfo -J -x /casper/$x -i drweb-livedisk-900-cd.iso > $x; done && rm drweb-livedisk-900-cd.iso
Патчим initramfs:
lzma -dc -S .lz initrd.lz | cpio -id && rm initrd.lz
sed -i '/# Scan local devices for the image/,/done/ {
/#/ i\
# Configuring network and fetching squashfs\
ipconfig eth0\
livefs_root=/cdrom\
mkdir -p ${livefs_root}/casper\
for x in drweb-10bin drweb-25key drweb-50bases filesystem\
do wget http://192.168.0.1/PXE/Dr.Web/$x.squashfs -P ${livefs_root}/casper\
done
d
}' scripts/casper
find -mindepth 1 | grep -ve "vmlinuz\|initrd.lz\|\.squashfs" | cpio --quiet --dereference -o -H newc | lzma -9 > initrd.lz
find -mindepth 1 -maxdepth 1 | grep -ve "vmlinuz\|initrd.lz\|\.squashfs" | xargs rm -r
Вот собственно и всё, осталось скопировать содержимое папки /tmp/drweb на PXE-сервер, и грузить через pxelinux можно как-то так:
KERNEL http://192.168.0.1/PXE/Dr.Web/vmlinuz
APPEND initrd=http://192.168.0.1/PXE/Dr.Web/initrd.lz boot=casper
P.S. Метод в сравнении NFS конечно проигрывает, так как и грузится до-о-о-льше и оперативки лишней 650MB отжирает...
Читают тему: 0
0 пользователей, 0 гостей, 0 скрытых