intent

intent的blog

🚴自行车骑的最远的全栈工程师
github

Gentooインストールガイド

Gentoo のインストール#

準備#

# USBドライブをフォーマット
sudo mkfs.vfat /dev/sdb -I
# LiveCDを焼く
sudo dd if=install-amd64-minimal-20210829T170531Z.iso of=/dev/sdb
# インストールするコンピュータに挿入し、livecdに再起動
# ネットワークカードを確認
ifconfig
# 有線またはWIFIを使用
## 有線を使用する場合はsshdの設定に移動
# ----------------WIFIに接続-------------------
## WIFIを使用する場合
wpa_supplicant -B -i ネットワークカード -C /var/run/wpa_supplicant
wpa_cli -i ネットワークカード
# スキャン
> scan
# スキャン結果を確認
> scan_result
# 一般的に0が返される
> add_network
> set_network 0 ssid "接続するwifiの名前"
> set_network 0 psk "接続するwifiのパスワード"
# wifiに接続
> enable_network 0
# 終了
> quit
# ネットワークを確認
ifconfig
# ----------------sshd-------------------
# キーを生成
# ssh-keygen -t dsa -f /etc/ssh/ssh_host_dsa_key
ssh-keygen -t rsa -f /etc/ssh/ssh_host_rsa_key
# 実行
/usr/sbin/sshd
# livecdのrootパスワードを変更
passwd
## その後、別のLAN内のマシンからsshでインストールするマシンに接続

ディスクの準備#

ディスクの詳細

# パーティション
# ディスクラベルタイプがGPTでない場合は、ディスクラベルをGPTに変更する必要があります
# まずpartedをインストールしてディスクラベルタイプを変更
# sudo emerge -av sys-block/parted
# sudo parted
# mklabel gpt
# quit # これで完了、次にcfdiskを使用してパーティションを作成
#sudo su
cfdisk /dev/sda
#sda1 ---/boot--->vfat                   >=200M     #パーティション設定flagsをespにすることに注意
#sda2 ---/--->ext4,btrfs,xfs,jfsなど     >=20G      #少なくとも20Gのサイズを推奨
#sda3 ---swap--->                        >=2G       #16Gのメモリがない限り

1043daeb-551d-4070-9eea-646a218115a9

e3fcca11-0a8a-4e5d-9217-214218b86cf3

書き込み後に終了し、sudo fdisk -lを入力してパーティションが成功したか確認します。次にフォーマットを行います:

# mkfs.vfatコマンドがない場合はインストールする必要があります
emerge -av sys-fs/dosfstools
mkfs.vfat /dev/sda1
mkfs.ext4 /dev/sda2
mkswap /dev/sda3

基本ファイルのインストール#

中国のミラーサイト:

名前プロトコルIPv4/v6URL
Alibaba Cloud ComputinghttpIPv4 のみhttps://mirrors.aliyun.com/gentoo/
Netease.com, Inc.httpIPv4 のみhttps://mirrors.163.com/gentoo/
Tsinghua UniversityhttpIPv4 + IPv6https://mirrors.tuna.tsinghua.edu.cn/gentoo

イメージをダウンロードstage3-amd64-systemd-20210630T214504Z.tar.xz

適切なイメージを選択することに注意してください。たとえば、デスクトップ環境をインストールする場合は、desktop が付いたイメージを選択してください。

# ディレクトリを作成
# mkdir /mnt/gentoo
# マウント
mount -v /dev/sda2 /mnt/gentoo
cd /mnt/gentoo
# 以下のURLを上記の最新のURLに置き換え
wget https://mirrors.ustc.edu.cn/gentoo/releases/amd64/autobuilds/current-stage3-amd64-systemd/stage3-amd64-systemd-20220417T171236Z.tar.xz
# コピー
# cp stage3-amd64-systemd-*.tar.xz /mnt/gentoo
# 解凍
xz -d /mnt/gentoo/stage3-amd64-*.tar.xz
tar -xvf /mnt/gentoo/stage3-amd64-*.tar
# 削除
rm /mnt/gentoo/stage3-amd64-*.tar

make.conf の設定#

# 現在の設定を直接コピー
sudo cp /etc/portage/make.conf /mnt/gentoo/etc/portage/make.conf
# 内容
# これらの設定は、カタリストビルドスクリプトによって自動的に設定されました。
# より詳細な例については、/usr/share/portage/config/make.conf.exampleを参照してください。

# GCC
COMMON_FLAGS="-march=native -O3 -pipe"
CFLAGS="${COMMON_FLAGS}"
CXXFLAGS="${COMMON_FLAGS}"
CHOST="x86_64-pc-linux-gnu"
CPU_FLAGS_X86="aes avx avx2 f16c fma3 mmx mmxext pclmul popcnt sse sse2 sse3 sse4_1 sse4_2 ssse3"
MAKEOPTS="-j8"


