Creiamo il mount point
# mkdir /mnt/exherbo && mount /dev/sda2 /mnt/exherbo && cd /mnt/exherbo
Scegliamo l' ultimo stages
# wget http://dev.exherbo.org/stages/exherbo-x86_64-pc-linux-gnu-current.tar.xz # wget http://dev.exherbo.org/stages/sha1sum # grep exherbo-x86_64-pc-linux-gnu-current.tar.xz sha1sum | sha1sum -c
Estrarre lo stage
# tar xJpf exherbo*xz
[https://www.somasis.com/stages]
Aggiornare l' fstab
# <fs> <mountpoint> <type> <opts> <dump/pass> /dev/sda1 none swap sw 0 0 /dev/sda2 / ext4 defaults 0 0 /dev/sda3 /home ext4 defaults 0 2 tmpfs /tmp tmpfs nodev,nosuid,size=2G 0 0 tmpfs /dev/shm tmpfs defaults 0 0
Prima di iniziare copiare i dns dall' host.
# cp /etc/resolv.conf /mnt/exherbo/etc/resolv.conf
IMPORTANTE: Verifica che si usi davvero l'opzione “rbind” per associare il mount di /dev, altrimenti paludis non funzionerà correttamente.
Montiamo!
# mount -o rbind /dev /mnt/exherbo/dev/ # mount -o bind /sys /mnt/exherbo/sys/ # mount -t proc none /mnt/exherbo/proc/ # chroot /mnt/exherbo /bin/bash # source /etc/profile
Procediamo all' editing di 2 file importanti, bashrc e options.conf; Dal momento in cui scrivo gli unici editors presenti nello stage sono vi, vim ed emacs. Se si vuole procedere con nano bisogna aggiungerlo:
cave sync
cave resolve nano -x
Iniziamo con bashrc
nano -w /etc/bashrc
CFLAGS="-march=amd64 -O2 -pipe -fomit-frame-pointer" CXXFLAGS="${CFLAGS}" CHOST="x86_64-pc-linux-gnu" MAKEOPTS="-j3" i686_pc_linux_gnu_CFLAGS="-march=native -O2 -pipe" i686_pc_linux_gnu_CXXFLAGS="-march=native -O2 -pipe" x86_64_pc_linux_gnu_CFLAGS="-march=native -O2 -pipe" x86_64_pc_linux_gnu_CXXFLAGS="-march=native -O2 -pipe"
Passiamo a options.conf
nano -w /etc/options.conf
### Base ### */* build_options: jobs=4 -recommended_tests -dwarf_compress */* targets: x86_64-pc-linux-gnu i686-pc-linux-gnu
Modifica successiva:
### Base ### */* build_options: jobs=4 -recommended_tests -dwarf_compress */* targets: x86_64-pc-linux-gnu i686-pc-linux-gnu ### driver ### */* INPUT_DRIVERS: keyboard mause evdev -acecad -vmmouse */* VIDEO_DRIVERS: vesa amdgpu -intel -cirrus -vmware -nouveau -nv */* VIDEO_CARDS: -* amdgpu */* LINGUAS: -* it_IT it ### USE flag ### */* bash-completion ncurses openssl zlib consolekit ### Python ### */* python_abis: 2.7 3.6 ### ECCEZIONI ### gnome-desktop/gobject-introspection python_abis: -* 3.6
Finito tutto, procedere al sync
# cave sync
Scaricare e scompattare il kernel
# cd /usr/src/
Creare il link simbolico
# ln -sf /usr/src/linux-4.20 /usr/src/linux # cd linux # make menuconfig # make -j3 && make modules_install install
nano -w /etc/options.conf
### Senza systemd ### */* providers: -systemd eudev */* -systemd */* parts: openrc
Installare openrc:
# cave resolve openrc -x # cave resolve eudev -x
Rimuovere systemd:
# cave uninstall systemd -u '*/*' -x
Re-installa tutto il mondo
# cave resolve world -x -c
Installare grub2:
# cave resolve grub -x
Utile per riconoscere altri sistemi installati nell' Hard Disk è os-prober
# cave resolve os-prober -x
appena finito, inseriamolo il settore di avvio
# grub-install /dev/sda
Creeiamo la configurazione
# grub-mkconfig -o /boot/grub/grub.cfg
Verifica la configurazione di GRUB 2
# nano /boot/grub/grub.cfg
set timeout=10 set default=0 menuentry "Exherbo" { set root=(hd0,2) linux /kernel root=/dev/sda2 }
Per generare l' initramfs installare sys-boot/dracut:
# kernel-install add kernel-version /boot/vmlinuz-kernel-version
Per rimuovere la vecchia versione:
# kernel-install remove kernel-version
nano -w /etc/hostname mio-hostname
* sistemare anche gli host di riferimento, altrimenti i propri pacchetti potrebbero non funzionare come si deve.
nano -w /etc/hosts
127.0.0.1 mio-hostname.dominio mio-hostname localhost ::1 localhost
cave resolve linux-firmware
passwd
Il locale `en_GB.UTF-8` ed `en_US.UTF-8` sono installati di default.
# localedef -i en_US -f ISO-8859-1 en_US # localedef -i it_IT -f UTF-8 it_IT.UTF-8
default `en_GB.UTF-8`
# echo LANG="en_US.UTF-8" > /etc/env.d/99locale
# ln -s /usr/share/zoneinfo/Europe/Copenhagen /etc/localtime
Riavvia
# reboot
The stage tarball is no longer needed and can be safely removed.
The installation images (stages) contain additional tools which are useful for the installation process but are not part of the system nor world sets but the stages set.
You can identify the additional packages using cave show:
# cave show stages
If you wish to remove them, you can simply use cave purge:
# cave purge
Alternatively, you can add packages you wish to retain to the world set by using the update-world command. As an example, the following adds gdb to the world set.
# cave update-world sys-devel/gdb
Or, if you want to add all packages of the stages set to the world set:
# cave update-world -s stages
Some useful groups with a brief description:
+ adm used for system monitoring tasks (e.g. journalctl)
+ users traditional group for identifying user accounts (versus system/daemon accounts) + wheel used to indicate permission to perform certain restricted operations (e.g. su)
+ disk allows access to various disk device nodes
+ usb allows access to usb device nodes + audio allows access to audio device nodes + video allows access to video device nodes (for accelerated video)
# useradd -m -G adm,disk,wheel,cdrom,audio,video,usb,users ${username}