# В parse_cmdline() добавить:
boot=casper)
export BOOT=casper ;;
netboot=http)
export NETBOOT=http ;;
url=*)
export HTTP_URL="${x#url=}" ;;
# Добавить новую функцию do_httpmount() (как в предыдущем сообщении)
# В mountroot() изменить условие:
if [ ! -z "${NETBOOT}" ]; then
if [ "${NETBOOT}" = "http" ]; then
if do_httpmount ; then
livefs_root="${mountpoint}"
else
panic "Unable to find a live file system via HTTP"
fi
elif do_netmount ; then
livefs_root="${mountpoint}"
else
panic "Unable to find a live file system on the network"
fi
else
# ... оригинальный код ...
fi
# В конец mountroot() добавить очистку:
if [ ! -z "${HTTP_MOUNTED}" ]; then
umount ${mountpoint}
rm -rf /tmp/http_mount
fi
Создаём рабочую папку и скачиваем LiveDisk:
mkdir /tmp/drweb && cd /tmp/drweb
wget -nc -c -q --show-progress download.geo.drweb.com/pub/drweb/livedisk/drweb-li...
Ставим 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 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 192.168.0.1/PXE/Dr.Web/vmlinuz
APPEND initrd=192.168.0.1/PXE/Dr.Web/initrd.lz boot=casper
match if (substring(option op60,0,7) ~= "yealink";
log(info, substring(option op60,0,7));
что то там с образами и скриптами внутренними...
Caine получилось запустить, Hiren запустил.
Strelec - ни в какую.
Касперский - так же не хочет.