gentoo.md (7321B)
1 # Gentoo OSをインストールしてみた 2 ## まずはインストーラUSBを作る 3 https://www.gentoo.org/downloads/ 4 から、 Minimal Installation CDのisoをDLする。 5 DLしたisoをRufusを使って書き込む。 6 ## LiveUSBを起動 7 私のPCはUEFIの黎明期に作られたもので、特殊仕様な可能性があったので、LegacyBIOSモードに切り替えて、LiveUSBを起動。 8 9 ## パスワード設定 10 sshでシェルに入る前にパスワードを設定する。 11 `passwd` 12 13 ## DNS構成 14 `nano /etc/resolv.conf` 15 ``` 16 nameserver 1.1.1.1 17 nameserver 1.0.0.1 18 ``` 19 20 ## パーティショニング 21 `fdisk /dev/sda` 22 説明、いらんよね。 23 24 フォーマットしまする。 25 SSDなので、/dev/sda3は 26 ``` 27 mkfs.f2fs /dev/sda3 28 ``` 29 LegacyBIOSでブートするので/dev/sda1は 30 ``` 31 mkfs.xfs /dev/sda1 32 ``` 33 スワップは 34 ``` 35 mkswap /dev/sda2 && swapon /dev/sda2 36 ``` 37 38 んで、マウントする。 39 事前に 40 ``` 41 mkdir --parents /mnt/gentoo 42 ``` 43 しておいて 44 ``` 45 mount /dev/sda3 /mnt/gentoo 46 ``` 47 48 ## Stageファイル 49 50 `wget`でダウンロードして、 51 `tar xpvf <stageファイル名> --xattrs-include='*.*' --numeric-owner -C /mnt/gentoo`で展開。 52 53 ## chroot 54 55 chrootの準備。 56 DNS情報のコピー 57 ``` 58 cp --dereference /etc/resolv.conf /mnt/gentoo/etc/ 59 ``` 60 ファイルシステムのマウント 61 ``` 62 mount --types proc /proc /mnt/gentoo/proc && mount --rbind /sys /mnt/gentoo/sys && mount --make-rslave /mnt/gentoo/sys && mount --rbind /dev /mnt/gentoo/dev && mount --make-rslave /mnt/gentoo/dev && mount --bind /run /mnt/gentoo/run && mount --make-slave /mnt/gentoo/run 63 ``` 64 65 んで、chroot 66 ``` 67 chroot /mnt/gentoo /bin/bash 68 ``` 69 ``` 70 source /etc/profile 71 ``` 72 ``` 73 export PS1="(chroot) ${PS1}" 74 ``` 75 76 ## OSの設定 77 /bootをマウント 78 ``` 79 mount /dev/sda1 /boot 80 ``` 81 82 ### portageの設定 83 84 #### スナップショットの更新 85 `emerge-webrsync` 86 #### ミラーサーバの選択 87 ツールをインストール 88 ``` 89 emerge --verbose --oneshot app-portage/mirrorselect && mirrorselect -i -o >> /etc/portage/make.conf 90 ``` 91 92 #### バイナリパッケージホストの追加 93 ファイル`/etc/portage/binrepos.conf/gentoobinhost.conf`に 94 ``` 95 [binhost] 96 priority = 9999 97 sync-uri = https://distfiles.gentoo.org/releases/<arch>/binpackages/<profile>/x86-64/ 98 ``` 99 と書く 100 ``` 101 # FEATURES 変数内の値のリストに getbinpkg を追加してください 102 FEATURES="${FEATURES} getbinpkg" 103 # 署名を要求する 104 FEATURES="${FEATURES} binpkg-request-signature" 105 106 ACCEPT_LICENSE="*" 107 ``` 108 を/etc/portage/make.confに追記 109 んで、`getuto`でキーリングのセットアップ。 110 #### vimのインストール 111 私は思想が強いので、nanoなんて嫌です。vimを使います。ということで、インストール。 112 `emerge app-editors/vim` 113 114 #### CPU_FLAGSの設定 115 ``` 116 emerge --oneshot app-portage/cpuid2cpuflags 117 ``` 118 でツールを入れて、 119 ``` 120 echo "*/* $(cpuid2cpuflags)" > /etc/portage/package.use/00cpu-flags 121 ``` 122 で出力をカキコ。 123 124 #### VIDEO_CARDの設定 125 `/etc/portage/package.use/00video_cards`に 126 `*/* VIDEO_CARDS: nvidia intel`って書いとく 127 128 #### 古いパッケージの削除(終わった後も使う) 129 `emerge --pretend --depclean` 130 131 ### timezone設定 132 `ln -sf ../usr/share/zoneinfo/Japan /etc/localtime` 133 localeは設定して、logがバグるとかいう悲惨なことになったので、私は英語で対応します。 134 135 ### ファームウェアを入れとく 136 後でどーせ使うので。 137 `sys-kernel/linux-firmware` 138 139 ### ブートローダー 140 私はなんもわからんからGRUB 141 `/etc/portage/package.use/installkernel`に`sys-kernel/installkernel grub`って書いて、 142 `emerge sys-kernel/installkernel` 143 そのほかのukiとか設定しない。セキュアブートなんてしねえよ! 144 145 ### ディストロカーネルのサイン 146 ファイル`/etc/portage/make.conf`に 147 ``` 148 USE="modules-sign" 149 ``` 150 151 ## ディストリビューションカーネルのインストール 152 153 `emerge sys-kernel/gentoo-kernel-bin` 154 `-bin`がついているので、ビルドは実行せず、ビルド済のパッケージを引っ張ってくるので、速度が上がる。 155 156 だけれども、logに/etc/portage/make.conf/00video_cardにアップデートが必要って言われました。 157 これ、ハンドブックの別のページに書いてあるのですが、数回インストールしてますが、毎回聞かれるので、書いとけよとは思います。 158 `dispatch-conf`これだけでいいです。 159 これで、無事、インストールが開始します。素晴らしいですね。 160 161 ## お掃除 162 `emerge --depclean` 163 `emerge --prune sys-kernel/gentoo-kernel sys-kernel/gentoo-kernel-bin` 164 165 ## インストールとアップデートをやるやる 166 `/etc/portage/make.conf`に`USE="dist-kernel"`を追記 167 168 # システムの設定 169 ## fstabの作成 170 `/etc/fstab`に 171 ``` 172 # 整形上の差異や、「ディスクの準備」ステップで作成する追加のパーティションについては、適宜修正してください 173 /dev/sda1 /boot xfs defaults 0 2 174 /dev/sda2 none swap sw 0 0 175 /dev/sda3 / xfs defaults,noatime 0 1 176 177 /dev/cdrom /mnt/cdrom auto noauto,user 0 0 178 ``` 179 180 ## ホスト名の設定 181 `echo tux > /etc/hostname` 182 ## パスワードの設定 183 `passwd` 184 ## initとboot設定 185 `vi /etc/conf.d/keymaps` 186 `/etc/conf.d/hwclock` UTC -> local 187 188 ## ツール設定 189 ### システムロガー 190 `emerge app-admin/sysklogd && rc-update add sysklogd default` 191 ### クーロン 192 `emerge sys-process/cronie && rc-update add cronie default` 193 ### ファイルインデックス、SSHD 194 `emerge sys-apps/mlocate && rc-update add sshd default` 195 ### シェル補完、時刻同期 196 `emerge app-shells/bash-completion net-misc/chrony && rc-update add net-misc/chrony` 197 ### DHCP 198 `emerge net-misc/dhcpcd` 199 Proxmoxでのインストールの際に、ネットに到達できない問題が発生したが`systemctl enable --now dhcpcd`すれば解決したので、この時点でenableしておくとより安全。 200 # ブートローダの設定 201 202 ``` 203 emerge --verbose sys-boot/grub && grub-install /dev/sda 204 ``` 205 ``` 206 grub-mkconfig -o /boot/grub/grub.cfg 207 ``` 208 209 # お疲れ様でした。 210 chroot環境を出て、全てのパーティションをアンマウント。 211 `exit` 212 `cd` 213 `umount -l /mnt/gentoo/dev{/shm,/pts,}` 214 `umount -R /mnt/gentoo` 215 USBメモリを抜く準備をしておいて 216 `reboot` 217 画面が消えた瞬間に抜く! 218 219 # 仕上げに 220 私は権限周りにsudoを使いたいので、 221 `emerge app-admin/sudo` 222 visudoを使うためにnanoが必要とかいう屈辱なのだが、しょうがないので`emerge app-editors/nano` 223 224 んでsshするようなアカウントを作成する。 225 `useradd -m -G users,wheel,audio -s /bin/bash tetsu` 226 パスワードを設定して 227 `passwd tetsu` 228 229 # fluxboxを入れる 230 ## Xorgの設定 231 ここで、X-base/xtermだったかが入らない問題が発生。ログを読んだ感じ、そのアプリのebuildが壊れてて、入れられませんって言われた。 232 つまりxを使う夢は完全に削がれました。waylandを使おうとも思ったけれど、waylandがいいならubuntuで良くねって思ったので、ubuntu環境に戻ります。さようなら。 233 `emerge x11-wm/fluxbox`