Gentoo installation

Mkfs.ext4 –O ^64bit /dev/sda1
Tune2fs –C 0 –i 0 /dev/sda1
Mkswap /dev/sda2
Swapon /dev/sda2
Mount /dev/sda1 /mnt/Gentoo
cd /mnt/Gentoo
Links www.gentoo.org/downloads/mirrors.xml

Tar –xvf stage3*
cd /
mount -t proc proc /mnt/gentoo/proc
mount –rbind /dev /mnt/gentoo/dev
mount –rbind /sys /mnt/gentoo/sys
cp -L /etc/resolv.conf /mnt/gentoo/etc
chroot /mnt/gentoo /bin/bash
source /etc/profile

cd /
mkdir /usr/portage
emerge-webrsync (–sync)
emerge -vupD –newuse –with-bdeps=y world

cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
ln -s /usr/share/zoneinfo/Asia/Shanghai localtime
echo “Asia/Shanghai” > /etc/timezone

eselect profile list
eselect profile set ××

cd /etc/portage
make.conf:
CFLAGS=”-O2 -march=native -mtune=native -pipe”
CPU_FLAGS_X86=”aes avx avx2 fma3 mmx mmxext popcnt sse sse2 sse3 sse4_1 sse4_2 ssse3″
## (For mouse, keyboard, and Synaptics touchpad support)
INPUT_DEVICES=”evdev”
VIDEO_CARDS=”intel”
## Global use flags
USE=”X consolekit pam -static”

rm -rf package.use
nano package.use
package.use:
net-misc/iputils -caps -filecaps
dev-lang/python sqlite
media-libs/libpng apng
x11-libs/libxcb xkb
app-editors/gedit gentoo
dev-libs/glib dbus
dev-libs/libxml2 python
app-text/poppler cairo
media-libs/harfbuzz icu
app-text/xmlto text
app-text/ghostscript-gpl cups
sys-kernel/gentoo-sources experimental symlink
sys-libs/zlib minizip
x11-misc/x11vnc fbcon

package.accept_keywords:
=sys-kernel/gentoo-sources-4.9.39

package.license:
www-plugins/adobe-flash AdobeFlash-11.x

rm -rf package.env
nano package.env
package.env:
media-libs/mesa media-libs/mesa

mkdir env
cd env
mkdir media-libs
cd media-libs
nano mesa
VIDEO_CARDS=”i965″

emerge gentoo-sources
cd /usr/src/linux
make menuconfig
make -j2/4/8
make modules_install
make install

cd /etc
nano fstab
/dev/sda1 / (/boot) ext4 defaults 0 0
/dev/sda2 (3) swap swap defaults 0 0

change root password

cd /boot
mkdir extlinux
emerge -vp sysliunx
livecd boot # cd /usr/share/syslinux
livecd syslinux # dd bs=440 conv=notrunc count=1 if=mbr.bin of=/dev/sda
livecd syslinux # extlinux –install /boot/extlinux
livecd extlinux # cp /usr/share/syslinux/menu.c32 .
ldd menu.c32
livecd extlinux # cp /usr/share/syslinux/libutil.c32 .
livecd extlinux # cp /usr/share/syslinux/libcom32.c32 .

livecd extlinux # nano extlinux.conf
prompt 0
timeout 1

default menu.c32
menu autoboot Starting Gentoo…
menu title Welcome!
menu hidden

label default
menu label Default (4.9.34-gentoo)
kernel /boot/vmlinuz-4.9.34-gentoo
append root=/dev/sda3 — default
menu default
label minimal
menu label Minimal (4.9.34-gentoo)
kernel /boot/vmlinuz-4.9.34-gentoo
append root=/dev/sda3 init=sbin/pid1 –init/cli

##emerge –unmerge sysvinit

emerge -vupD –newuse –with-bdeps=y world
rc-update add sshd default
passwd
emerge -vp syslog-ng (dhcpcd,pciutils,pcmciautils)
ln -s net.lo net.eth0 (rm net.eth0)
emerge –depclean

useradd -g users -G lp,wheel,audio,cdrom,portage,cron -m happy
passwd happy

UEFI:
GPT Partition
mkfs.vfat -f 12 /dev/sda1

mount /dev/sda1 /boot/EFI/
mount /boot/EFI/ (fstab)
umount /boot/EFI/ (fstab)
/boot/EFI/boot/EFI/Boot/bootx64.efi
cp /boot/vmlinuz-4.9******* bootx64.efi

init:
emerge -vp mingetty metalog
cd init-files-1.0.1
make clean
make
make install
cd /etc/boot.d/

cd /etc/portage/
mkdir profile
cd profile
nano packages
# use alternative init system
-*sys-apps/openrc

cd /usr/portage/distfiles
cp /usr/local/portage/disfiles/pid1-1.0.1.tar.bz2 .
chown portage:portage pid1-1.0.1.tar.bz2

emerge -v1 service-manager
emerge –unmerge sysvinit
emerge -vp pid1
emerge -v sys-apps/pid1

cd /etc/boot.d/
make default
cd defaultvsftp
nano need: init/cli(gui)
initchk default
rm issue
rm issue.log
reboot

GUI:
cd /usr/portage/distfiles/
cp /usr/local/portage/distfiles/ux11-1.0.1.tar.bz2 .
emerge -v ux11
need:
nano need
init/gui

#/boot/extlinux
nano extlinuxc.conf
append root=/dev/sda1 quiet –default

use flag: upower
emerge -v upower-pm-utils
package.mask:
nano consolekit
>=sys-auth/consolekit-1.0

 

nano /etc/sysctl.conf
# Reduce Kernel chattiness
Kernel.printk = 1

nano /usr/src/init-files-1.0.1/sysctl/exec.c
“/usr/sbin/sysctl”
make
make install

#emerge –unmerge openrc
#emerge –depclean