!!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