documents

Unnamed repository; edit this file 'description' to name the repository.
Log | Files | Refs

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`