Для удобной установки я сделал себе скрипт, который при желании легко модернизируется кому как удобно
Скрипт я копирую на установочную флешку.
Все манипуляции делаются после того, как определил какой диск использую для будущей системы.
cat gpart-ufs.sh
#!/bin/sh
#
/sbin/umount /dev/md1
/sbin/mdmfs -s 512M md1 /tmp
/sbin/sysctl kern.geom.debugflags=0x10
/bin/dd if=/dev/zero of=/dev/$1 bs=1024k count=10
/sbin/gpart create -s gpt $1
/sbin/gpart add -b 34 -s 64k -t freebsd-boot $1
/sbin/gpart add -s 2G -t freebsd-swap -l swap0 $1
/sbin/gpart add -t freebsd-ufs -l root0 $1
/sbin/gpart bootcode -b /boot/pmbr -p /boot/gptboot -i 1 $1
/sbin/newfs -U /dev/gpt/root0
/bin/sleep 1
#cd /mnt ; ln -s usr/home home
echo "install ..."
/sbin/mount /dev/gpt/root0 /mnt
/bin/sleep 1
cd /usr/freebsd-dist
export DESTDIR=/mnt
for file in base.txz lib32.txz kernel.txz games.txz; do (cat $file | tar --unlink -xvpJf - -C ${DESTDIR:-/}); done
/bin/echo "install ok"
/bin/sleep 1
touch /mnt/etc/fstab
echo '/dev/gpt/root0 / ufs rw 1 1' >> /mnt/etc/fstab
echo '/dev/gpt/swap0 none swap sw 0 0' >> /mnt/etc/fstab
echo '#md0 /tmp mfs rw,-s1024m 2 0' >> /mnt/etc/fstab
/bin/sync
/sbin/umount /mnt
/sbin/halt
Запускается так:
gpart-ufs.sh ada0
PS: Скрипт форкнул из ранее сделанного под установку на ZFS. Как сделать загрузочную флешку информации тоже достаточно
Дополнение
Для обновления мира и ядра надо вытянуть сырцы
svn checkout svn://svn.freebsd.org/base/releng/10.2/ /usr/src
После чего проверяем что мы там вытянули
grep -A 2 'TYPE="' /usr/src/sys/conf/newvers.sh
Если ответ нас устраивает, то можно и пересобрать мир и ядро (сделав уборку перед пересборкой)
cd /usr/obj && chflags -R noschg * && rm -rf *
cd /usr/src && make cleandir
make cleandir (делать рекомендуют дважды!)
Сама сборка и установка мира и ядра
cd /usr/src
time make -s -j4 buildworld
make -j4 -s buildkernel KERNCONF=SUPERKERNEL
make -s installkernel KERNCONF=SUPERKERNEL
make installworld
Что бы не писать постоянно имя нового ядра, емо можно указать в /etc/make.conf KERNCONF=ИМЯЯДРА
Скрипт я копирую на установочную флешку.
Все манипуляции делаются после того, как определил какой диск использую для будущей системы.
cat gpart-ufs.sh
#!/bin/sh
#
/sbin/umount /dev/md1
/sbin/mdmfs -s 512M md1 /tmp
/sbin/sysctl kern.geom.debugflags=0x10
/bin/dd if=/dev/zero of=/dev/$1 bs=1024k count=10
/sbin/gpart create -s gpt $1
/sbin/gpart add -b 34 -s 64k -t freebsd-boot $1
/sbin/gpart add -s 2G -t freebsd-swap -l swap0 $1
/sbin/gpart add -t freebsd-ufs -l root0 $1
/sbin/gpart bootcode -b /boot/pmbr -p /boot/gptboot -i 1 $1
/sbin/newfs -U /dev/gpt/root0
/bin/sleep 1
#cd /mnt ; ln -s usr/home home
echo "install ..."
/sbin/mount /dev/gpt/root0 /mnt
/bin/sleep 1
cd /usr/freebsd-dist
export DESTDIR=/mnt
for file in base.txz lib32.txz kernel.txz games.txz; do (cat $file | tar --unlink -xvpJf - -C ${DESTDIR:-/}); done
/bin/echo "install ok"
/bin/sleep 1
touch /mnt/etc/fstab
echo '/dev/gpt/root0 / ufs rw 1 1' >> /mnt/etc/fstab
echo '/dev/gpt/swap0 none swap sw 0 0' >> /mnt/etc/fstab
echo '#md0 /tmp mfs rw,-s1024m 2 0' >> /mnt/etc/fstab
/bin/sync
/sbin/umount /mnt
/sbin/halt
Запускается так:
gpart-ufs.sh ada0
PS: Скрипт форкнул из ранее сделанного под установку на ZFS. Как сделать загрузочную флешку информации тоже достаточно
Дополнение
Для обновления мира и ядра надо вытянуть сырцы
svn checkout svn://svn.freebsd.org/base/releng/10.2/ /usr/src
После чего проверяем что мы там вытянули
grep -A 2 'TYPE="' /usr/src/sys/conf/newvers.sh
Если ответ нас устраивает, то можно и пересобрать мир и ядро (сделав уборку перед пересборкой)
cd /usr/obj && chflags -R noschg * && rm -rf *
cd /usr/src && make cleandir
make cleandir (делать рекомендуют дважды!)
Сама сборка и установка мира и ядра
cd /usr/src
time make -s -j4 buildworld
make -j4 -s buildkernel KERNCONF=SUPERKERNEL
make -s installkernel KERNCONF=SUPERKERNEL
make installworld
Что бы не писать постоянно имя нового ядра, емо можно указать в /etc/make.conf KERNCONF=ИМЯЯДРА
Комментариев нет:
Отправить комментарий