ホーム > GNU/Linux > btrfsのsubvolumeを切ってFedora17alphaインストール

btrfsのsubvolumeを切ってFedora17alphaインストール

Fedoraのインストーラはbtrfsのsubvolumeを扱うことが(多分)できない。
つまり、ルート一つをまるごとbtrfsにして、/usrやら/varをそのsubvolumeとすることができないわけだ。
zfs的に使うにはやはりインストール時にsubvolumeを切りたいので、LiveCDから全手動インストールすることにした。

とりあえずCDから起動。ある程度の初期設定をしたら端末を開く。
# fdisk /dev/sda
今回はsda1を/boot、sda2に拡張領域、sda5にswap、sda6を/とした。
grub2だと/bootをext4で切り分けなくても大丈夫なんだっけ?
コマンドは以下の順番、デフォルトはそのままenter。
sda1 : n → p → (領域番号) デフォルト → (開始セクタ)デフォルト → (終了セクタ) +100M
sda2 : n-→ e → デフォルト→ デフォルト → デフォルト
sda5 : n → l → デフォルト → デフォルト → +4G
sda6 : n → l → デフォルト → デフォルト → デフォルト

sda5をswapに設定するために
t → 5 → 82
この作業はいらないかも。

wで書き込んで終了。

# mkfs.ext3 /dev/sda1
# mkfs.btrfs /dev/sda6
ここでEXPERIMENTALの文字が飛び込んで来ますが何も気にしてはいけない。
# mkswap /dev/sda5

怒涛のmountラッシュ
# mkdir /sysimage
# mount /dev/sda6 /sysimage
# mkdir /sysimage/boot
# mkdir /sysimage/dev
# mkdir /sysimage/proc
# mkdir /sysimage/sys
# mount /dev/sda1 /sysimage/boot
# mount -t devtmpfs devtmpfs /sysimage/dev
# mount -t devpts devpfs /sysimage/dev/pts
# mount -t sysfs sysfs /sysimage/sys
# mount -t proc proc /sysimage/proc

本題、サブボリューム切ります。
# btrfs sub create /sysimage/usr
# btrfs sub create /sysimage/var
# btrfs sub create /sysimage/home

ここまで切れたらディスクの準備は完了、ここからyumを使って全手動インストール。
全手動インストールの手順はLXC用とかに応用可能。
# yum –installroot=/sysimage –releasever=/ install kernel
kernelの依存関係でほとんどインストールが完了する。basesystemもcoreutilsも入る。
この辺で暇つぶしにfstab書いておくといいと思う。
# yum –installroot=/sysimage –releasever=/ install vi yum grub2 passwd dhclient e2fsprogs
・viを入れる
・yumを入れる、依存関係でrpmとか引っ張ってくる
・grub2を入れる
・passwdを入れる(入ってねーのかよ!)
・dhclientを入れる(間違えてdhcp入れるなよ!)
・e2fsprogsを入れる(純btrfsでbootも作るなら入れなくても問題なし)

chrootいっきまーす
[root@localhost ~]# chroot /sysimage /usr/bin/bash
bash-4.2#
以下、livecd# と chroot# でかき分けます。livecd環境にscreen入れると便利。

livecd# cp /etc/resolv.conf /sysimage/etc/resolv.conf
これでchroot先でもyum使用可能。もうインストールするもの無いんだけど。

rootパスワードの設定
chroot# passwd

ネットワークの設定
chroot# vi /etc/sysconfig/network-scripts/ifcfg-eth0
未だにp2p1とかの表記に慣れないのでeth0書いてしまう。
今回はdhcpを使用するように設定したのみ。

hostnameの設定
chroot# vi /etc/hosts
chroot# vi /etc/sysconfig/network

忘れたら即死grubの設定
chroot# grub2-install /dev/sda
chroot# grub2-mkconfig > /boot/grub2/grub.cfg

ランレベルの設定
chroot# unlink /etc/systemd/system/default.target
chroot# ln -s /lib/systemd/system/multi-user.target /etc/systemd/system/default.target

これは後で分かったことだが、dbusのユーザーがなくてフリーズする。
passwd/shadow/group/gshadowをいじってdbusユーザーとdbusグループ(uid,gid:81)を追加する

livecd# reboot

たぶんこれで上がってきます。
実際にやったときは割と試行錯誤してたので、まとめた段階で何か抜け落ちたかも。

やるといいかもしれないこと
・キーボードの設定
・タイムゾーンの設定
・rsyslogのインストール(起動しない時にsyslogがあると便利)
・systemctlで各種デーモンの起動設定

広告
カテゴリー:GNU/Linux
  1. まだコメントはありません。
  1. No trackbacks yet.

コメントを残す

以下に詳細を記入するか、アイコンをクリックしてログインしてください。

WordPress.com ロゴ

WordPress.com アカウントを使ってコメントしています。 ログアウト / 変更 )

Twitter 画像

Twitter アカウントを使ってコメントしています。 ログアウト / 変更 )

Facebook の写真

Facebook アカウントを使ってコメントしています。 ログアウト / 変更 )

Google+ フォト

Google+ アカウントを使ってコメントしています。 ログアウト / 変更 )

%s と連携中

%d人のブロガーが「いいね」をつけました。