Перейти к содержимому


Фото
- - - - -

Загрузка Livecd через сеть (pxe)


  • Please log in to reply
44 ответов в этой теме

#41 j0ker-222

j0ker-222

    Newbie

  • Members
  • 1 Сообщений:

Отправлено 30 Август 2017 - 12:18

На протяжении четырех лет заглядывал на данный форум и вижу что ситуация не особо то и поменялась.

Так как хотелось добавить загрузку Dr.Web к уже существующим Kaspersky, AVG, NOD32, но ввиду проблем описаных в данной части форума забил так как на тот момент вполне хватало трех вышеперечисленных вендоров. Но из-за тяжелой формы коллекционирования решил все же прикрутить только в 2015. Заглянув на днях повторно, стало печально и решил все же приложить свой пример. Вполне уверен что никому не открою америку, но кто то да подчерпнет свое... 

В принципе мой способ основывается на способе загрузки LiveCD Ubuntu которых вполне много лежит на просторах "этих ваших интернетов", короче...

 

предположим что у нас есть сервер с tftp и nfs с уже настроенной инструкцией по загрузке tftp.

IP - 192.168.1.1

TFTP - /srv/tftp/drweb/

NFS - /srv/nfs/drweb/

 

1. копируем образ https://download.geo.drweb.com/pub/drweb/livedisk/drweb-livedisk-900-cd.iso

2. монтируем его(например в /mnt) и копируем из него /mnt/casper/initrd.lz и /mnt/casper/vmlinuz в /srv/tftp/drweb/

3. копируем все содержимое /mnt/. в /srv/nfs/drweb/ , должно получиться что то типо следующего

    /srv/nfs/drweb/

   ├── boot
   │   └── grub
   ├── casper
   ├── EFI
   │   └── BOOT
   ├── install
   ├── isolinux
   └── syslinux   
4. выставляем права chmod -R o=rx /srv/tftp/drweb/ /srv/nfs/drweb/
5. добавляем нижеприведеную инструкцию в уже существующую или "действуем по обстоятельствам"
LABEL 1
    MENU LABEL Dr.Web Rescue Disk 9
    KERNEL ::drweb/vmlinuz
    APPEND vga=normal initrd=::drweb/initrd.lz root=/dev/nfs boot=casper netboot=nfs nfsroot=192.168.1.1:/srv/nfs/drweb ip=:192.168.1.1:::::dhcp quiet splash --
    TEXT HELP
    Boot the Dr.Web Rescue Disk
    Base are new
    ENDTEXT

 

- параметр ip=:192.168.1.1:::::dhcp можно не использовать, в зависимости от ситуации. У меня DHCP и PXE на разных серверах и без данной опции загрузка не происходила, приходилось в консоли руками запускать dhclient ;

- если хочется видеть все на русском языке добавляем параметр ядра locale=ru_RU.UTF-8 ;

- можно давить параметр language=ru, но я не нашел данной опции применения ;

- так же можно добавить параметр toram что бы образ полнстью выгрузился в оперативку и не подсасывался по запросу с nfs, тем самым скорость начальной загрузки чутка увеличится, но можно будет отключить от системника ethernet патчкорд и спокойно продолжить работу в загрузившимся образе.

время загрузки на i3/4Gb/80Gb HDD у меня заняло 1 минуту 10 сек.

 

з.ы.: Так же пользуясь моментом хотелось бы передать привет сотрудникам Dr.Web не предоставивших ни одного внятного ответа по теме за шесть лет. На что тут фигурируют 7 ответов(практически по одному на год) в стиле - сидите ждите у моря погоды, мы все равно над этим не работаем, так как нам это не интересно, но вы держитесь там и всего хорошего.



#42 Konstantin Yudin

Konstantin Yudin

    Смотрящий

  • Dr.Web Staff
  • 18 103 Сообщений:

Отправлено 30 Август 2017 - 12:38

новый лайв диск продукт для windows пользователей.
linux там всего лишь оболочка для запуска, базируется на обычной ubuntu, так что все вопросы по линуксу нужно задавать искать на тематических форумах. вот и все.
With best regards, Konstantin Yudin
Doctor Web, Ltd.

#43 Dmitry Mikhirev

Dmitry Mikhirev

    Member

  • Dr.Web Staff
  • 380 Сообщений:

Отправлено 30 Август 2017 - 14:36

