Cobra MK III
Můj nový počítač
2024.03.17-Mahoro.2024
2024.03.17 14:35:40 HW SW Mahoro gentoo systems Gilhad

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

bomb 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

10   Copy DNS info

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

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šší