User Tools

Site Tools


doc_extra:install2flash

Установка 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).

doc_extra/install2flash.txt · Last modified: 2014/12/18 21:33 (external edit)