起動時間が遅くなるから、initramfs は使わないようにしたかった。
そうすると、ファイルシステムは ext4 になっちゃうわけだけど、面白くないなあということで btrfs にしてみた。
1. ファイルシステムの作成
まずは btrfs な領域を作成する。
今回のターゲットは ThinkPad X61 で、ディスクを一個しか積んでいない。
そのため、データ領域、メタ領域共に single を指定した。
このパラメータには、raid0 や raid1 などが指定できる
2. サブボリュームの作成$ sudo mkfs.btrfs -d single -m single /dev/sda3 $ sudo mkdir /btrfs $ sudo mount -t btrfs /dev/sda3 /btrfs
次に、サブボリュームを作成する。
今回は、/, /home, /usr/portage の3つの領域を作成する。
$ sudo btrfs subvolume create /btrfs/rootfs $ sudo btrfs subvolume create /btrfs/home $ sudo btrfs subvolume create /btrfs/portage
ちなみに、btrfs コマンドは2010年7月25日現在、sys-fs/btrfs-progs-9999 に入っています。
3. /etc/fstab の編集
/dev/sda3 / btrfs subvol=rootfs,noatime,ssd 0 1 /dev/sda3 /home btrfs subvol=home,noatime,ssd 0 1 /dev/sda3 /btrfs btrfs noatime,ssd 0 1 /dev/sda3 /usr/portage btrfs subvol=portage,noatime,ssd 0 1
4. /etc/boot.conf
Funtoo Linux だと、grub の設定は /etc/boot.conf で行うようになっている。
rootflags=subvol=rootfs が肝です。このオプションで /(root) にサブボリュームの rootfs をマウントすることが出来ます。
"Funtoo Linux" { params += root=/dev/sda3 rootflags=subvol=rootfs kernel kernel-genkernel-x86_64[-v] }
編集が終わったら、boot-update コマンドの実行と再起動です。
$ sudo boot-update $ sudo reboot