2024/12/7 現在問題発見! 修正中!
修正しました。echoの>>と書く部分を>と書いてしまい、fstabなどの設定が消えてました。
開発状況
次回
「Gentoo」
それは
Linux初心者達の永遠の憧れ
だがGentooをインストールできるのは
ただ、ひと握り......
というわけでもない
こんにちは。
前回、Gentooのインストールに挑戦しましたが、まぁめんどくさいこと。
ということで、チートコード(半自動インストールシェルスクリプト)を用意しました。
VirtualBox(UEFI)でインストールします。
対象
・cdコマンドが理解できる方
・ディレクトリやパスの概念が理解できる方
・CUIのテキストエディタを使用できると困りにくいです(本記事ではnanoを使用します)
注意!
・AMD64(AMD、Intel CPUでありかつWindowsが起動する環境)を想定しています。
・作成中&Linux超初心者なので不具合があるかもしれません。(2024年12月5日現在、
実行し、再起動してログインできるようにはなっています)
・時間潰しで色々起動してメモリを使いすぎないように注意してください。
・/dev/sdaにパーテーションを自動で作成します。データ消えたりしても知らん。
目次が多いですが、1つ1つの作業は短いです。
- インストール時間
- 参考サイト
- 環境
- 準備
- スクリプトを実行し、インストールする
- ログイン後
- インストール完了!
- 疑問
- おまけ
インストール時間
30分〜1時間くらい?
参考サイト
自力でインストールする場合は、インストール方法が数パターンある為、理解するまでは頑張ってハンドブックを読みながらインストールしたほうがいいなと思いました。
環境
インストールタイミング
2024年12月
以下はスクリプトを試した環境です。
環境1
インストール先 :VirtualBox バージョンは多分一番新しいやつ
OS :Arch Linux
CPU :Intel i5の第4世代くらいのやつ\
環境2
インストール先 :VirtualBox 7.0.18
OS :Windows 10
CPU :Intel i5-11400
環境3
インストール先 :実機
OS :無し
CPU :Intel i3第3世代?
共通部分
ネット :有線
デバイス :有線
起動方法 :UEFI
準備
シェルスクリプトをダウンロード
GitHubにアップロードしておいたのでダウンロードします。
URLクリック
↓
緑のCodeの矢印クリック
↓
ダウンロードして解凍orファイル開いてコピペ
実行環境を整える
設定を確認する
UEFIで起動するように変更します。
VirtualBoxのネットワーク設定を以下のようにします。
アダプター1:ブリッジアダプター
アダプター2:NAT
また、ディスプレイ設定のグラフィックコントローラーをVMSVGAにしないとGUIが起動しません。注意してください。
メモリの確認
念の為、メモリは4G以上にしましょう。(ちなみに、makeコマンドでカーネルをビルドする場合、4G未満だとエラー出ます。今回はビルドしません)
ネットワークの確認
pingコマンドでネットに接続されているか確認しましょう。
コマンド【ping archlinux.jp】
シェルスクリプトの準備
シェルスクリプトをどうにかしてインストールする環境に送る。(USBメモリでコピー、共有フォルダを使用、オンラインストレージ使用など)
↓
【sudo su】と入力し、実行。
↓
どちらかを行う。
・【source パス/gebtooInstall_1.sh】の実行。
・現在のディレクトリに適当な名前のファイルを作り、シェルスクリプトの中身をコピペし、【source シェルスクリプトファイル名】の実行。(CUIテキストエディタやターミナルへの貼り付けはShift+Insert)
ちなみに、私はnano派です。
スクリプトを実行し、インストールする
実行すると、処理が走ります。
自分で入力するがあるので、ファイルごとに紹介していきます。
共通
Yes/No の選択肢が表示されたら
【yes】と入力してEnter。
ミスしたら
もしミスをした、ミスをしてしまったと思ったら、ディスクのパーティションを削除し、1からやり直してください。
対応できそうだったら、頑張ってみてください。
スクリプト1 (パーティション作成〜chroot)
パーティションは以下のように作成されます。
/dev/sdaに自動で作成。
/dev/sda1 efi 256M
/dev/sda2 swap 1G
/dev/sda3 ext4 残りすべてを割り当て。
もしパーティション作成でY/nが表示されたら
【Proceed Anyway】というメッセージと一緒に【(Y,n)】が表示されたら、【y】を入力し、Enter。
Stage3 ダウンロード
GentooではStage3というものをダウンロードし、解凍ければいけないのですが、ファイル名に日付が入っている&色々な種類があるので自分で選択できるようにしています。
今回は、
下の方へ移動し、amd64 aka x86-64, x64 Intel 64を選択。
↓
今回は 【Stage 3 systemd 年月日(可変) 〇〇MiB(可変)】を選択。(ちなみにこのスクリプトはsystemdを使用する前提です)
記事を書いているタイミングでは、【Stage 3 systemd 2024-12-01 230 MiB】でした。
あとでGUI環境構築するならDesktopのやつがいい?まだ試してないのでわかりません。
↓
Saveを選択。
↓
名前を【Stage3.tar.xz】に変更し、保存。
↓
Qキーを押し、YesでEnterを押して終了。
スクリプト2を実行
Endみたいなメッセージが出力されたら、スクリプト2を実行してください。
【source パス/シェルスクリプトファイル2】のコマンド入力。
1実行時とカレントディレクトリが違うので、注意しましょう。
適当にファイルを作成し、コピペしてもいいです。
スクリプト2 (chroot〜ミラー選択)
ミラー選択
Yes/Noに【yes】と入力し、Enter。
その後、ミラーを選択します。Spaceでチェック。Enterで終了。
とりあえずJapanを選んでおけばいいんじゃないでしょうか。
私はJapan Internet Initiative〜 のftpのものを選択しました。
スクリプト3を実行
実行してください。
スクリプト3 (リポジトリ更新〜GRUBインストール)
2と3の処理は分けなくてもいいのに、分けてしまいました。(処理が長すぎて問題があると思ってしまった)
そのうち修正するかもしれません。
プロファイルを入力
よくわからなかったら、一旦22を入力。
デスクトップ環境をインストールする予定があれば、
【default/linux~/desktop/デスクトップ環境名/systemd】を選択。
(デスクトップ環境名は、使用したいデスクトップ環境が表示されているものを選択)
locale.genの編集
【en_US.UTF-8 UTF-8】と【ja_JP.UTF-8 UTF-8】の左にある【#】を削除。
↓
Ctrl+Xを入力し、その後Yを入力してEnter。
localeの選択
4を入力し、Enter。
カーネルのインストール
この辺のコマンドを自動化したら何故か失敗したので、手動です。
全てのYes/Noに【yes】と入力し、Enter。
ちなみに、今回はディストリビューションカーネルという楽々インストールできるものをインストールします。ただし、設定を自動でやらせる為、最適化はされません。
カーネルの選択
カーネルのバージョンがlsコマンドで表示される為、確認してバージョンを入力し、Enter。
例 【linux-6.6.62-gentoo-dist】と表示されておいた場合、【6.6.62】と入力。
ホスト名の入力
好きな名前を入力し、Enter。僕はmelongentooにしました。
dhcpcdのインストール
何故か自動でyesの投入ができなかったので、手動で【yes】と入力し、実行します。
IPアドレスの入力
ifconfigコマンドにより、IPアドレスが表示されます。
192.168〜の番号を探して入力し、Enter。
例 inet 192.168.6.893と表示されていた場合、【192.168.6.893】と入力。
パスワードの入力
ログインする際のパスワードを入力。
rootのパスワードなので、厳重なパスワードにすることをおすすめします。
パスワードの確認がある為、全部で2回入力します。
systemdの設定
青文字で、
【Press any key to proceed】出力→Enter実行で以下が出力。
【Please enter system keymap name or number (empty to skip, "list" to list options):】出力→Enterで以下が出力。
【Please enter hostname new system (empty to skip)】出力→設定したホスト名入力後にEnterで終了。
一部表示されない(勝手にスキップされる)可能性あり?
GRUBのインストール
Yes/Noに【yes】と入力し、Enter。
シェル4の実行
実行してください。
残りはアンマウントと再起動だけなので、このまま再起動してもいいかも。
スクリプト4 (アンマウント〜再起動)
入力項目は特にありません。
スクリプト4 実行後
gentoo login:rootと入力し、Enter
Password :自分が設定したものを入力し、Enter
ログインまでに10秒ほどかかるかもしれないです。手動でインストールした際はこんなに遅くなかったんですけどね。ここら辺は今度確認してみます。
ログインできたら成功です。
ログイン後
ログイン後、以下を入力して実行。(1行ごとに実行)
sudo emerge source-han-sans
localectl set-keymap jp106
インストール完了!
これで俺はGentooインストールできるくらいにはLinux詳しいんだぞって初心者にマウント取れますね! (運用していけるかは知らん)
自力でインストールした時と比べ、ログインや再起動の速度がやたら遅いので、見直しが必要かもしれません。
やる気がある方は、シェルスクリプトとハンドブックを見比べ、改善してみてください。私も頑張ってみます。
echo "hogehoge" > になってました。
2024/12/7追記
再起動後にemergeコマンドでインストールできない事象に遭遇。
echo "hogehoge" > になってました。
疑問
Q.せっかくGentooをインストールするのに何でカーネルをコンパイルしないんですか?
A.面倒♡
Q.Gentoo使うんですか?
A.Arch軽いしパッケージ関係優秀だしシンプルだからArchでよくね?()
おまけ
おまけ 1
再起動時にGRUBのメニューが表示されない。→GRUBのインストール失敗。
GRUBのメニュー選択後にフリーズ。→Starge3かカーネルの問題。