Welcome to LIVEUSB gentools! (easy to remember: http://bit.ly/gen2ls) Aby uruchomic liveusb nalezy je zbootowac z wlaczona opcja w BIOSIE boot from dvd lub usb. Wyrozniamy dwa rodzaje operacji I. INSTALACJA Z OFICJALNEGO LUB UBUNTU LIVEDVD/USB NA VIRTUALBOX ############################################################## #1etap #------------------------------------------------------------ sudo su - #------------------------------------------------------------ #Skrypty do screencastów o sprawnej instalacji gentoo http://bit.ly/gentools #------------------------------------------------------------ #STARSZA WERSJA skryptów (PRZESTARZAŁA): wget -c http://bit.ly/gentools01 -O/config.txz #NOWSZA WERSJA skryptów: wget https://raw.githubusercontent.com/pwasiewi/gentools/master/usr/local/bin/gentoolcfg chmod 755 ./gentoolcfg ./gentoolcfg #utworzy /config.txz ze źródeł z gentools repozytorium cd / && tar Jxvf config.txz && cd #------------------------------------------------------------ #zainstaluj vim, jak go nie ma #na Gentoo LiveDVD: emerge vim #na Ubuntu LiveDVD: apt install vim #------------------------------------------------------------ v a p #edytuj settings chroot na /dev/sda5 #------------------------------------------------------------ #RAMDISK=1 instalacja izolowana np. z UbuntuLiveDVD bez wspolnego np. portage z hostem #UWAGA /dev/sda5 to partycja roota dla dysku z wirtualboxa #uwaga na symbol /DEV/SDA, czy opisuje on wlasciwy dysk #POCZATEK - ustawianie partycji w virtualboxie, kiedy dysk /dev/sda jest niezajęty #------------------------------------------------------------ genformathdemo /dev/sda #------------------------------------------------------------ #KONIEC - ustawianie partycji w virtualboxie----------------- #W razie ponownych zmian usuwanie partycji: #for v_partition in $(parted -s /dev/sda print|awk '/^ / {print $1}'); do parted -s /dev/sda rm ${v_partition}; done #Rozmiar dysku: parted -s /dev/sda print|awk '/^Disk/ {print $3}'|sed 's/[Mm][Bb]//' #------------------------------------------------------------ v a f #sciagnij stage3/4 #etap trwa 23min time v a 1 #rozpakuj stage3/4, portage i popraw make.conf, vim v a e #chroot na nowy system gentoo do zmiany hasła #------------------------------------------------------------ #POCZATEK wpisywania komend: v a e #jak potrzeba edytuj fstab: vim /etc/fstab #zmien haslo: passwd #ZMIANA HASLA NA ROOTA NA WLASNE #CTRL-d wychodzi z: v a e #KONIEC wpisywania komend: v a e #REBOOT i dalsza instalacja np. plasma-meta #------------------------------------------------------------ reboot ############################################################## #2etap podmiana gcc na nowsze i kompilacja boost #------------------------------------------------------------ v a 2host #------------------------------------------------------------ ##update na nowszy gcc - etap dodatkowy ##kompilacja trwa 30min #vex sys-devel/gcc #OLDGCC=`gcc-config -c | cut -d'-' -f 5` #e gcc #gcc-config -l #gcc-config 2 #. /etc/profile #env-update #fix_libtool_files.sh ${OLDGCC} #e libtool n ############################################################## #3etap uaktualnienie systemu z odblokowanymi flagami USE #------------------------------------------------------------ v a 3host #------------------------------------------------------------ ##kompilacja trwa 2h #sed -i 's/#USE="${USE} video/USE="${USE} video/g' /etc/portage/make.conf #sed -i 's/#USE="${USE} gimp/USE="${USE} gimp/g' /etc/portage/make.conf #sed -i 's/#USE="${USE} tools/USE="${USE} tools/g' /etc/portage/make.conf #sed -i 's/bindist/-bindist/g' /etc/portage/make.conf #sed -i 's/-X\ /X\ /g' /etc/portage/make.conf #e w #emerge -uND world - upgrade world - 214 pakietow w ponad 2h ############################################################## #4etap instalujemy git i laymana do dodatkowych pakietow #------------------------------------------------------------ v a 4host #------------------------------------------------------------ ##kompilacja trwa 7 min #e u gpm app-misc/mc ntp #/etc/init.d/ntp-client start #/etc/init.d/gpm start #rc-update add gpm default #e u layman #okolo 32 aplikacji po etapie 3 aktualizacji 238 aplikacji #sed -i 's/^check_official : Yes/check_official : no/' /etc/layman/layman.cfg ##layman -L ##layman -a kde ##layman -a x11 ##layman -a sabayon #eix-update #e w ############################################################## #5etap dodatkowe pakiety i update systemu po dodaniu overlayow #------------------------------------------------------------ v a 5host #------------------------------------------------------------ ##polecane programy - 103 aplikacji ##kompilacja trwa 16min vex sys-fs/reiserfsprogs #vex sys-fs/mdadm #vex sys-fs/squahsfs-tools #vex net-analyzer/xprobe #vex app-admin/pass #vex dev-python/pymountboot #vex app-admin/eclean-kernel #vex app-portage/diffmask #vex app-portage/install-mask #vex app-portage/gpytage #veu "dev-libs/libgpg-error static-libs" #veu "dev-libs/lzo static-libs" #veu "dev-libs/libgcrypt static-libs" ## https://wiki.gentoo.org/wiki/Recommended_applications ## https://wiki.gentoo.org/wiki/Recommended_tools ## https://wiki.gentoo.org/wiki/Useful_Portage_tools #sed -i 's/PYTHON_SINGLE_TARGET="python3_4"/PYTHON_SINGLE_TARGET="python2_7"/g' /etc/portage/make.conf #e u rlwrap most dvtm pass pfl pybugz elogv eclean-kernel diffmask flaggie install-mask portpeek smart-live-rebuild ufed gpytage net-misc/curl pydf ncdu acpi acpitool htop atop lsof iotop iftop squashfs-tools sudo suspend p7zip sg3_utils testdisk logrotate gentoolkit f2fs-tools btrfs-progs ############################################################## #6etap kompilacja pakietu #------------------------------------------------------------ v a 6host #------------------------------------------------------------ ##kompilacja networkmanager ##kompilacja trwa 12min #vex net-misc/modemmanager #veu "kde-plasma/plasma-desktop legacy-systray" #veu ">=sys-libs/libblockdev-2.14-r1 cryptsetup" #veu ">=net-dialup/ppp-2.4.7-r3 ipv6" #veu ">=media-sound/pulseaudio-11.1 gnome" #veu "media-plugins/alsa-plugins pulseaudio" #e u networkmanager ############################################################## #7etap caly desktop plasma min. 80min #------------------------------------------------------------ v a 7host #------------------------------------------------------------ ##kompilacja plasma-5.11 287 aplikacji ##kompilacja trwa 85min #vep sys-auth/elogind-235.2-r1 #vep net-misc/networkmanager-1.10.2 #vex kde-frameworks/extra-cmake-modules #vex kde-frameworks/networkmanager-qt ##https://wiki.gentoo.org/wiki/Project:Python/PYTHON_TARGETS #sed -i 's/PYTHON_SINGLE_TARGET="python2_7"/PYTHON_SINGLE_TARGET="python3_4"/g' /etc/portage/make.conf #echo 'CFLAGS=""' > /etc/portage/env/empty1core #echo 'CXXFLAGS=""' >> /etc/portage/env/empty1core #echo 'LDFLAGS=""' >> /etc/portage/env/empty1core #echo 'MAKEOPTS="-j1"' >> /etc/portage/env/empty1core #echo "dev-libs/libappindicator empty1core" >> /etc/portage/package.env/moje.env #time emerge @kde-plasma-5.11 #e u konsole kde-apps/dolphin media-video/plasma-mediacenter ############################################################## #8etap dodatkowe pakiety, x11 virtualbox, nowy uzytkownik #------------------------------------------------------------ v a 8host #------------------------------------------------------------ ##kompilacja trwa 1h plus upgrade po usunieciu flag use wstawionych veu ##https://wiki.gentoo.org/wiki/Fontconfig#Explanation ##41 aplikacje 8min #e u setxkbmap xdpyinfo xrandr xkill xterm alsamixergui gparted freetype media-fonts/liberation-fonts pavucontrol ##sieci #veu "dev-libs/nss utils" ##5 min #e u x11-misc/bumblebee feh lm_sensors xsensors lft nload yersinia vnstat xprobe wavemon geoipupdate qpdfview scite iptraf-ng libreswan openvpn quagga ##uzytkowe #vex www-client/firefox-bin #vex app-emulation/lxc #vex app-emulation/docker #vex sys-process/criu #vex app-emulation/containerd #vex app-emulation/docker-runc #vex app-emulation/docker-proxy ##17 aps 3min #e u firefox-bin app-emulation/docker lxc ##e w #vex dev-util/scons #vex net-libs/nghttp2 #vex net-libs/http-parser #vex net-libs/nodejs #vex dev-libs/libuv #vex app-admin/mongo-tools #vex dev-db/mongodb ##echo "dev-db/mongodb empty1core" >> /etc/portage/package.env/moje.env ##45 apps 20min bez nodejs i octave #e u cdrtools dvd+rw-tools libisoburn R octave nodejs opera mongodb #vex x11-drivers/xf86-video-vboxvideo #vex dev-util/kbuild #vex app-emulation/virtualbox-guest-additions ##e app-emulation/virtualbox-guest-additions ##9min #e u virtualbox #vex x11-drivers/xf86-video-virtualbox #e u x11-drivers/xf86-video-virtualbox ##potem nalezy dodac uzytkownika #useradd -m -g users guest #echo 'exec startkde' > /home/guest/.xinitrc #chown -R guest:users /home/guest/ #usermod -aG docker guest #usermod -aG wheel guest #usermod -aG audio guest #usermod -aG video guest #echo Wykonaj: passwd guest ##passwd guest #vex app-text/calibre #vex media-gfx/gimp ##e u calibre gimp vlc mplayer ##e u skype google-chrome steam-launcher blender ##FINALNY UPDATE ##sed -i 's/PYTHON_SINGLE_TARGET="python2_7"/PYTHON_SINGLE_TARGET="python3_4"/g' /etc/portage/make.conf #veu "gnome-base/libglade PYTHON_SINGLE_TARGET: -* python2_7" #veu "app-text/asciidoc PYTHON_SINGLE_TARGET: -* python2_7" ##14 apps 3min #e w ############################################################## II. INSTALACJA LUB URUCHOMIENIE WLASNEGO GENTOO USB Na wlasnym komputerze nalezy wczesniej wydzielic (np. za pomoca Partition Magic, gdisk) trzy male partycje 10MB, 10MB, 100MB oraz wolna partycje o rozmiarze okolo 20GB (sformatowac ext4, jesli dla ssd to z parametrami stride, stripe-width). Symbole partycji rodzajow w gdisku: EF00, EF02, 8300, 8300 czyli 2 dla boota EFI i dwie dla systemu w tym pierwsza dla kerneli. Dla pewnosci wydzielic jeszcze mozna partycje swap o rozmiarze co najmniej polowy pamieci fizycznej RAM zamontowanej w komputerze. Po uruchomieniu liveusb po komendzie sg_map zorientowac sie, jak nazywa sie dysk z partycja kilkugigabajtowa, komenda gdisk /dev/sd?? znalezc ta partycje (ALE NIE POMYLIC SIE), sformatowac ja (TA ODDZIELONA) systemem plikow np. Zamontowac glowna partycje /dev/sd? na katalogu /mnt/gentoo poleceniem: montuj-dysk /dev/sd? lub jesli dysk ssd: montuj-ssd /dev/sd? albo jesli dysk samsung evo: montuj-evo /dev/sd? Zamontowac partycje boot na kernele: mount /dev/sd? /mnt/key i skopiowac kernele cp -a /boot/* /mnt/key Edytowac dodajac poprzednio sformatowane partycje pliki konfiguracyjne np.: vim fstab cp -a fstab inittab /mnt/gentoo/etc mchroot /mnt/gentoo mount /boot grub-install /dev/sdx grub-mkconfig -o /boot/grub/grub.cfg Zmieniamy haslo roota: passwd Po ponownym zbotowaniu z twardego dysku, w menu systemow wybor Gentoo, mozna sie zalogowac na roota i dodac nowego uzytkownika i jego haslo: adduser -m nazwa_loginu passwd nazwa_loginu Potem po podlaczeniu do sieci - jesli juz nie podlaczylo automatycznie - (konfiguracja w /etc/conf.d/net) poprzez komende /etc/init.d/net.eth0 restart lub /etc/init.d/net.enp0s3 restart wykonujemy polecenia (wyjasnienie ponizej): emerge --sync itd.... ;) Jesli w /etc/portage/repos.conf sa overlaye dla laymana > 2.2.2 layman -a kde layman -a stuff layman -a sabayon layman -a toolchain; Otrzymujemy system gotowy do dzialania. ############################################################## UZYTKOWANIE GENTOO emerge --sync #e m Sprowadza drzewo portage czyli nazwy pakietow (dokladnie plikow ebuild) i ich zaleznosci layman -L Sprowadza liste ebuildow layman -a kde layman -a x11 layman -a stuff layman -a sabayon layman -a toolchain; Sprowadza przykladowe overlay'e Updatowanie eksperymentalnych list zainstalowanych na lokalnym komputerze layman -s ALL lub wszytskiego emaint -A sync layman -a nazwa_overlayu - dodaje jedna liste (overlay) ebuildow zamieszczonych na gentoo.org przez entuzjastow danych programow pragnacych testowac ich najnowsze opcje layman -L Wypisanie wszystkich list eksperymentalnych zamieszczonych na gentoo.org layman -l Wypisanie eksperymentalnych list ebuildow zainstalowanych na lokalnym komputerze vim /etc/make.conf Mozna edytowac tam flagi procesora, ale przede wszystkim flagi systemu portage wystepujace po slowie USE="..." w cudzyslowie np. USE="gnome kde" czyli skompilowac programy ze wsparciem dla Gnome i KDE vim /etc/portage/package.use/package.use Tutaj flagi systemu portage mozna przypisac do poszczegolnych programow, jesli roznia sie od flag o globalnym zasiegu z pliku /etc/make.conf vim /etc/portage/package.keywords/package.keywords Tu dodaje sie pakiety, ktore sie chce skompilowac z kodow zrodlowych wersji deweloperskich czyli z reguly prawie lub najnowszych. Jesli zalezy komus tylko na stabilnosci to radze usunac jak najwiecej pakietow z tego pliku, ale komu na tym zalezy, kiedy uzywa Gentoo... vim /etc/portage/profile/package.provided Zamieszczone tu tytuly pakietow nieobecnych, ktore "oszukuja" system, ze sa w nim nadal obecne lub powoduja brak aktualizacji emerge -uND world #e w Updatuje po sprowadzeniu najnowszego drzewa za pomoca wczesniejszego emerge --sync pakiety do nowszych wersji i ewentualnie zmienionych flag systemowych w /etc/make.conf i /etc/portage/package.use emerge -fuN world Sprowadza najpierw kody zrodlowe, potem trzeba wpisac emerge -uN world, ale polaczenie sieciowe jest juz zbedne, kompilacje wykonaja sie off-line, gdyz wszystko co potrzebne do nich zostalo sprowadzone opcja -f emerge -uNp world Wypisuje nazwy programow do skompilowania bez samego kompilowania emerge -uNpv world Wypisuje nazwy programow do skompilowania bez samego kompilowania wraz z flagami systemu portage, ktore zostana uzyte przy kompilacji programu emerge -uNpvt world Wypisuje nazwy programow do skompilowania bez samego kompilowania wraz z flagami systemu portage, ktore zostana uzyte przy kompilacji programu oraz hierarchia pakietow zobrazowana w postaci wciec - semi-drzewa tekstowego emerge -e world #e e w Rekompiluje od nowa kazdy zainstalowany program emerge liquorix-sources Sprowadza kod zrodlowy liquorix-sources Osobno sprowadzamy plik konfiguracyjny .config lub generujemy w zaleznosci od potrzeb w /usr/src/linux: make defconfig; make kvmconfig