Obsah
- 1 2024.03.17-Mahoro.2024
- 2 HW
- 3 Mounting the root partition
- 4 Downloading the stage tarball
- 5 Configuring compile options
- 6 Selecting mirrors
- 7 Oblibene USE
- 8 Gentoo ebuild repository
- 9 Giltoo ebuild repository
- 10 Copy DNS info
- 11 Mounting the necessary filesystems
- 12 Updating the Gentoo ebuild repository
- 13 Choosing the right profile
- 14 Emerging git
2 HW
Podle Intelu jde o 64bit systém, asi to teda sjednotím
Disk /dev/sda: 931.5 GiB, 1000204886016 bytes, 1953525168 sectors Units: sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disklabel type: dos Disk identifier: 0xc1e362bb Device Boot Start End Sectors Size Id Type /dev/sda1 2048 206847 204800 100M 83 Linux /boot /dev/sda2 206848 84092927 83886080 40G 83 Linux / SYSTEM1 2022 /dev/sda3 84092928 167979007 83886080 40G 83 Linux / newsys 2024 /dev/sda4 167979008 1953525167 1785546160 851.4G 5 Extended /dev/sda5 167981056 251867135 83886080 40G 83 Linux HOME 2024 /dev/sda6 251869184 335755263 83886080 40G 83 Linux /dev/sda7 335757312 440614911 104857600 50G 83 Linux /dev/sda8 440616960 860047359 419430400 200G 83 Linux HOME1 2022 /dev/sda9 860049408 1384337407 524288000 250G 83 Linux /dev/sda10 1384339456 1392728063 8388608 4G 82 Linux swap / Solaris SWAP1 2022 /dev/sda11 1392730112 1401118719 8388608 4G 82 Linux swap / Solaris newswap 2024
3 Mounting the root partition
mount /dev/sda3 /mnt/gentoo mount /dev/sda5 /mnt/gentoo/home cd /mnt/gentoo/ >~Mahoro.2024 echo "System pro Mahoro pro rok 2024 - zkusim 64 bit a wifi a moderni veci typu KiCad, openSCAD, Krita a tak" > README
4 Downloading the stage tarball
wget https://mirror.bytemark.co.uk/gentoo/releases/amd64/autobuilds/current-stage3-amd64-openrc -O - wget https://mirror.bytemark.co.uk/gentoo/releases/amd64/autobuilds/current-stage3-amd64-openrc/stage3-amd64-openrc-20240312T171909Z.tar.xz tar xpf stage3-*.tar.xz --xattrs-include='*.*' --numeric-owner
5 Configuring compile options
Předně využiju možnosti podadresářů v /etcp/portage a to i pro make.conf, následně budu dávat konfigurace jednotlivých "hlavních programů" do souborů s odpovídajícími jmény. Konfigurace si dám sem už předem, aby se různé USE a podobně neměnily průběžně a pak nebyly různé verze programů a knihoven a nemuselo se toho kompilovat pořád dokola - stejně to nakonec projedu s --empty-tree pro jistotu, ale i tak si nastavím spoustu věcí "do foroty"
mv etc/portage/make.conf etc/portage/00-make.conf mkdir etc/portage/make.conf mv etc/portage/00-make.conf etc/portage/make.conf cat >>etc/portage/make.conf/00-make.conf PORTDIR="/var/db/repos/gentoo" DISTDIR="/var/cache/distfiles" PKGDIR="/var/cache/binpkgs" L10N="en" #PYTHON_TARGETS="python2_7 python3_6 python3_7" #PYTHON_TARGETS="python2_7 python3_6 python3_7" #PYTHON_SINGLE_TARGET="python3_6" # 2023 - ??? python3_8 ??? #MAKEOPTS="-j26 " #MAKEOPTS="-j36 -l80" #FEATURES="${FEATURES} parallel-fetch" ##### Alt++ settings PORTAGE_RSYNC_EXTRA_OPTS="--info=stats0" MAKEOPTS="-j5 -l" EMERGE_DEFAULT_OPTS="--jobs --load-average " PORTAGE_NICENESS=19 #PORTAGE_IONICE_COMMAND="ionice -c 3 -p \${PID}" FEATURES="${FEATURES} -merge-sync parallel-fetch -parallel-install -ebuild-locks"
6 Selecting mirrors
mirrorselect -i -o >> /mnt/gentoo/etc/portage/make.conf/01-mirrors ### or echo 'GENTOO_MIRRORS="http://ftp.fi.muni.cz/pub/linux/gentoo/ http://gentoo.ussg.indiana.edu/ http://gentoo.cs.utah.edu/"' >> /mnt/gentoo/etc/portage/make.conf/01-mirrors
7 Oblibene USE
cat >>/mnt/gentoo/etc/portage/make.conf/02-USE <<EOF USE="\$USE -xdg" # je to zrudnost USE="\$USE -zeroconf" # je to zrudnost USE="\$USE -subversion" # nechci ani v gitu USE="\$USE -ipv6" # nepouzivame USE="\$USE mysql" # nase hlavni db USE="\$USE -berkleydb" # nepouzivame USE="\$USE webp" # protoze se to siri jak mor USE="\$USE X" # Xka asi chceme USE="\$USE -libglvnd" # asi nechceme USE="\$USE -pulseaudio" # nechci pulseaudio USE="\$USE mp3 vorbis" USE="\$USE lm-sensors" USE="\$USE -filecaps" # asi nechci USE="\$USE -nullok -passwdqc" # novy check na komplexitu hesel EOF cat >>/mnt/gentoo/etc/portage/make.conf/debianutils <<EOF USE="\$USE -installkernel" # nechci instalivate kernel prez "make install", kopiruju bzImage rucne bez magie USE="\$USE logrotate -anacron" # rotuju prez logrotate, anacron nepouzivam EOF
8 Gentoo ebuild repository
mkdir --parents /mnt/gentoo/var/db/repos/gentoo 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
Bacha, pokud by se měnilo PORTDIR, je potřeba to změnit i tady
9 Giltoo ebuild repository
cat >>/mnt/gentoo/etc/portage/repos.conf/GilToo-gilhad-repo <<EOF [GilToo-gilhad-repo] location = /var/db/repos/GilToo-gilhad-repo sync-type = rsync sync-uri = rsync://giltoo.gilhad.cz/GilToo-gilhad-repo/portage auto-sync = yes EOF
11 Mounting the necessary filesystems
mount --types proc /proc /mnt/gentoo/proc mount --rbind /sys /mnt/gentoo/sys mount --rbind /dev /mnt/gentoo/dev chroot /mnt/gentoo /bin/bash chroot: failed to run command ‘/bin/bash’: Exec format error
Aha, 64 bitový ze 32 bitového nechrootnu ... takže vyčaruju 64 bit USB a pojedu z něj na Mahoro boot, passwd, /etc/init.d/sshd start na velkém PC sshd root@Mahoro (plus vykomentování fingerprintů)
mount /dev/sda3 /mnt/gentoo/ mount --types proc /proc /mnt/gentoo/proc mount --rbind /sys /mnt/gentoo/sys mount --rbind /dev /mnt/gentoo/dev chroot /mnt/gentoo /bin/bash ### TED JSME CHROOTNUTI source /etc/profile export PS1="(chroot) ${PS1}" df -h / # Filesystem Size Used Avail Use% Mounted on # /dev/sda3 40G 1.7G 36G 5% / mount /dev/sda1 /boot
12 Updating the Gentoo ebuild repository
(chroot) livecd / # emerge --sync * IMPORTANT: 12 news items need reading for repository 'gentoo'. * Use eselect news read to view new items. (chroot) livecd / # eselect news list (chroot) livecd / # eselect news read
13 Choosing the right profile
eselect profile list #eselect profile set
Nějak do toho nevidím, nabízí buď 17.1 (stable), nebo 23.0 (exp), obojí mraky variant, default je 17.1 (stable) bez přívlastků, taky to tak vidím
14 Emerging git
echo "dev-vcs/git -blksha1 -cgi -curl -gpg -safe-directory -subversion -webdav # iconv nls pcre perl" >>/etc/portage/package.use/git emerge -avq --load-average=50 --jobs=30 dev-vcs/git cd /etc/ git config --global user.email "gilhad@seznam.cz" git config --global user.name "root" git config --global init.defaultBranch master git init git add -A git rm --cached portage/package.use/git portage/make.conf/01-mirrors.giltoo portage/repos.conf/GilToo-gilhad-repo portage/make.conf/02-USE portage/make.conf/debianutils git commit -am "uplny zacatek" git add portage/package.use/git git commit -am "+git" cd /
emerge --config sys-libs/timezone-data locale-gen env-update && source /etc/profile && export PS1="(chroot) ${PS1}"
stěžuje si to, že !!! Section 'crossdev' in repos.conf has location attribute set to nonexistent directory: '/var/db/repos/portage-crossdev' to budu řešit až s případným crossdev
bash: warning: setlocale: LC_CTYPE: cannot change locale (cs_CZ.UTF8): No such file or directory to jsou imho nějaké knihovny (glibc-i18n glibc) a pomine za chvíli samo, až si je systém dotáhne
14.1 Rebuild @world
- @world
- je set obsahující world (/var/lib/portage/world), system a profile
Teď by se měl updatnout základní systém, ale protože už jsem nastavil např. X, tak se bude dotahovat těch věcí víc
cd /etc git add portage/make.conf/02-USE portage/make.conf/debianutils git commit -am "+world" cd git init echo .lesshst >>.gitignore echo .bash_history>>.gitignore git add -A git commit -am "+git" cd / emerge --sync --quiet emerge --ask --verbose --update --deep --newuse @world -q --load-average=50 --jobs=20 ### or without limits emerge --ask --verbose --update --deep --newuse @world -q --load-average --jobs
Tady se mi to zhroutilo zcela, není hw-mahoro2 a podobně, něco jsem nějak zkopíroval ze starého systému a kašlu na to, jestli dostanu MC a VIM, tak to bude hned všechno jednodušší