This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision | ||
doc_extra:install2flash [2011/04/19 19:57] 124.247.235.162 aqPOuRiXlG |
doc_extra:install2flash [2014/12/18 21:33] (current) |
||
---|---|---|---|
Line 1: | Line 1: | ||
- | XudazT | + | ====== Установка Frenzy 1.1 на USB Flash. ======= |
+ | |||
+ | // | ||
+ | |||
+ | В качестве загрузчика будем использовать **Syslinux**. | ||
+ | |||
+ | В первую очередь нужно получить загрузочный образ. | ||
+ | В образе должна быть только папка **boot**, с файлом **boot.config** образ грузился только под qemu. | ||
+ | Можно собрать его 2 способами: | ||
+ | |||
+ | **1. как у AID' | ||
+ | |||
+ | 1.1 Оставляем в ISO образе только папку boot! | ||
+ | |||
+ | 1.2 Папку frenzy кидаем в корень флешки (FAT32) | ||
+ | |||
+ | 1.3 Новый образ диска (чуть более 6 Мб) сохраняем в папке frenzy на флешке frenzy/ | ||
+ | |||
+ | 1.4 Качаем скрипт http:// | ||
+ | |||
+ | <code> | ||
+ | #!/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; | ||
+ | imgoutfile=$1; | ||
+ | |||
+ | 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 ' | ||
+ | SECTS=$((($ISOSIZE + ($ISOSIZE/5))*2)) | ||
+ | |||
+ | # Root partition size | ||
+ | |||
+ | echo " | ||
+ | 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 / | ||
+ | |||
+ | mkdir -p ${tmpdir}/ | ||
+ | |||
+ | mount -t cd9660 / | ||
+ | mount / | ||
+ | |||
+ | echo " | ||
+ | ( cd ${tmpdir}/iso && find . -print -depth | cpio -dump ${tmpdir}/ | ||
+ | #bzcat ${tmpdir}/ | ||
+ | 1 > /dev/null | ||
+ | |||
+ | #echo "/ | ||
+ | |||
+ | if [ ${serial} -eq 2 ]; then | ||
+ | echo " | ||
+ | echo ' | ||
+ | oader.conf | ||
+ | elif [ ${serial} -eq 1 ]; then | ||
+ | echo " | ||
+ | echo ' | ||
+ | fi | ||
+ | |||
+ | cleanup() { | ||
+ | umount ${tmpdir}/ | ||
+ | mdconfig -d -u ${isodev} | ||
+ | umount ${tmpdir}/ | ||
+ | mdconfig -d -u ${imgdev} | ||
+ | rm -rf ${tmpdir} ${tmpfile} | ||
+ | } | ||
+ | |||
+ | cleanup | ||
+ | |||
+ | ls -lh ${imgoutfile} | ||
+ | </code> | ||
+ | |||
+ | 1.5 Грузимся в Frenzy с компакта, | ||
+ | |||
+ | 1.6 Монтируем флешку | ||
+ | < | ||
+ | mount -t msdosfs /dev/da1s1 /mnt/tmp | ||
+ | </ | ||
+ | |||
+ | 1.7 Переходим в каталог frenzy на флешке. | ||
+ | < | ||
+ | cd / | ||
+ | </ | ||
+ | |||
+ | 1.8 Запускаем скрипт iso2ufs.sh | ||
+ | < | ||
+ | ./ | ||
+ | </ | ||
+ | 1.9 Ждем до окончания работы скрипта | ||
+ | |||
+ | **2. как у qwerty.** | ||
+ | |||
+ | 2.1 Грузимся в Frenzy с компакта, | ||
+ | |||
+ | 2.2 Монтируем флешку и копируем на нее все содержимое каталога frenzy с компакта: | ||
+ | < | ||
+ | mkdir /mnt/flash && mount -t msdosfs /dev/da1s1 / | ||
+ | cp -r / | ||
+ | </ | ||
+ | |||
+ | 2.3 Переходим в каталог frenzy на флешке. | ||
+ | < | ||
+ | cd / | ||
+ | </ | ||
+ | |||
+ | 2.3 Создаем микрообраз загрузочного диска | ||
+ | < | ||
+ | dd if=/ | ||
+ | mdconfig -a -t vnode -f frenzy-boot.img -x 63 -y 16 md3 | ||
+ | fdisk -a -i /dev/md3 | ||
+ | (на все вопросы отвечаем отрицательно кроме ' | ||
+ | </code> | ||
+ | |||
+ | 2.4 Устанавливаем загрузчик FreeBSD | ||
+ | < | ||
+ | boot0cfg -B -b / | ||
+ | bsdlabel -w -B -b / | ||
+ | </ | ||
+ | |||
+ | 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 / | ||
+ | </ | ||
+ | |||
+ | 2.8 Отмонтируем образ: | ||
+ | < | ||
+ | umount /mnt/tmp | ||
+ | </ | ||
+ | |||
+ | 2.9 Удаляем md-устройство: | ||
+ | < | ||
+ | mdconfig -d -u 3 | ||
+ | </ | ||
+ | |||
+ | Для загрузки образа будем использовать **memdisk** из комплекта **syslinux**. | ||
+ | Взять можно здесь http:// | ||
+ | После выполнения этих действий нужно будет внести строки | ||
+ | < | ||
+ | LABEL frenzy | ||
+ | MENU LABEL Frenzy 1.1 RUS | ||
+ | KERNEL / | ||
+ | APPEND initrd=/ | ||
+ | </ | ||
+ | в файл / |