Так же пользуясь моментом хотелось бы передать привет сотрудникам Dr.Web не предоставивших ни одного внятного ответа по теме за шесть лет.

Так за последние четыре года ни одного вопроса и не было, только истории успеха.

#44 kasak

kasak

    Newbie

  • Posters
  • 30 Сообщений:

Отправлено 15 Ноябрь 2017 - 12:04

На протяжении четырех лет заглядывал на данный форум и вижу что ситуация не особо то и поменялась.

Так как хотелось добавить загрузку Dr.Web к уже существующим Kaspersky, AVG, NOD32, но ввиду проблем описаных в данной части форума забил так как на тот момент вполне хватало трех вышеперечисленных вендоров. Но из-за тяжелой формы коллекционирования решил все же прикрутить только в 2015. Заглянув на днях повторно, стало печально и решил все же приложить свой пример. Вполне уверен что никому не открою америку, но кто то да подчерпнет свое... 

В принципе мой способ основывается на способе загрузки LiveCD Ubuntu которых вполне много лежит на просторах "этих ваших интернетов", короче...

 

предположим что у нас есть сервер с tftp и nfs с уже настроенной инструкцией по загрузке tftp.

IP - 192.168.1.1

TFTP - /srv/tftp/drweb/

NFS - /srv/nfs/drweb/

 

1. копируем образ https://download.geo.drweb.com/pub/drweb/livedisk/drweb-livedisk-900-cd.iso

2. монтируем его(например в /mnt) и копируем из него /mnt/casper/initrd.lz и /mnt/casper/vmlinuz в /srv/tftp/drweb/

3. копируем все содержимое /mnt/. в /srv/nfs/drweb/ , должно получиться что то типо следующего

    /srv/nfs/drweb/

   ├── boot
   │   └── grub
   ├── casper
   ├── EFI
   │   └── BOOT
   ├── install
   ├── isolinux
   └── syslinux   
4. выставляем права chmod -R o=rx /srv/tftp/drweb/ /srv/nfs/drweb/
5. добавляем нижеприведеную инструкцию в уже существующую или "действуем по обстоятельствам"
LABEL 1
    MENU LABEL Dr.Web Rescue Disk 9
    KERNEL ::drweb/vmlinuz
    APPEND vga=normal initrd=::drweb/initrd.lz root=/dev/nfs boot=casper netboot=nfs nfsroot=192.168.1.1:/srv/nfs/drweb ip=:192.168.1.1:::::dhcp quiet splash --
    TEXT HELP
    Boot the Dr.Web Rescue Disk
    Base are new
    ENDTEXT

 

- параметр ip=:192.168.1.1:::::dhcp можно не использовать, в зависимости от ситуации. У меня DHCP и PXE на разных серверах и без данной опции загрузка не происходила, приходилось в консоли руками запускать dhclient ;

- если хочется видеть все на русском языке добавляем параметр ядра locale=ru_RU.UTF-8 ;

- можно давить параметр language=ru, но я не нашел данной опции применения ;

- так же можно добавить параметр toram что бы образ полнстью выгрузился в оперативку и не подсасывался по запросу с nfs, тем самым скорость начальной загрузки чутка увеличится, но можно будет отключить от системника ethernet патчкорд и спокойно продолжить работу в загрузившимся образе.

время загрузки на i3/4Gb/80Gb HDD у меня заняло 1 минуту 10 сек.

 

з.ы.: Так же пользуясь моментом хотелось бы передать привет сотрудникам Dr.Web не предоставивших ни одного внятного ответа по теме за шесть лет. На что тут фигурируют 7 ответов(практически по одному на год) в стиле - сидите ждите у моря погоды, мы все равно над этим не работаем, так как нам это не интересно, но вы держитесь там и всего хорошего.

 

Спасибо за ценный пост! 



#45 filisdiez

filisdiez

    Newbie

  • Posters
  • 9 Сообщений:

Отправлено 24 Июнь 2019 - 16:41

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 отжирает..

 

Не надеюсь на ответ, но все же можно поподробнее? Какой коммандой Вы патчили initramfs? И правильно ли будет использовать для загрузки с нфс netboot=nfs  nfsroot=ip:/?


Сообщение было изменено filisdiez: 24 Июнь 2019 - 16:41



Читают тему: 0

0 пользователей, 0 гостей, 0 скрытых