Понимаю, что тема достаточно избитая и существует достаточно много статей по данной теме, но никак не получается повторить. Хотелось просто скомпилировать весь собранный материал дабы избежать возможных граблей.
1. Подготовка дистрибутива.
Для подготовки образа, готового для раскатки на флэшке использовался скрипт Dario Freni's script:
http://docs.freebsd.org/cgi/getmsg.cgi? ... sd-hackers
Код: Выделить всё
#!/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/loader.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}
./fbsd-install-iso2img.sh 7.0-RELEASE-i386-disc1.iso 7.0-RELEASE-i386-disc1.img
2. Делаем загрузочную флэшку из полученного в предыдущем пункте образа.
dd if=7.0-RELEASE-i386-disc1.img of=/dev/da0
3. Установка и облом.
В BIOS выбираем загрузку с USB-HDD, вставляем нашу загрузочную флэшку, смотрим. Начинается загрузка как-будто с привычного CD, то есть проходим все этапы, но вот облом с выбором источника установки. Выбираем вариант "Existing file system", указываем путь - "/", получаем "Unable to transfer the base distribution from ufs".
Уважаемые, ткните пожалуйста что делаю не так.