-[[FreeBSD/UEFIについて]]

#contents
----------------------------

* UEFI + ZFSインストール [#w67e9115]

*** 別のメディアで起動して [#j7f40287]
 zpool destroy "zroot"
-この起動メディアはsshリモートログインできルートパスワードが設定されているUSB

 zpool destroy zroot
 sysctl vfs.zfs.min_auto_ashift=12
 
 gpart destroy -F "ada0"
 zpool labelclear -f "/dev/ada0"
 gpart create -s gpt "ada0"
 gpart destroy -F "ada0"
 gpart create -s gpt "ada0"
 gpart add -a 4k -l efiboot0 -t efi -s 800k "ada0"
 gpart bootcode -p "/boot/boot1.efifat" -i 1 "ada0"
 gpart add -a 1m -l swap0 -t freebsd-swap -s 2147483648b "ada0"
 zpool labelclear -f "/dev/ada0p2"
 gpart add -a 1m -l zfs0 -t freebsd-zfs "ada0"
 zpool labelclear -f "/dev/ada0p
 gpart destroy -F "ada1"
 graid delete "ada1"
 zpool labelclear -f "/dev/ada1"
 gpart create -s gpt "ada1"
 gpart destroy -F "ada1"
 gpart create -s gpt "ada1"
 gpart add -a 4k -l efiboot1 -t efi -s 800k "ada1"
 gpart bootcode -p "/boot/boot1.efifat" -i 1 "ada1"
 gpart add -a 1m -l swap1 -t freebsd-swap -s 2147483648b "ada1"
 zpool labelclear -f "/dev/ada1p2"
 gpart add -a 1m -l zfs1 -t freebsd-zfs "ada1"
 zpool labelclear -f "/dev/ada1p3"

 zpool create -o altroot=/mnt -O compress=lz4 -O atime=off -m none -f "zroot"   mirror  ada0p3 ada1p3
 zfs create -o mountpoint=none "zroot/ROOT"
 zfs create -o mountpoint=/ "zroot/ROOT/default"
 zfs set "mountpoint=/zroot" "zroot"
 zpool set bootfs="zroot/ROOT/default" "zroot"
 zpool export "zroot"
 zpool import -o altroot="/mnt" "zroot"
--ここは新品なら不要
 gpart destroy -F ada0
 zpool labelclear -f /dev/ada0
 gpart create -s gpt ada0
 gpart destroy -F ada0

 gpart create -s gpt ada0
 gpart add -a 4k -l efiboot0 -t efi -s 800k ada0
 gpart bootcode -p /boot/boot1.efifat -i 1 ada0
 gpart add -a 1m -l swap0 -t freebsd-swap -s 2G ada0
 gpart add -a 1m -l zfs0 -t freebsd-zfs -s 2T "ada0"

--ここも新品なら不要
 zpool labelclear -f /dev/ada0p2
 zpool labelclear -f /dev/ada0p3
 
 gpart create -s GPT ada0
 gpart add -t freebsd-boot -s 512K ada0
 
 gpart add -t freebsd-swap -s 2G ada0
 gpart add -t freebsd-zfs  -s 1T ada0
 gpart add -t freebsd-zfs  -s 1T ada0
 gpart add -t freebsd-zfs  -s 700G ada0
 gpart add -t freebsd-ufs  -i 9 ada0
 
 gpart bootcode -b /boot/pmbr -p /boot/gptzfsboot -i 1 ada0
 
*** zpool作成 [#re1412e4]
 zpool create -R /mnt -m none zroot ada0p3
 gpart destroy -F ada1
 graid delete ada1
 zpool labelclear -f /dev/ada1
 gpart create -s gpt ada1
 gpart destroy -F ada1

***zfsデータセット作成 [#a1697af6]

 gpart create -s gpt ada1
 gpart add -a 4k -l efiboot1 -t efi -s 800k ada1
 gpart bootcode -p "/boot/boot1.efifat" -i 1 ada1
 gpart add -a 1m -l swap1 -t freebsd-swap -s 2G ada1
 gpart add -a 1m -l zfs1 -t freebsd-zfs -s 2T ada1
--ここも新品なら不要
 zpool labelclear -f /dev/ada1p2
 zpool labelclear -f /dev/ada1p3

 zpool create -R /mnt -O compress=lz4 -O atime=off -m none -f zroot mirror  ada0p3 ada1p3
 zfs create -o mountpoint=/ zroot/ROOT
 zfs create zroot/ROOT/ports
 zfs create zroot/ROOT/src
 zfs create -o mountpoint=/usr/ports  zroot/ports
 zfs create -o mountpoint=/usr/src  zroot/src
 
 zpool set bootfs=zroot/ROOT zroot
 
 ######################################################
 ## zfs set "canmount=noauto" "zroot/ROOT/default"
 
 mount /dev/da0 /media
 tar -xvzf /media/usr/freebsd-dist/base.txz -C /mnt
 tar -xvzf /media/usr/freebsd-dist/kernel.txz -C /mnt
 tar -zxvf /media/usr/freebsd-dist/src.txz -C /mnt
 echo 'zfs_load="YES"' >> /mnt/boot/loader.conf
 echo 'zfs_enable="YES"' >> /mnt/etc/rc.conf
 cd /media/usr/freebsd-dist
 tar -xvzf base.txz -C /mnt
 tar -xvzf kernel.txz -C /mnt
 tar -zxvf src.txz -C /mnt

-zfs snapshot -r zroot/ROOT@00

*** sshd 再起動後に即リモートログインできるように [#s55102a9]
 cp /mnt/etc/ssh/sshd_config /mnt/etc/ssh/sshd_config.org
 sed s/'#PermitRootLogin no'/'PermitRootLogin yes'/ < /mnt/etc/ssh/sshd_config.org > /mnt/etc/ssh/sshd_config
 # 確認 
 diff /mnt/etc/ssh/sshd_config.org  /mnt/etc/ssh/sshd_config
 
*** 再起動後に [#ga0fe227]
 bsdconfig
 
 vi /etc/ssh/sshd_config
 
 #PermitRootLogin no
 PermitRootLogin yes
 cp /etc/master.passwd /mnt/etc/master.passwd
 pwd_mkdb -u root -d /mnt/etc /mnt/etc/master.passwd

-zfs snapshot -r zroot/ROOT@01
*** loader.conf [#hf8d0322]
 echo 'hint.atkbd.0.flags="0x1"' >> /mnt/boot/loader.conf
 echo 'autoboot_delay="2"' >> /mnt/boot/loader.conf
 echo 'kern.geom.label.gptid.enable="0"' >> /mnt/boot/loader.conf
 echo 'zfs_load="YES"' >> /mnt/boot/loader.conf

*** ssh [#zff7d531]
 mount 192.168.0.144:/back /mnt
 cd $HOME
 mkdir .ssh
 cd .ssh
 cp /mnt/src/authorized_keys ./
 cp /mnt/src/id_dsa ./
 cd ../
 chown -R root .ssh
 chmod 700 .ssh
 chmod 600 .ssh/* 
*** rc.conf [#xcd05bc0]
 cat /etc/rc.conf >> /mnt/etc/rc.conf
 
 zfs_enable="YES"
 hostname="test.zenno.net"
 keymap="jp.106.kbd"
 ifconfig_em0="inet 192.168.0.120 netmask 255.255.255.0"
 defaultrouter="192.168.0.140"
 sshd_enable="YES"

*** hosts [#b3710f9c]
 cp /etc/hosts /etc/hosts.orig
 cat /mnt/src/hosts.txt >> /etc/hosts
*** fstab [#icd978cd]
 sh
 FSTAB_FMT='%s\t\t%s\t%s\t%s\t\t%s\t%s\n'
 printf "$FSTAB_FMT" "# Device" "Mountpoint" "FStype" "Options" "Dump" "Pass#"  >> "/mnt/etc/fstab"
 FSTAB_FMT='%s\t\t%s\t\t%s\t%s\t\t%s\t%s\n'
 printf "$FSTAB_FMT" "/dev/ada0p2" "none" "swap" "sw" "0" "0" >>  "/mnt/etc/fstab"
 printf "$FSTAB_FMT" "/dev/ada1p2" "none" "swap" "sw" "0" "0" >> "/mnt/etc/fstab"
 exit

*** resolv.conf [#c1d35229]
 cp /etc/resolv.conf /etc/resolv.conf.orig
 cp /mnt/src/resolv.conf /etc/resolv.conf
*** Timezone [#p109bff0]
 tzsetup -C /mnt Asia/Tokyo

*** hosts.allow [#jf062a0d]
 mv /etc/hosts.allow /etc/hosts.allow.orig
 echo 'ALL : 127.0.0.1 : allow' >> /etc/hosts.allow
 echo 'ALL : 192.168. : allow' >> /etc/hosts.allow
 echo 'ALL : 125.53.25.128/255.255.255.192 : allow' >> /etc/hosts.allow
 echo 'ALL : ALL : deny' >> /etc/hosts.allow
*** 再起動前に [#i48e3611]
 cd ~
 zfs unmount zroot/src
 zfs unmount zroot/ports
 zfs unmount zroot/ROOT
 zfs set mountpoint=/mnt zroot/ROOT
 
 # 確認
 zfs get mountpoint
 zpool get bootfs
 
 zpool export zroot

*** inetd [#k25050e8]
 cp /etc/rc.conf /etc/rc.conf.orig
 echo 'inetd_enable="YES"' >> /etc/rc.conf
 patch -p0 < /mnt/src/inetd.patch
 patch -p0 < /mnt/src/rsh.patch
 cp /mnt/src/rhosts.txt  /root/.rhosts
 shutdown -r now

*** loader [#q5c6b365]
 echo 'hint.atkbd.0.flags="0x1"' >> /boot/loader.conf
 echo 'autoboot_delay="2"' >> /boot/loader.conf

*** ntp [#s6b84657]
 echo 'ntpd_enable="YES"' >> /etc/rc.conf
* 11.0R インストールログより [#a6753322]
 printf "$FSTAB_FMT" "# Device" "Mountpoint" "FStype" "Options" "Dump" "Pass#" >> "/tmp/bsdinstall_etc/fstab"
 
 vi /etc/ntp.conf
 #server 0.freebsd.pool.ntp.org iburst
 #server 1.freebsd.pool.ntp.org iburst
 #server 2.freebsd.pool.ntp.org iburst
 #server 3.freebsd.pool.ntp.org iburst
 server ntp.jst.mfeed.ad.jp iburst

*** ifconfig [#m01540ae]
 zpool destroy "zroot"
 sysctl vfs.zfs.min_auto_ashift=12
 
 vi /etc/rc.conf
 gpart destroy -F "ada0"
 graid delete "ada0"
 zpool labelclear -f "/dev/ada0"
 gpart create -s gpt "ada0"
 gpart destroy -F "ada0"
 
 hostname="zfs.zenno.net"
 keymap="jp.106.kbd"
 ifconfig_rl0="inet 192.168.0.120 netmask 255.255.255.0"
 defaultrouter="192.168.0.140"
 sshd_enable="YES"
 inetd_enable="YES"
 ntpd_enable="YES"
 gpart create -s gpt "ada0"
 gpart add -a 4k -l efiboot0 -t efi -s 800k "ada0"
 gpart bootcode -p "/boot/boot1.efifat" -i 1 "ada0"
 gpart add -a 1m -l swap0 -t freebsd-swap -s 2147483648b "ada0"
 zpool labelclear -f "/dev/ada0p2"
 gpart add -a 1m -l zfs0 -t freebsd-zfs "ada0"
 zpool labelclear -f "/dev/ada0p3"
 
 printf "$FSTAB_FMT" "/dev/ada0p2" "none" "swap" "sw" "0" "0" >> "/tmp/bsdinstall_etc/fstab"
 
 zpool create -o altroot=/mnt -O compress=lz4 -O atime=off -m none -f "zroot"   ada0p3
 zfs create -o mountpoint=none "zroot/ROOT"
 zfs create -o mountpoint=/ "zroot/ROOT/default"
 zfs create -o mountpoint=/tmp -o exec=on -o setuid=off "zroot/tmp"
 zfs create -o mountpoint=/usr -o canmount=off "zroot/usr"
 zfs create  "zroot/usr/home"
 zfs create -o setuid=off "zroot/usr/ports"
 zfs create  "zroot/usr/src"
 zfs create -o mountpoint=/var -o canmount=off "zroot/var"
 zfs create -o exec=off -o setuid=off "zroot/var/audit"
 zfs create -o exec=off -o setuid=off "zroot/v11ar/crash"
 zfs create -o exec=off -o setuid=off "zroot/var/log"
 zfs create -o atime=on "zroot/var/mail"
 zfs create -o setuid=off "zroot/var/tmp"
 
 zfs set "mountpoint=/zroot" "zroot"
 mkdir -p "/mnt/tmp"
 chmod 1777 "/mnt/tmp"
 mkdir -p "/mnt/var/tmp"
 chmod 1777 "/mnt/var/tmp"
 zpool set bootfs="zroot/ROOT/default" "zroot"
 mkdir -p "/mnt/boot/zfs"
 zpool set cachefile="/mnt/boot/zfs/zpool.cache" "zroot"
 zfs set "canmount=noauto" "zroot/ROOT/default"
 echo "zfs_enable=\"YES\"" >> "/tmp/bsdinstall_etc/rc.conf.zfs"
 echo "kern.geom.label.disk_ident.enable=\"0\"" >> "/tmp/bsdinstall_boot/loader.conf.zfs"
 echo "kern.geom.label.gptid.enable=\"0\"" >> "/tmp/bsdinstall_boot/loader.conf.zfs"
 


-zfs snap -r zroot/ROOT@02

*** zfs send [#a5aec8d8]
 umount /mnt
 mount /dev/ada1p1 /mnt
 zfs send -vR zroot@02 > /mnt/20150522zfs/02.zfs

[[FreeBSD/インストール10.1_1]]
----
[[FreeBSD]]

[[FreeBSD/ZFSあれこれ]]
[[FreeBSD/UEFIについて]]


トップ   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS