Всем привет!
Решил я поэкспериментировать с Gentoo. До этого опыта работы с этим дистрибутивом не имел. Есть ретро комп: Pentium 4, 2Gb RAM. Решил на него установить Gentoo. Делаю все по этой методичке.
Подготовил диск, разбил на разделы, скачал архив и распаковал его в нужный раздел.
Добавил в файл /etc/portage/make.conf следующие настройки:
COMMON_FLAGS="-O2 -march=pentium4 -mfpmath=sse -mmmx -msse -msse2"
MAKEOPTS=2
USE="-gtk -gnome qt5 dvd alsa cdr"
VIDEO_CARDS="nouveau"
ACCEPT_LICENSE="-* @FREE @BINARY-REDISTRIBUTABLE"
Переменную USE взял из методички. Вообще-то хочется чтобы был десктоп XFCE, но пока хоть просто чтобы что-то загружалось.
Настроил файл /etc/portage/repos.conf/gentoo.conf:
[gentoo]
location = /var/db/repos/gentoo
sync-type = rsync
sync-uri = rsync://rsync.gentoo.org/gentoo-portage
auto-sync = yes
sync-rsync-verify-jobs = 1
sync-rsync-verify-metamanifest = yes
sync-rsync-verify-max-age = 24
sync-openpgp-key-path = /usr/share/openpgp-keys/gentoo-release.asc
sync-openpgp-keyserver = hkps://keys.gentoo.org
sync-openpgp-key-refresh-retry-count = 40
sync-openpgp-key-refresh-retry-overall-timeout = 1200
sync-openpgp-key-refresh-retry-delay-exp-base = 2
sync-openpgp-key-refresh-retry-delay-max = 60
sync-openpgp-key-refresh-retry-delay-mult = 4
sync-webrsync-verify-signature = yes
sync-git-verify-commit-signature = yes
Переключил корневую систему с livecd на локальный диск:
arch-chroot /mnt/gentoo
# change root
chroot /mnt/gentoo /bin/bash
source /etc/profile
export PS1="(chroot) ${PS1}"
Выбрал профайл:
eselect profile list
eselect profile set 5
emerge --ask --verbose --update --deep --newuse @world
Список профайлов:
Available profile symlink targets:
[1] default/linux/x86/17.0 (stable)
[2] default/linux/x86/17.0/selinux (stable)
[3] default/linux/x86/17.0/hardened (stable)
[4] default/linux/x86/17.0/hardened/selinux (stable)
[5] default/linux/x86/17.0/desktop (stable)
[6] default/linux/x86/17.0/desktop/gnome (stable)
[7] default/linux/x86/17.0/desktop/gnome/systemd (stable)
[8] default/linux/x86/17.0/desktop/gnome/systemd/merged-usr (stable)
[9] default/linux/x86/17.0/desktop/plasma (stable)
[10] default/linux/x86/17.0/desktop/plasma/systemd (stable)
[11] default/linux/x86/17.0/desktop/plasma/systemd/merged-usr (stable)
[12] default/linux/x86/17.0/developer (exp)
[13] default/linux/x86/17.0/systemd (stable)
[14] default/linux/x86/17.0/systemd/merged-usr (stable) *
[15] default/linux/x86/23.0/i686 (exp)
[16] default/linux/x86/23.0/i686/systemd (exp)
[17] default/linux/x86/23.0/i686/hardened (exp)
[18] default/linux/x86/23.0/i686/hardened/selinux (exp)
[19] default/linux/x86/23.0/i686/desktop (exp)
[20] default/linux/x86/23.0/i686/desktop/gnome (exp)
[21] default/linux/x86/23.0/i686/desktop/gnome/systemd (exp)
[22] default/linux/x86/23.0/i686/desktop/plasma (exp)
[23] default/linux/x86/23.0/i686/desktop/plasma/systemd (exp)
[24] default/linux/x86/23.0/i686/prefix (exp)
[25] default/linux/x86/23.0/i686/prefix/kernel-2.6.32+ (exp)
[26] default/linux/x86/23.0/i686/prefix/kernel-2.6.16+ (exp)
[27] default/linux/x86/23.0/i686/prefix/kernel-3.2+ (exp)
[28] default/linux/x86/23.0/i686/split-usr (exp)
[29] default/linux/x86/23.0/i686/split-usr/hardened (exp)
[30] default/linux/x86/23.0/i686/split-usr/hardened/selinux (exp)
[31] default/linux/x86/23.0/i686/split-usr/desktop (exp)
[32] default/linux/x86/23.0/i686/split-usr/desktop/gnome (exp)
[33] default/linux/x86/23.0/i686/split-usr/desktop/plasma (exp)
[34] default/linux/x86/23.0/i686/split-usr/prefix (exp)
[35] default/linux/x86/23.0/i686/split-usr/prefix/kernel-2.6.32+ (exp)
[36] default/linux/x86/23.0/i686/split-usr/prefix/kernel-2.6.16+ (exp)
[37] default/linux/x86/23.0/i686/split-usr/prefix/kernel-3.2+ (exp)
[38] default/linux/x86/23.0/i486 (exp)
[39] default/linux/x86/23.0/i486/systemd (exp)
[40] default/linux/x86/23.0/i486/hardened (exp)
[41] default/linux/x86/23.0/i486/hardened/selinux (exp)
[42] default/linux/x86/23.0/i486/split-usr (exp)
[43] default/linux/x86/23.0/i486/split-usr/hardened (exp)
[44] default/linux/x86/23.0/i486/split-usr/hardened/selinux (exp)
[45] default/linux/x86/17.0/musl (dev)
[46] default/linux/x86/17.0/musl/selinux (exp)
Обратил внимание, что нету XFCE. Ладно, выбрал default/linux/x86/17.0/desktop (stable).
При попытке сделать: emerge --ask app-portage/cpuid2cpuflags
* IMPORTANT: config file '/etc/portage/package.use/zz-autounmask' needs updating.
* See the CONFIGURATION FILES and CONFIGURATION FILES UPDATE TOOLS
* sections of the emerge man page to learn how to update config files.
These are the packages that would be merged, in order:
Calculating dependencies... done!
Dependency resolution took 2.83 s (backtrack: 0/20).
[ebuild N ] app-portage/cpuid2cpuflags-12
Would you like to merge these packages? [Yes/No] y
>>> Verifying ebuild manifests
>>> Emerging (1 of 1) app-portage/cpuid2cpuflags-12::gentoo
* cpuid2cpuflags-12.tar.bz2 BLAKE2B SHA512 size ;-) ... [ ok ]
>>> Unpacking source...
>>> Unpacking cpuid2cpuflags-12.tar.bz2 to /var/tmp/portage/app-portage/cpuid2cpuflags-12/work
>>> Source unpacked in /var/tmp/portage/app-portage/cpuid2cpuflags-12/work
>>> Preparing source in /var/tmp/portage/app-portage/cpuid2cpuflags-12/work/cpuid2cpuflags-12 ...
>>> Source prepared.
>>> Configuring source in /var/tmp/portage/app-portage/cpuid2cpuflags-12/work/cpuid2cpuflags-12 ...
./configure --prefix=/usr --build=i686-pc-linux-gnu --host=i686-pc-linux-gnu --mandir=/usr/share/man --infodir=/usr/share/info --datadir=/usr/share --sysconfdir=/etc --localstatedir=/var/lib --datarootdir=/usr/share --disable-dependency-tracking --disable-silent-rules --docdir=/usr/share/doc/cpuid2cpuflags-12 --htmldir=/usr/share/doc/cpuid2cpuflags-12/html --libdir=/usr/lib
checking for a BSD-compatible install... /usr/lib/portage/python3.11/ebuild-helpers/xattr/install -c
checking whether build environment is sane... yes
checking for a race-free mkdir -p... /usr/bin/mkdir -p
checking for gawk... gawk
checking whether make sets $(MAKE)... yes
checking whether make supports nested variables... yes
checking whether make supports nested variables... (cached) yes
checking for i686-pc-linux-gnu-gcc... i686-pc-linux-gnu-gcc
checking whether the C compiler works... yes
checking for C compiler default output file name... a.out
checking for suffix of executables...
checking whether we are cross compiling... no
checking for suffix of object files... o
checking whether the compiler supports GNU C... yes
checking whether i686-pc-linux-gnu-gcc accepts -g... yes
checking for i686-pc-linux-gnu-gcc option to enable C11 features... none needed
checking whether i686-pc-linux-gnu-gcc understands -c and -o together... yes
checking whether make supports the include directive... yes (GNU style)
checking dependency style of i686-pc-linux-gnu-gcc... none
checking for stdio.h... yes
checking for stdlib.h... yes
checking for string.h... yes
checking for inttypes.h... yes
checking for stdint.h... yes
checking for strings.h... yes
checking for sys/stat.h... yes
checking for sys/types.h... yes
checking for unistd.h... yes
checking for wchar.h... yes
checking for minix/config.h... no
checking whether it is safe to define __EXTENSIONS__... yes
checking whether _XOPEN_SOURCE should be defined... no
checking for uint32_t... yes
checking that generated files are newer than configure... done
configure: creating ./config.status
config.status: creating Makefile
config.status: creating config.h
config.status: executing depfiles commands
>>> Source configured.
>>> Compiling source in /var/tmp/portage/app-portage/cpuid2cpuflags-12/work/cpuid2cpuflags-12 ...
make 2
make: *** No rule to make target '2'. Stop.
* ERROR: app-portage/cpuid2cpuflags-12::gentoo failed (compile phase):
* emake failed
*
* If you need support, post the output of `emerge --info '=app-portage/cpuid2cpuflags-12::gentoo'`,
* the complete build log and the output of `emerge -pqv '=app-portage/cpuid2cpuflags-12::gentoo'`.
* The complete build log is located at '/var/tmp/portage/app-portage/cpuid2cpuflags-12/temp/build.log'.
* The ebuild environment file is located at '/var/tmp/portage/app-portage/cpuid2cpuflags-12/temp/environment'.
* Working directory: '/var/tmp/portage/app-portage/cpuid2cpuflags-12/work/cpuid2cpuflags-12'
* S: '/var/tmp/portage/app-portage/cpuid2cpuflags-12/work/cpuid2cpuflags-12'
>>> Failed to emerge app-portage/cpuid2cpuflags-12, Log file:
>>> '/var/tmp/portage/app-portage/cpuid2cpuflags-12/temp/build.log'
* Messages for package app-portage/cpuid2cpuflags-12:
* ERROR: app-portage/cpuid2cpuflags-12::gentoo failed (compile phase):
* emake failed
*
* If you need support, post the output of `emerge --info '=app-portage/cpuid2cpuflags-12::gentoo'`,
* the complete build log and the output of `emerge -pqv '=app-portage/cpuid2cpuflags-12::gentoo'`.
* The complete build log is located at '/var/tmp/portage/app-portage/cpuid2cpuflags-12/temp/build.log'.
* The ebuild environment file is located at '/var/tmp/portage/app-portage/cpuid2cpuflags-12/temp/environment'.
* Working directory: '/var/tmp/portage/app-portage/cpuid2cpuflags-12/work/cpuid2cpuflags-12'
* S: '/var/tmp/portage/app-portage/cpuid2cpuflags-12/work/cpuid2cpuflags-12'
При попытке сделать emerge --ask sys-kernel/linux-firmware:
* IMPORTANT: config file '/etc/portage/package.use/zz-autounmask' needs updating.
* See the CONFIGURATION FILES and CONFIGURATION FILES UPDATE TOOLS
* sections of the emerge man page to learn how to update config files.
These are the packages that would be merged, in order:
Calculating dependencies... done!
Dependency resolution took 2.87 s (backtrack: 0/20).
[ebuild N ] sys-kernel/linux-firmware-20240115 USE="redistributable -compress-xz -compress-zstd -deduplicate -initramfs -savedconfig (-unknown-license)"
Would you like to merge these packages? [Yes/No] y
>>> Verifying ebuild manifests
>>> Running pre-merge checks for sys-kernel/linux-firmware-20240115
>>> Emerging (1 of 1) sys-kernel/linux-firmware-20240115::gentoo
* linux-firmware-20240115.tar.xz BLAKE2B SHA512 size ;-) ... [ ok ]
>>> Unpacking source...
>>> Unpacking linux-firmware-20240115.tar.xz to /var/tmp/portage/sys-kernel/linux-firmware-20240115/work
>>> Source unpacked in /var/tmp/portage/sys-kernel/linux-firmware-20240115/work
>>> Preparing source in /var/tmp/portage/sys-kernel/linux-firmware-20240115/work/linux-firmware-20240115 ...
* Removing files with unknown license ...
removed 'korg/k1212.dsp'
removed 'ess/maestro3_assp_kernel.fw'
removed 'ess/maestro3_assp_minisrc.fw'
removed 'yamaha/ds1_ctrl.fw'
removed 'yamaha/ds1_dsp.fw'
removed 'yamaha/ds1e_ctrl.fw'
removed 'ttusb-budget/dspbootcode.bin'
removed 'emi62/bitstream.fw'
removed 'emi62/loader.fw'
removed 'emi62/midi.fw'
removed 'emi62/spdif.fw'
removed 'ti_3410.fw'
removed 'ti_5052.fw'
removed 'mts_mt9234mu.fw'
removed 'mts_mt9234zba.fw'
removed 'whiteheat.fw'
removed 'whiteheat_loader.fw'
removed 'cpia2/stv0672_vp4.bin'
removed 'vicam/firmware.fw'
removed 'edgeport/boot.fw'
removed 'edgeport/boot2.fw'
removed 'edgeport/down.fw'
removed 'edgeport/down2.fw'
removed 'edgeport/down3.bin'
removed 'sb16/mulaw_main.csp'
removed 'sb16/alaw_main.csp'
removed 'sb16/ima_adpcm_init.csp'
removed 'sb16/ima_adpcm_playback.csp'
removed 'sb16/ima_adpcm_capture.csp'
removed 'sun/cassini.bin'
removed 'acenic/tg1.bin'
removed 'acenic/tg2.bin'
removed 'adaptec/starfire_rx.bin'
removed 'adaptec/starfire_tx.bin'
removed 'yam/1200.bin'
removed 'yam/9600.bin'
removed 'ositech/Xilinx7OD.bin'
removed 'qlogic/isp1000.bin'
removed 'myricom/lanai.bin'
removed 'yamaha/yss225_registers.bin'
removed 'lgs8g75.fw'
>>> Source prepared.
>>> Configuring source in /var/tmp/portage/sys-kernel/linux-firmware-20240115/work/linux-firmware-20240115 ...
>>> Source configured.
>>> Compiling source in /var/tmp/portage/sys-kernel/linux-firmware-20240115/work/linux-firmware-20240115 ...
make 2
make: *** No rule to make target '2'. Stop.
* ERROR: sys-kernel/linux-firmware-20240115::gentoo failed (compile phase):
* emake failed
*
* If you need support, post the output of `emerge --info '=sys-kernel/linux-firmware-20240115::gentoo'`,
* the complete build log and the output of `emerge -pqv '=sys-kernel/linux-firmware-20240115::gentoo'`.
* The complete build log is located at '/var/tmp/portage/sys-kernel/linux-firmware-20240115/temp/build.log'.
* The ebuild environment file is located at '/var/tmp/portage/sys-kernel/linux-firmware-20240115/temp/environment'.
* Working directory: '/var/tmp/portage/sys-kernel/linux-firmware-20240115/work/linux-firmware-20240115'
* S: '/var/tmp/portage/sys-kernel/linux-firmware-20240115/work/linux-firmware-20240115'
>>> Failed to emerge sys-kernel/linux-firmware-20240115, Log file:
>>> '/var/tmp/portage/sys-kernel/linux-firmware-20240115/temp/build.log'
* Messages for package sys-kernel/linux-firmware-20240115:
* ERROR: sys-kernel/linux-firmware-20240115::gentoo failed (compile phase):
* emake failed
*
* If you need support, post the output of `emerge --info '=sys-kernel/linux-firmware-20240115::gentoo'`,
* the complete build log and the output of `emerge -pqv '=sys-kernel/linux-firmware-20240115::gentoo'`.
* The complete build log is located at '/var/tmp/portage/sys-kernel/linux-firmware-20240115/temp/build.log'.
* The ebuild environment file is located at '/var/tmp/portage/sys-kernel/linux-firmware-20240115/temp/environment'.
* Working directory: '/var/tmp/portage/sys-kernel/linux-firmware-20240115/work/linux-firmware-20240115'
* S: '/var/tmp/portage/sys-kernel/linux-firmware-20240115/work/linux-firmware-20240115'
Подскажите пожалуйста, где я не правильно настроил Portage?
Пытался посмотреть логи, но ничего нового там нет. В первом случае была ошибка компиляции, но деталей найти не удалось. Во втором случае make не нашел нужный таргет.