Preface
젠투 리눅스 설치 가이드는 문서 방향성을 전면 수정합니다.
설치에 익숙한 분들이 핸드북을 참조하기 번거로울 때 활용할 수 있도록 수정합니다.
젠투 리눅스가 처음이신 분들이나 리눅스가 익숙하지 않으신 분들은 핸드북을 참고하시기 바랍니다.
23년 12월부로 젠투 측에서 바이너리 패키지를 공식 지원합니다.
바이너리 패키지 설치 방법을 위해 별도 포스트를 마련했습니다.
Prerequisite
본인 Git에서 필요한 파일을 다운받아야 할 때,
> Github
$ wget https://github.com/YOUR_USER_ID/YOUR_REPOSITORY_NAME/raw/main/FILE_DIRECTORY/SOME_FILE
> Gitlab
$ wget https://gitlab.com/YOUR_USER_ID/YOUR_REPOSITORY_NAME/-/raw/master/FILE_DIRECTORY/SOME_FILE
Live USB
# wipefs --all /dev/sdb
# dd if=./Downloads/install-amd64-minimal-20211231T235901Z.iso of=/dev/sdb status=progress && sync
Base
Ping
# ping
Partition
UEFI 부팅 확인
# ls /sys/firmware/efi
# wipefs --all /dev/sda
# parted /dev/sda
# cfdisk /dev/sda
Format
/boot
partition
# mkfs.vfat -F 32 /dev/sdaN
swap
partition
# mkswap /dev/sdaN
# swapon /dev/sdaN
/
partition
# mkfs.ext4 -j /dev/sdaN
foramt as xfs
or btrfs
# mkfs.xfs /dev/sdaN
# mkfs.btrfs /dev/sdaN
Mount
다른 배포판 환경에서 설치하는 경우, /mnt/gentoo
디렉터리가 없으므로,
# mkdir -pv /mnt/gentoo
# mount -v -t ext4 /dev/sda3 /mnt/gentoo
# mkdir -pv /mnt/gentoo/boot
# mount -v -t vfat /dev/sda1 /mnt/gentoo/boot
TIME
# ntpd -q -g
# hwclock --systohc --utc
Stage 3 Tarball
# cd /mnt/gentoo
# links https://www.gentoo.org/downloads/mirrors/
# tar xpf stage3-*.tar.xz --xattrs-include='*.*' --numeric-owner
Edit make.conf
# nano -w /mnt/gentoo/etc/portage/make.conf
Mirror
# mirroselect -i -o >> /mnt/gentoo/etc/portage/make.conf
Copy repos.conf
# mkdir --parents /mnt/gentoo/etc/portage/repos.conf
# cp /mnt/gentoo/usr/share/portage/config/repos.conf /mnt/gentoo/etc/portage/repos.conf/gentoo.conf
Copy resolv.conf
# cp --dereference /etc/resolv.conf /mnt/gentoo/etc/
Mount /proc
, /sys
, /dev
아래 명령어중 --make-rslave
옵션은 systemd
설치하실 분만 진행합니다
# 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
Chroot
# chroot /mnt/gentoo /bin/bash
# source /etc/profile
# export PS1="(chroot) $PS1"
Portage
# merge-webrsync
# emerge -avuDN @world
# emerge -av gentoolkit eix genlop
News
# eselect news list
# eselect news read N
Profile
# eselect profile list
# eselect profile set N
Timezone
# ls /usr/share/zoneinfo
# echo "Asia/Seoul" > /etc/timezone
# emerge --config sys-libs/timezone-data
Locale
# nano -w /etc/locale.gen
'en_US.UTF-8 UTF-8' 주석 제거
# locale-gen
# eselect locale list
# eselect locale set N
Update env
# env-update && source /etc/profile && export PS1="(chroot) $PS1"
Kernel
// 정품
# emerge --ask sys-kernel/gentoo-sources pciutils sys-kernel/linux-firmware
// 진품
# git clone https://github.com/torvalds/linux.git
# wget https://cdn.kernel.org/pub/linux/kernel/v5.x/linux-5.14.1.tar.xz
// 유사품 1 - 바이너리 [2020-09-15: Gentoo 업데이트]
# emerge -a sys-kernel/gentoo-sources-bin
# emerge -a sys-kernel/gentoo-kernel-bin
// 유사품 2 - 컴파일
# emerge -a sys-kernel/gentoo-kernel
# emerge -a sys-kernel/vanilla-sources
# emerge -a sys-kernel/git-sources
# cd /usr/src/linux
# make mrproper
# make defconfig
# make menuconfig
# make -jN
# make modules_install
# make install
When updating the kernel
# cp /usr/src/linux/.config /usr/src/linux/NEW_KERNEL
# make olddefconfig
If you need initramfs
# genkernel --install --kernel-config=/usr/src/linux/.config initramfs
Microcode (TIP: Enable 'initramfs' USE Flag)
ex) add 'sys-firmware/intel-microcode initramfs'
inside '/etc/portage/package.use/package.use' file
# emerge -av sys-firmware/intel-microcode
Edit fstab
# blkid >> /etc/fstab
# nano -w /etc/fstab
# Inside file '/etc/fstab'
/dev/sda1 /boot vfat defaults,noatime 0 2
/dev/sda2 none swap sw 0 0
/dev/sda3 / ext4 noatime 0 1
/dev/sda4 /home ext4 noatime 0 1
# UUID -> remove quotation(")
# PARTUUID -> remove quotation(")
Hostname
# nano -w /etc/conf.d/hostname
# nano -w /etc/conf.d/net
# nano -w /etc/hosts
Netifrc
# emerge --ask --noreplace net-misc/netifrc
# nano -w /etc/conf.d/net
config_enp3s0="dhcp"
# cd /etc/init.d
# ln -s net.lo net.enp3s0
아래엔 본인 드라이버의 이름을 넣어야 합니다.
# rc-update add net.enp3s0 default
TIP
emerge -av ifplugd
Passwd
passwd
Edit rc.conf
nano -w /etc/rc.conf
rc_logger="YES"
rc_log_path="/var/log/rc.log"
nano -w /etc/conf.d/keymaps
nano -w /etc/conf.d/hwclock
Install logroate, sysklogd, cronie
# emerge --ask app-admin/sysklogd cronie mlocate
# rc-update add sysklogd default
# rc-update add cronie default
# emerge --ask net-misc/dhcpcd
or
# emerge -av networkmanger
# rc-update add NetworkManager default
GRUB:2
# emerge --ask --verbose sys-boot/grub:2
# grub-install --target=x86_64-efi --efi-directory=/boot
# grub-mkconfig -o /boot/grub/grub.cfg
Reboot
# exit
# cd
# umount -lR /mnt/gentoo
# reboot
Useradd
# useradd -m -g users -G wheel,audio,video,portage -s /bin/bash USER_NAME
# passwd USER_NAME
Remove stage3*.tar.xz
# rm /stage3*.tar.xz
XORG
# eselect profile list
# eselect profile set N
# emerge -avuDN @world
# env-update && source /etc/profile
# emerge --ask x11-base/xorg-server
# env-update && source /etc/profile
PLASMA
Settings for Plasma
# eselect profile set N
# eselect profile list
# emerge -avuDN --with-bdeps=y @world
System Dependencies
# emerge --noreplace -av elogind udev dbus polkit udisks
# rc-update add dbus default
# rc-update add elogind boot
Install Packages
# emerge -av plasma-meta kde-aps-meta
SDDM
# emerge --noreplace -av sddm
# usermod -a -G video sddm
# emerge --renoplace -av gui-libs/display-manager-init
Enable SDDM
# vim /etc/conf.d/display-manager
CHECKVT=7
DISPLAYMANAGER="sddm"
# rc-update add display-manager default