FCFLAGS="${COMMON_FLAGS}"
FFLAGS="${COMMON_FLAGS}"

# 注: このステージはbindist Useフラグが有効になってビルドされました
PORTDIR="/var/db/repos/gentoo"
DISTDIR="/var/cache/distfiles"
PKGDIR="/var/cache/binpkgs"

# これにより、ビルド出力の言語が英語に設定されます。
# バグを報告する際には、この設定をそのままにしてください。
LC_MESSAGES=C


# 言語
L10N="en-US zh-CN en zh"
LINGUAS="en_US zh_CN en zh"

# その他
#VIDEO_CARDS="intel i965 nvidia"
VIDEO_CARDS="intel i965"

QEMU_SOFTMMU_TARGETS="alpha aarch64 arm i386 mips mips64 mips64el mipsel ppc ppc64 s390x sh4 sh4eb sparc sparc64 x86_64"
QEMU_USER_TARGETS="alpha aarch64 arm armeb i386 mips mipsel ppc ppc64 ppc64abi32 s390x sh4 sh4eb sparc sparc32plus sparc64"

USE="-bindist bluetooth"
GENTOO_MIRRORS="https://mirrors.ustc.edu.cn/gentoo/"
EMERGE_DEFAULT_OPTS="--keep-going --with-bdeps=y"
ACCEPT_KEYWORDS="~amd64"
ACCEPT_LICENSE="*"
GRUB_PLATFORMS="efi-64"

リポジトリの設定#

cd /mnt/gentoo
mkdir /mnt/gentoo/etc/portage/repos.conf
nano /mnt/gentoo/etc/portage/repos.conf/gentoo.conf
# 内容は
[gentoo]
location = /var/db/repos/gentoo
sync-type = rsync
#sync-uri = rsync://mirrors.tuna.tsinghua.edu.cn/gentoo-portage/
sync-uri = rsync://rsync.mirrors.ustc.edu.cn/gentoo-portage/
auto-sync = yes

chroot に入る#

dns をコピー

cp --dereference /etc/resolv.conf /mnt/gentoo/etc/

マウント

mount -t 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

debian ディストリビューションの場合は、さらに以下が必要です

test -L /dev/shm && rm /dev/shm && mkdir /dev/shm
mount --types tmpfs --options nosuid,nodev,noexec shm /dev/shm
chmod 1777 /dev/shm

chroot に入る

chroot /mnt/gentoo /bin/bash
source /etc/profile

boot をマウントすることを忘れずに

mount /dev/sda1 /boot

プロファイルを選択し、システムを更新#

# スナップショットを使用してPortageを更新:
emerge-webrsync
# プロファイルをリスト表示:
eselect profile list

86f62f9a-35ad-41a8-8ff3-f1920d8a6ca5

ここで私は直接選択しました:15

# systemdなしのデスクトップ環境
eselect profile set 15
# その後は長い更新が続きます
date && emerge -auvDN --with-bdeps=y @world && date
# 未満のxxxまたはその他のメッセージが表示された場合:
emerge -auvDN --with-bdeps=y --autounmask-write @world
# 更新設定を入力し、再度実行する際に更新可能なファイルがないことを確認
etc-update --automode -3
emerge -auvDN --with-bdeps=y @world
# もし上記でも解決しない場合は、/etc/portageディレクトリに入り、package.use、package.mask、package.unmaskファイルまたはディレクトリを削除して再度試みてください
# ここまで来たら、映画を見に行くことができます...
# 終了するまで急がず、以下のコマンドを実行してください:
emerge @preserved-rebuild
perl-cleaner --all
emerge -auvDN --with-bdeps=y @world
# 更新がないことを確認してから続行してください。そうでない場合は出力を確認し、再度実行してください
# 2021-07-02 15:05 - 2021-07-02 16:46
# 2021-08-18 12:00 - 2021-08-18 13:47
# 2021-12-04 11:27 - 2021-12-04 12:30

e8b512d7-49d2-4c76-ac07-3036471a75c7

タイムゾーンと地域の設定#

echo "Asia/Shanghai" > /etc/timezone
emerge --config sys-libs/timezone-data

echo "en_US.UTF-8 UTF-8
zh_CN.UTF-8 UTF-8" >> /etc/locale.gen

locale-gen

eselect locale list

eselect locale set X # Xを上記コマンドで表示された番号に置き換え

fstab の設定#

