トップ 差分 一覧 ソース 検索 ヘルプ RSS ログイン

FB-bootdvd

 FreeBSD10 で作る livedvd / usbdisk

目標::単体でインストール出来ること(freebsd10.1-p4 などを直接インストールしたい)

tips

http://www.syslinux.org/wiki/index.php?title=FreeBSD_disk_image_creation

https://www.sophos.com/ja-jp/products/free-tools/sophos-xg-firewall-home-edition.aspx

https://www.sophos.com/ja-jp/products/free-tools/sophos-xg-firewall-home-edition.aspx

https://www.sophos.com/ja-jp/products/free-tools/sophos-xg-firewall-home-edition.aspx

DVDは今時じぁないのでmemory-stick か??

# fetch fetch ftp://ftp.freebsd.org/pub/FreeBSD/releases/amd64/13.0-RELEASE/src.txz
# fetch fetch ftp://ftp.freebsd.org/pub/FreeBSD/releases/i386/13.0-RELEASE/src.txz

FreeBSD10 sysinstallが無い

bsdconfig になっていた。


  標準の作り方

# 
# # chflags -R noschg /usr/obj/*
# # rm -rf /usr/obj
#
# cd /usr/src
# make -j 4 buildworld
# make -j 4 buildkernel
# cd /usr/src/release
#   make release BUILDNAME=10.3-test 
#   # make release BUILDNAME=FB11.1-a1 TARGET_ARCH=amd64 TARGET=amd64
# make release BUILDNAME=FB12.2-c01109 TARGET_ARCH=amd64 TARGET=amd64
### ISO を作る場合
### make release BUILDNAME=10.3-test MAKE_ISOS=1
 /usr/obj/usr/src/release にイメージができる
# cd /usr/src
#     make -j 8 buildworld
#     make -j 8 buildkernel
# cd /usr/src/release
#     # make release BUILDNAME=10.3-test 
#     # make release BUILDNAME=FB12.2-a1 TARGET_ARCH=amd64 TARGET=amd64
#     make release BUILDNAME=FB12.2-c10401 TARGET_ARCH=amd64 TARGET=amd64
### ISO のみを作る場合
### make release BUILDNAME=10.3-test MAKE_ISOS=1
 /usr/obj/usr/src/release にイメージができる

  i386版 の作製

# cd /usr/src
# setenv DESTDIR /usr/livedvd/i386
# mkdir -p $DESTDIR
# make -j 4 buildworld  TARGET_ARCH=i386 TARGET=i386
# make installworld TARGET_ARCH=i386 TARGET=i386
# make distrib-dirs TARGET_ARCH=i386 TARGET=i386
# make distribution TARGET_ARCH=i386 TARGET=i386
# make -j 4 buildkernel TARGET_ARCH=i386 TARGET=i386
# make installkernel TARGET_ARCH=i386 TARGET=i386
#
# cd /usr/src/release
# make release BUILDNAME=FB13.0-C20327 TARGET_ARCH=i386 TARGET=i386

  指定(/libdvd/amd64 )に作成する場合(amd64 のカーネルを)

# cd /usr/src
# setenv DESTDIR /livedvd/amd64
# mkdir -p $DESTDIR
# make buildworld TARGET_ARCH=amd64
# make installworld TARGET_ARCH=amd64
# make distrib-dirs TARGET_ARCH=amd64
# make distribution TARGET_ARCH=amd64
# make buildkernel TARGET_ARCH=amd64 KERNCONF=GENERIC
# make installkernel TARGET_ARCH=amd64 KERNCONF=GENERIC

ports のインストール

# chroot $DESTDIR
# exit

# touch $DESTDIR/etc/diskless

