Оказалось, что дистрибутив antiX Linux не хочет дружить с моим Acer C720: установщик впадает в так называемый bootloop. Причина заключается в особенностях Sea BIOS, которая забирает себе 16М нижней памяти, что приводит к краху syslinux. Это исправлено в версии 6.04 syslinux, но что делать мне сейчас со старым дистрибутивом на руках? Будем заменять syslinux в ISO.
Забираем и распаковываем новый syslinux:
wget https://www.kernel.org/pub/linux/utils/boot/syslinux/Testing/6.04/syslinux-6.04-pre1.tar.gz
tar zxvpf syslinux-6.04-pre1.tar.gz
Из этого каталога мы потом заберём свежие версии файлов.
Монтируем и копируем содержимое установочного диска в каталог dst
- корень нового установочного образа. У меня установочный образ был на флешке /dev/sdb
mkdir dst /mnt/dst
mount -t iso9660 /dev/sdb /mnt/dst
cp -a /mnt/dst ./
umount /mnt/dst
cd dst
Забираем загрузочный сектор.
dd if=/dev/sdb bs=512 count=1 of=isohdpfx.bin
Нужно скопировать файлы из каталога с новой версией syslinux в dst/boot/isolinux/
Список файлов для копирования:
./bios/com32/chain/chain.c32
./bios/com32/gfxboot/gfxboot.c32
./bios/core/isolinux.bin
./bios/com32/elflink/ldlinux/ldlinux.c32
./bios/com32/lib/libcom32.c32
./bios/com32/cmenu/libmenu/libmenu.c32
./bios/com32/libutil/libutil.c32
./bios/com32/menu/menu.c32
В файле dst/boot/isolinux/version
пишем новую версию 6.04.
Запускаем небольшой скрипт в родительском каталоге dst
#!/bin/sh
MBR_FILE=isohdpfx.bin
xorriso -as mkisofs \
-iso-level 3 \
-R -J -pad \
-full-iso9660-filenames \
-volid "antiXlive" \
-eltorito-boot boot/isolinux/isolinux.bin \
-eltorito-catalog boot/isolinux/isolinux.cat \
-no-emul-boot -boot-load-size 4 -boot-info-table \
-isohybrid-mbr ${MBR_FILE} \
-eltorito-alt-boot \
-e boot/grub/efi.img \
-no-emul-boot -isohybrid-gpt-basdat \
-output antix-core-c720.iso \
./dst
В результате получим новый ISO antix-core-c720.iso
, который можем записать обратно на флеш и загрузиться с него.