概要
初投稿なので醜いところが多々あると思いますが、温かい目で見てください...
Gentoo公式ハンドブックにのっとり、これで起動まで行ける!!という手順をsshしてればコピーでできちゃう??ってやつです。
ところどころわかったいないので、間違ってるかもしれませんが、いちおう起動はできるはずです...
まずは起動
LiveCDでminimal起動してやること
SShを使えるようにする
rc-service sshd start
passwd #rootのパっスワード
ip a
Windowsでssh接続
ssh root@<ip aのアドレス>
ディスクパーティション
筆者のシステムはUEFIなのでEFIパーティションetcを作る
※Nvmeディスクじゃないなら大体sdbかな?
fdisk /dev/nvme0n1
わからなかったらこれでパーティションを見て確認してね
lsblk
パーティション
1Gあればいいらしい(もっと少なくてもいいような...)
#ディスク内がどうなっているか
Command (m for help): p
#すでにパーティションがあったらpにgを打って削除
Command (m for help):n
Partition number (1-128, default 1): 1
First sector (2048-1953525134, default 2048):
Last sector, +/-sectors or +/-size{K,M,G,T,P} (2048-1953525134, default 1953523711): +1G
Created a new partition 1 of type 'Linux filesystem' and of size 1 GiB.
Partition #1 contains a vfat signature.
#これが出ないことも...
Do you want to remove the signature? [Y]es/[N]o: y
The signature will be removed by a write command.
#スワップ
Command (m for help): n
Partition number (2-128, default 2): 2
First sector (2099200-1953525134, default 2099200):
Last sector, +/-sectors or +/-size{K,M,G,T,P} (2099200-1953525134, default 1953523711): +4G
#ルート
#全部エンター
Command (m for help): n
Partition number (3-128, default 3): 3
First sector (10487808-1953525134, default 10487808):
Last sector, +/-sectors or +/-size{K,M,G,T,P} (10487808-1953525134, default 1953523711):
#ファイルシステム??
#Biosだとここ違うよー
Command (m for help): t
Partition number (1-3, default 3): 1
Partition type or alias (type L to list all): 1
Changed type of partition 'Linux filesystem' to 'EFI System'.
Command (m for help): t
Partition number (1-3, default 3): 2
Partition type or alias (type L to list all): 19
Changed type of partition 'Linux filesystem' to 'Linux swap'.
Command (m for help): t
Partition number (1-3, default 3): 3
Partition type or alias (type L to list all): 23
Changed type of partition 'Linux filesystem' to 'Linux root (x86-64)'.
#書き込み
Command (m for help): w
ファイルシステムのフォーマット
#bootパーティションのフォーマット
mkfs.vfat -F 32 /dev/nvme0n1p1;
#ルートパーティションのフォーマット
mkfs.xfs /dev/nvme0n1p3;
#スワップ領域
mkswap /dev/nvme0n1p2;
swapon /dev/nvme0n1p2;
#マウントポイントの作成
mkdir --parents /mnt/gentoo;
mount /dev/nvme0n1p3 /mnt/gentoo;
#efiだからいるらしい
mkdir --parents /mnt/gentoo/efi;
#マウントポイントに移動
cd /mnt/gentoo;
#時計合わせる
chronyd -q;
Stageファイルのダウンロード
https://www.gentoo.org/downloads/mirrors
linksでこれからでも追えるよ↑
https://ftp.jaist.ac.jp/pub/Linux/Gentoo/releases/amd64/autobuilds/
ここのやつでOpenRCかSystemdどっちか好きなほうをDL
筆者はOpenRCにします
wget https://ftp.jaist.ac.jp/pub/Linux/Gentoo/releases/amd64/autobuilds/current-stage3-amd64-desktop-openrc/stage3-amd64-desktop-openrc-20250706T150904Z.tar.xz;
#解凍
tar xpvf stage3-*.tar.xz --xattrs-include='*.*' --numeric-owner -C /mnt/gentoo;
そしたらコンパイルオプションを設定
nano /mnt/gentoo/etc/portage/make.conf
筆者はR7 7700X とRTX3060を使っているので...
あとコンパイルは早くしたいので...
COMMON_FLAGS="-march=znver4 -O2 -pipe"
CFLAGS="${COMMON_FLAGS}"
CXXFLAGS="${COMMON_FLAGS}"
FCFLAGS="${COMMON_FLAGS}"
FFLAGS="${COMMON_FLAGS}"
MAKEOPTS="-j17"
VIDEO_CARDS="nvidia"
EMERGE_DEFAULT_OPTS="--jobs=16 --load-average=16"
LC_MESSAGES=C.utf8
Chroot してカーネルコンパイルまで
#DNSコピーらしい
cp --dereference /etc/resolv.conf /mnt/gentoo/etc/
システムファイルのマウントかな??
#いろいろマウント
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;
#chrootする
chroot /mnt/gentoo /bin/bash;
source /etc/profile;
export PS1="(chroot) ${PS1}";
#Bootマウント
#EFIの人は
mount /dev/nvme0n1p1 /efi;
#Biosの人は
mount /dev/nvme0n1p1 /boot
地獄のパッケージ更新
emerge-webrsync;
#ミラーの最適化をするためのやつ
emerge --ask --verbose --oneshot app-portage/mirrorselect;
#最適化
mirrorselect -i -o >> /etc/portage/make.conf;
#リポジトリの同期かな??
emerge --sync;
#ニュースを読む
eselect news read;
#Profileの選択 今回はDesktop-plasmaで
eselect profile list | less;
#使いたい環境を選ぶ
eselect profile set 27;
emerge系
#emergeのCPUの命令最適化
emerge --ask --oneshot app-portage/cpuid2cpuflags;
echo "*/* $(cpuid2cpuflags)" > /etc/portage/package.use/00cpu-flags;
#Nvidiaのカードを使うようにする
echo "*/* VIDEO_CARDS: nvidia" >> /etc/portage/package.use/00video_cards;
#AcceptLicenceの有効か
echo 'ACCEPT_LICENSE="-* @FREE @BINARY-REDISTRIBUTABLE"' >> /etc/portage/make.conf
#package.licenseを作成
mkdir /etc/portage/package.license;
echo "app-arch/unrar unRAR
sys-kernel/linux-firmware linux-fw-redistributable" >> etc/portage/package.license/kernel;
##IntelCPUならこれもさっきのに追記
echo "sys-firmware/intel-microcode intel-ucode" >> /etc/portage/package.license/kernel;
##くそ長パッケージ更新 apt upgradeみたいなやつ
emerge -avuDN @world;
#使っていないパッケージの削除
emerge --ask --depclean;
ローケールの設定
#ローカルタイム能勢地位
ln -sf ../usr/share/zoneinfo/Asia/Tokyo /etc/localtime;
#ローケールのせってい 取り合えず英語と日本語解除
nano /etc/locale.gen;
en_US.UTF-8 UTF-8
ja_JP.UTF-8 UTF-8
ローケールの作成
#ロ-カルの作成
locale-gen;
#一覧表示
eselect locale list;
#日本語ローケールの有効か
eselect locale set 5;
#ソースの更新
env-update && source /etc/profile && export PS1="(chroot) ${PS1}";
※このときsshしてないと文字化けするので英語がいいかも
カーネルのコンパイル
#ファームウェアのインストール
emerge --ask sys-kernel/linux-firmware;
#10世代以降IntelCPUだとこれもいるらしい(音関係のドライバかな)
emerge --ask sys-firmware/sof-firmware;
#ほんとはカーネルのinitramのため??
echo "sys-kernel/installkernel grub dracut" >> /etc/portage/package.use/installkernell;
emerge --ask sys-kernel/installkernel;
#とりあえず動くものを先に作ってあとから最適かってことで...
emerge --ask sys-kernel/gentoo-kernel;
emerge -av sys-kernel/gentoo-sources
emerge -av genkernel;
#kernelソースの設定
eselect kernel list;
eselect kernel set 1;
cd /usr/src/linux;
genkernel all;
genkernelはハンドブックだと非推奨になっていますが、最初はこれで無難なのを生成したほうがいいと思います(n敗)
そこからmake menuconfigで設定を詰めたりしていったほうが絶対いい
fstab設定
#これでディスクIDを見ることができる
blkid;
#これで設定
nano /etc/fstab;
#LABEL=boot /boot ext4 defaults 1 2
#UUID=58e72203-57d1-4497-81ad-97655bd56494 / xfs defaults 0 1
#LABEL=swap none swap sw 0 0
#/dev/cdrom /mnt/cdrom auto noauto,ro 0 0
/dev/nvme0n1p1 /efi vfat umask=0077,tz=UTC 0 2
/dev/nvme0n1p2 none swap sw 0 0
/dev/nvme0n1p3 / xfs defaults,noatime 0 1
こんな感じに設定
起動後のせってい
#ルートユーザのパっスの設定
passwd;
#chronyをインストール
emerge --ask net-misc/chrony;
emerge -a sudo;
#ssh,chronydを起動後に自動起動するように登録
rc-update add sshd default;
rc-update add chronyd default;
キー配置
#キーマップ
nano /etc/conf.d/keymaps;
#以下の値にする(英字配列の人はそのままでもいいような..)
keymap="jp106"
ユーザーの設定
useradd -m -G wheel,video,audio -s /bin/bash cis;
passwd cis;
#wheelのsudo権限の有効か
visudo ;
- #%wheel ALL=(ALL:ALL) ALL
+ %wheel ALL=(ALL:ALL) ALL
GRUBのインストール
# grubのインストール
emerge --ask --verbose sys-boot/grub;
#UEFIではこれ
grub-install --efi-directory=/efi;
#BIOSはこれ
grub-install /dev/sdal;
#これが出たらオッケー
Installing for x86_64-efi platform.
Installation finished. No error reported.
#Grubの設定ファイル生成
grub-mkconfig -o /boot/grub/grub.cfg
Generating grub configuration file ...
Linux イメージを見つけました: /boot/vmlinuz-6.12.31-gentoo
Found initrd image: /boot/amd-uc.img /boot/initramfs-6.12.31-gentoo.img
Warning: os-prober will not be executed to detect other bootable partitions.
Systems on them will not be added to the GRUB boot configuration.
Check GRUB_DISABLE_OS_PROBER documentation entry.
Adding boot menu entry for UEFI Firmware Settings ...
完了
#こんな感じで見つけてそうならおっけー
ここまでで起動はするはず...再起動!!
まとめ
今回初めての投稿でした。説明があまりなく、自分もまだlinux初心者なのでわかっていないとこがあったりで、みにくかったですが、最後までありがとうございました。
次、KDEと日本語環境を整えるかな...