# UUIDを確認
blkid
nano /etc/fstab
# 内容
UUID=4BB8-C88F                                /boot    vfat    defaults    0    0
UUID=8240d786-8908-4cdd-a00c-e3d265515a1e    /        ext4    defaults    0    0
UUID=02e6ac33-adfe-4fee-94ff-09141e1b809a    none    swap    defaults    0    0

4930ec90-489f-485c-b792-b6d05bc8eb6d

NetworkManager のインストール#

emerge -av networkmanager

未満の xxxx またはその他のメッセージが表示された場合:

emerge --autounmask-write networkmanager
# yesと入力
etc-update --automode -3
emerge networkmanager

systemd にブートサービスを追加:

systemctl enable NetworkManager

/etc/conf.d/hostname 内でホスト名を変更します。例えば:

echo hostname=\"intent-gentoo\" > /etc/conf.d/hostname

必要なツールをインストールし、設定する#

emerge app-admin/sysklogd sys-process/cronie sudo layman grub
sed -i 's/\# \%wheel ALL=(ALL:ALL) ALL/\%wheel ALL=(ALL:ALL) ALL/g' /etc/sudoers
# または手動で/etc/sudoersファイルを編集して変更
passwd # rootパスワードを設定する時が来ました
# gentooのデフォルトのパスワードルールは大文字と小文字の混在が必要です
# 以下のファイルを編集して変更できます
nano /etc/security/passwdqc.conf
# 内容は以下の通り
min=8,7,6,5,4
max=72
passphrase=3
match=4
similar=deny
random=47
enforce=everyone
retry=20

systemd を使用している場合:

sed -i 's/\# GRUB_CMDLINE_LINUX=\"init=\/usr\/lib\/systemd\/systemd\"/GRUB_CMDLINE_LINUX=\"init=\/usr\/lib\/systemd\/systemd\"/g' /etc/default/grub
ln -sf /proc/self/mounts /etc/mtab
systemd-machine-id-setup

カーネルのコンパイルとインストールの設定#

カーネルをコンパイルする際は、vfat モジュールを必ず選択してください!!!

# 現在正常に動作しているLinuxがある場合も可能です:
sudo cp -r /usr/src/linux* /mnt/gentoo/usr/src
# または
scp /usr/src/linux/.config root@192.168.110.7:/mnt/gentoo/usr/src/linux
# xanmodを使用することもできます
# まずapp-eselect/eselect-repositoryをインストール
emerge -av app-eselect/eselect-repository
# 次にミラーを選択
# eselect repository list | grep src_prepare-overlay
# src_prepare-overlayこのリポジトリを選択
# eselect repository enable 320
sudo eselect repository enable src_prepare-overlay

emerge -av dev-vcs/git
# リポジトリを更新
emerge --sync
# xanmodを検索
emerge -s xanmod-sources
# インストール、翻訳が必要な場合があります
emerge -av xanmod-sources

ln -s linux-* linux

# gentoo公式のソースをインストールすることもできます
emerge -av sys-kernel/gentoo-sources
# gentoo公式のコンパイル済みイメージを選択することもできます
emerge -av sys-kernel/gentoo-kernel

make localyesconfig # またはmake menuconfig
# 中間でbcが不足しているというメッセージが表示された場合
emerge -av sys-devel/bc
# 新しいオプションが表示された場合は、すべてEnterを押してください、23333
make -j8
make modules_install
make install
emerge -av sys-kernel/genkernel
genkernel --install initramfs

GRUB のインストールとユーザーの作成#

grub-install --target=x86_64-efi --efi-directory=/boot --bootloader-id=Gentoo
grub-mkconfig -o /boot/grub/grub.cfg
# EFI BOOTフォルダを作成
mkdir /boot/EFI/BOOT
cp /boot/EFI/Gentoo/grubx64.efi /boot/EFI/BOOT/BOOTx64.efi

管理者を作成し、パスワードを設定します:

useradd -m -G users,wheel,portage,usb,video intent
passwd intent

グラフィックドライバー#

参照:https://wiki.gentoo.org/wiki/Intel

Intel 単一グラフィックカード:

emerge -av x11-drivers/xf86-video-intel
# 未満のxxxxまたはその他のメッセージが表示された場合:
# yesと入力
etc-update --automode -3
emerge -av x11-drivers/xf86-video-intel

デスクトップのインストール#

emerge -av xorg-server

GNOME#

emerge -av gnome-shell gdm gnome-terminal
systemctl enable gdm

設定の更新が必要な場合は、etc-update --automode -3 を実行し、再度コマンドを実行してください。

参考#

読み込み中...
文章は、創作者によって署名され、ブロックチェーンに安全に保存されています。