### DVD の名前は FreeBSD_install とする
# echo "/dev/iso9660/FREEBSD_INSTALL  /   cd9660  ro     0       0" > $DESTDIR/etc/fstab
DVD の名前は FreeBSD_INSTALL とする
/conf/base/etc/md_size 10240
/conf/base/home/md_size 1024000
/conf/base/root/md_size 10240
/conf/base/var/md_size 102400
と、それぞれのファイルに書いておく。
# cd $DESTDIR/conf/default
# pax -rw -pe ../../etc ./
 cd ../../etc 
 pax -rw -pe . $DESTDIR/conf/default/etc
# mkdir home
# pax -rw -pe ../../root ./
 cd ../../root
 pax -rw -pe . $DESTDIR/conf/default/root
# pax -rw -pe ../../var ./
 cd ../../var 
 pax -rw -pe . $DESTDIR/conf/default/var

# vi ./etc/fstab# cat ./etc/fstab

/dev/iso9660/FreeBSD_install  /   cd9660  ro     0       0
md              /tmp            mfs     -s=400m,rw       0       0
proc            /proc                   procfs  rw      0       0

パスワードのさくせい

# vipw -d ./etc

freebsd::1000:1000::0:0:FreeBSD User:/home/freebsd:/bin/csh

# ./etc/group も
freebsd:*:1000:

起動を高速可するために

# cd $DESTDIR/conf/default
# tar -czpf etc.cpio.gz ./etc
# tar -czpf home.cpio.gz ./home
# tar -czpf root.cpio.gz ./root
# tar -czpf var.cpio.gz ./var
# rm -rf etc home root var
# 

ISO をつくる

# cp /usr/src/release/amd64/mkisoimages.sh /root/bin

として

sh /root/bin/mkisoimages.sh -b FreeBSD_install /livedvd/FreeBSD_10.3- MYRELEASE.iso $DESTDIR

で完成

#####

Live CD からインストール

初期化 ( da2 ディスクで )  [[ gpart destroy da2 ]]

gpart create -s GPT da2
gpart bootcode -b /boot/pmbr da2
gpart add -s 64K -t freebsd-boot da2 
       ( または gpart add -s 64K -b 34 -t  freebsd-boot da2 )
gpart bootcode -p /boot/gptboot -i 1 da2

gpart add -s 10GB -t freebsd-ufs -l gReenRootfs da2
gpart add -s 32GB -t freebsd-swap -l gReenSwap da2
gpart add -s 40GB -t freebsd-ufs -l gReenTemp da2
gpart add -s 40GB -t freebsd-ufs -l gReenVar da2
gpart add -s 40GB -t freebsd-ufs -l gReenUsr da2
gpart add -t freebsd-ufs -l gReenHome da2
## gpart add -s 4GB -t freebsd-ufs -l gReenRootfs da2
## gpart add -t freebsd-ufs -l gReenHome da2
 
ファイルシステムの作成
newfs /dev/da2p2
newfs /dev/da2p3
newfs /dev/da2p4
newfs /dev/da2p5
newfs /dev/da2p6
newfs /dev/da2p7
## newfs /dev/da2p2
## newfs /dev/da2p3

mount /dev/da2p2 /mnt/root
mount /dev/da2p5 /mnt/var
mount /dev/da2p6 /mnt/usr
mount /dev/da2p7 /mnt/home
## mount /dev/da2p2 /mnt/root
## mount /dev/da2p3 /mnt/home
 
コピー
dump -0aLC 32 -f - /     | ( cd /mnt/root && restore -rf -)
dump -0aLC 32 -f - /var  | ( cd /mnt/var  && restore -rf -)
dump -0aLC 32 -f - /usr  | ( cd /mnt/usr  && restore -rf -)
dump -0aLC 32 -f - /home  | ( cd /mnt/home  && restore -rf -)

### #### ### ### ### 
# もしくは
#       cd /mnt/root
#	tar xvfz /RRR/base.txz 
#	tar xvfz /RRR/kernel.txz

 

dd if=FreeBSD-10.2-RELEASE-amd64-memstick.img of=/dev/da0 bs=1M conv=sync