====== Установка Frenzy 1.1 на USB Flash. =======
//Инструкция от DarkSide83.//
В качестве загрузчика будем использовать **Syslinux**.
В первую очередь нужно получить загрузочный образ.
В образе должна быть только папка **boot**, с файлом **boot.config** образ грузился только под qemu.
Можно собрать его 2 способами:
**1. как у AID'а**
1.1 Оставляем в ISO образе только папку boot!
1.2 Папку frenzy кидаем в корень флешки (FAT32)
1.3 Новый образ диска (чуть более 6 Мб) сохраняем в папке frenzy на флешке frenzy/frenzy-boot.iso
1.4 Качаем скрипт http://docs.freebsd.org/cgi/mid.cgi?4420AF56.60106, правим его и сохраняем его на флешке frenzy/iso2ufs.sh.
#!/bin/sh
# You can set some variables here. Edit them to fit your needs.
# Set serial variable to 0 if you don't want serial console at all,
# 1 if you want comconsole and 2 if you want comconsole and vidconsole
serial=0
set -u
if [ $# -lt 2 ]; then
echo "Usage: $0 source-iso-path output-img-path"
exit 1
fi
isoimage=$1; shift
imgoutfile=$1; shift
export tmpdir=$(mktemp -d -t fbsdmount)
# Temp file and directory to be used later
export tmpfile=$(mktemp -t bsdmount)
export isodev=$(mdconfig -a -t vnode -f ${isoimage})
echo "#### Building bootable UFS image ####"
ISOSIZE=$(du -k ${isoimage} | awk '{print $1}')
SECTS=$((($ISOSIZE + ($ISOSIZE/5))*2))
# Root partition size
echo "Initializing image..."
dd if=/dev/zero of=${imgoutfile} count=${SECTS}
ls -l ${imgoutfile}
export imgdev=$(mdconfig -a -t vnode -f ${imgoutfile})
bsdlabel -w -B ${imgdev}
newfs -O1 /dev/${imgdev}a
mkdir -p ${tmpdir}/iso ${tmpdir}/img
mount -t cd9660 /dev/${isodev} ${tmpdir}/iso
mount /dev/${imgdev}a ${tmpdir}/img
echo "Copying files to the image..."
( cd ${tmpdir}/iso && find . -print -depth | cpio -dump ${tmpdir}/img )
#bzcat ${tmpdir}/iso/dist/root.dist.bz2 | mtree -PUr -p ${tmpdir}/img 2>&=
1 > /dev/null
#echo "/dev/ufs/${UFS_LABEL} / ufs ro 1 1" > ${tmpdir}/img/etc/fstab
if [ ${serial} -eq 2 ]; then
echo "-D" > ${tmpdir}/img/boot.config
echo 'console="comconsole, vidconsole"' >> ${tmpdir}/img/boot/l=
oader.conf
elif [ ${serial} -eq 1 ]; then
echo "-h" > ${tmpdir}/img/boot.config
echo 'console="comconsole"' >> ${tmpdir}/img/boot/loader.conf
fi
cleanup() {
umount ${tmpdir}/iso
mdconfig -d -u ${isodev}
umount ${tmpdir}/img
mdconfig -d -u ${imgdev}
rm -rf ${tmpdir} ${tmpfile}
}
cleanup
ls -lh ${imgoutfile}
1.5 Грузимся в Frenzy с компакта, или через виртуальную машину.
1.6 Монтируем флешку
mount -t msdosfs /dev/da1s1 /mnt/tmp
1.7 Переходим в каталог frenzy на флешке.
cd /mnt/tmp/frenzy
1.8 Запускаем скрипт iso2ufs.sh
./iso2ufs.sh frenzy-boot.iso frenzy-boot.img
1.9 Ждем до окончания работы скрипта
**2. как у qwerty.**
2.1 Грузимся в Frenzy с компакта, или через виртуальную машину.
2.2 Монтируем флешку и копируем на нее все содержимое каталога frenzy с компакта:
mkdir /mnt/flash && mount -t msdosfs /dev/da1s1 /mnt/flash
cp -r /Frenzy/boot/frenzy /mnt/flash/
2.3 Переходим в каталог frenzy на флешке.
cd /mnt/flash/frenzy
2.3 Создаем микрообраз загрузочного диска
dd if=/dev/zero of=frenzy-boot.img bs=63k count=`expr 10206 / 63`
mdconfig -a -t vnode -f frenzy-boot.img -x 63 -y 16 md3
fdisk -a -i /dev/md3
(на все вопросы отвечаем отрицательно кроме 'Should we write new partition table ?')
2.4 Устанавливаем загрузчик FreeBSD
boot0cfg -B -b /Frenzy/boot/boot/boot0 -o packet -s 1 -m 3 /dev/md3
bsdlabel -w -B -b /Frenzy/boot/boot/boot /dev/md3s1
2.5 Создаем файловую систему
newfs -n -o space -m 0 -b 4096 -f 512 -i 8192 /dev/md3s1a
2.6 Монтируем образ:
mount /dev/md3s1a /mnt/tmp
2.7 Копируем только папку **boot**:
cp -r /Frenzy/boot/boot /mnt/tmp/
2.8 Отмонтируем образ:
umount /mnt/tmp
2.9 Удаляем md-устройство:
mdconfig -d -u 3
Для загрузки образа будем использовать **memdisk** из комплекта **syslinux**.
Взять можно здесь http://www.kernel.org/pub/linux/utils/boot/syslinux/.
После выполнения этих действий нужно будет внести строки
LABEL frenzy
MENU LABEL Frenzy 1.1 RUS
KERNEL /vimages/memdisk #путь до memdisk
APPEND initrd=/frenzy/frenzy-boot.img harddisk bigraw
в файл /boot/syslinux.cfg(у меня на флешке уже была сборка ultilex-3.0.0, там я внес эти строки в /boot/slax.cfg).