Let's Note SZ6にFreeBSDをインストールする
Let's Note SZ6に入っているWindows 10 64bitの領域を縮小し、空き領域にFreeBSD 12を入れてデュアルブートするのが目的。
Windowsでの作業
Windowsアップデートとかしたくなるが、それはデュアルブートが成功してからにする。徒労に終る可能性がある。
高速スタートアップ解除
高速スタートアップを無効にする。コントロールパネル→電源オプション→電源ボタンの動作選択→高速スタートアップを有効にするのチェックを外す。「現在利用可能ではない設定を変更します」をクリックしないと外せない。
参考: http://www.eightforums.com/tutorials/6320-fast-startup-turn-off-windows-8-a.html
ecoモードにする
ecoモード(80%までしか充電しない; 電池の寿命が延びる)にする。
ディスクを縮小する
ディスクを縮小する。左下のWindowsアイコンのところで右クリック、「ディスクの管理」を選択。縮小する領域のサイズ(MB)を適当に選ぶ。思ったよりサイズが小さくできない場合は、いったんシステムの復元を無効化するとよい。
復元の無効化
システムのプロパティ→システムの保護、「保護設定」の「構成」→システム保護対象で「システムの保護を無効にする」を選択
終ったら元に戻しておく。
別のFreeBSDマシンでの作業
いまどきのメモリースティックイメージはUEFI対応なので、何も考えずにメモリースティックイメージを持ってくる。
# dd if=Downloads/FreeBSD-12...-memstick.img of=/dev/da0 bs=1M conv=sync
などとして書き込み。
Let's Noteでの作業
USBメモリを差した状態で起動し、起動時にF2を押してファームウェア設定画面に入る。
セキュアブートを無効にしておく。デバイス指定でUSBメモリスティックを選択する。
するとインストーラが立ち上がるのでインストールを進める。パーティションを切るところで、ada0に
freebsd-ufs 10GB / freebsd-ufs 52GB /usr freebsd-zfs 690GB (数字は適当)
を作成。終了前にshellが開けるので、そこで適当なUSBメモリに/boot/boot1.efiをコピーしておく。終ったらリブートする。Windowsが立ち上がる。
コマンドプロンプトを右クリックして管理者として実行する。
> bcdedit.exe /copy {bootmgr} /d "FreeBSD"
得られたUUIDをコピーしておく。
EFIパーティションをマウント。
> mountvol.exe f: /S
中を見てディレクトリ作成。
> dir f:\ > mkdir f:\EFI\FreeBSD
USBメモリを差す(ドライブレターD:とする)
> copy d:\boot1.efi f:\EFI\FreeBSD\
> bcdedit /set {得られたUUID} path \EFI\FreeBSD\boot1.efi > bcdedit /set {fwbootmgr} displayorder {得られたUUID} /addfirst
これでRebootするとFreeBSDが起動する。ファームウェア設定画面から直接Windows Boot Managerを選択したら、Windowsが起動する。
Windowsでの設定
- Microsoft Update
- Firefoxインストール
- MS Officeアクティベート
FreeBSDでの設定
/etc/fstabに
md /usr/obj mfs rw,async,-M,-s4g,noatime,late 0 0 #md /usr/obj mfs rw,async,-M,-s10g,noatime,late 0 0
を追加。下側はmake buildworld時用。umount /usr/objをしたら、mdconfig -d -u 0を忘れないこと。
# mount /usr/obj
/etc/groupのoperatorグループに自分のユーザ名を追加。
# gpart show
ada0のカラムの番号9がfreebsd-zfsなので、ada0p9がdeviceであると分かる。
tankというプールを作成。
# zpool create tank /dev/ada0p9
いくつかファイルシステム作成。
# zfs create tank/home # zfs create tank/data # zfs create tank/ports # zfs create tank/ports-distfiles
ホームディレクトリ移動
# mv /home/* /tank/home/ # zfs set mountpoint=/home tank/home
プロパティ設定
# zfs set atime=off tank
# zfs set mountpoint=/usr/ports tank/ports # mkdir /usr/ports/distfiles # zfs set mountpoint=/usr/ports/distfiles tank/ports-distfiles
# portsnap fetch # portsnap extract
主にインストールしたもの。pkg install hogeでインストールできる。
- sudo
- zsh
- lv
- xfce
- xlockmore
- firefox
- xorg
- emacs25
- ja-fcitx-mozc
- ja-mozc-el-emacs25
- ja-mozc-server
- ja-mozc-tool
- unzip
- rubygem-netcdf
- rubygem-ruby-dcl
- netcdf-fortran
- a2ps
- ja-a2ps
- w3m
- cdrtools
- evince
- ffmpeg
- mplayer
- gifsicle
- gnupg
- gnuplot
- gv
- inconsolata-ttf
- ja-cannadic
- ja-less
- ja-nkf
- lapack
- lapack95
- linux_base-c6
- papersize-default-a4
- psutils
- rsync
- git
- ruby-rd-mode.el
- rubygem-narray_miss
- rubygem-numru-misc
- rubygem-numru-units
- sharutils
- wget
- xfce4-mixer
- xfce4-netload-plugin
- xfce4-print
- xfce4-systemload-plugin
- xfce4-wm-themes
- gimp
- asymptote
- bind-tools
- dvd+rw-tools
- gmake
- icons-tango
- icons-tango-extras
- ja-font-ipa
- ja-font-ipa-uigothic
- ja-font-ipaex
- ja-font-migu
- ja-font-mplus-ipa
- ja-font-std
- ja-font-vlgothic
- rubygem-rdtool
- smartmontools
- xfce4-battery-plugin
- xfce4-genmon-plugin
- xf86-input-synaptics
- xf86driproto
- resourceproto
chshしてzshをログインシェルにしておく。
/usr/srcのチェックアウト。
# cd /usr # rmdir src # svnlite co svn://svn0.us-west.FreeBSD.org/base/head /usr/src
/boot/loader.confを以下の内容で作成。
sem_load="YES" coretemp_load="YES" # for bluetooth #ng_ubt_load="YES"
/etc/ttysの調整(ttyv5-v8までコメント)。
/etc/sysctl.confの内容を以下に設定。
#hw.acpi.reset_video=1 #hw.acpi.sleep_button_state=S3 #hw.acpi.power_button_state=S3 #hw.acpi.lid_switch_state=S3 #hw.acpi.standby_state=S3 debug.cpufreq.lowest=600 hw.acpi.verbose=1
設定ファイルのコピーなど。
/etc/wpa_supplicant.conf /etc/rc.conf /etc/X11/xorg.conf /etc/hosts /etc/make.conf /etc/mergemaster.rc /etc/periodic.conf /etc/portsnap.conf /etc/printcap /etc/rc.conf /etc/rc.local /etc/sysctl.conf
CPU負荷が低いときにCPU周波数を落すように設定できる. これはcpufreq(4)とpowerd(8)によって行われる. cpufreqデバイス入りカーネル(例えばGENERIC)を用意するか, cpufreq.koをロードして, /etc/rc.confに
powerd_enable="YES"
と書いておく. /etc/rc.d/powerd startなどとすれば起動.
稼働するCPU周波数の最低値を指定するには, MHz単位でsysctl(8)によって
debug.cpufreq.lowest=600
などと設定する. この場合は負荷が低いときには600MHzで駆動する(see cpufreq(4)).
デフォルトでは, 温度が閾値より高くなった場合にCPU周波数を落すことで冷却を試みる(passive cooling). その閾値を例えば摂氏75.0に設定したいときはsysctl(8)で
hw.acpi.thermal.user_override=1 hw.acpi.thermal.tz0._PSV=75.0C
と設定しておく. hw.acpi.thermal.user_overrideを1に設定しないと, 二行目の変数の値を初期値から変更できない. 詳しくはacpi_thermal(4)を参照.