LINUX.ORG.RU

Gentoo: пытаюсь установить сорцы ядра grsec minipli, но ошибка, обычное ядро ставится

 , ,


0

1

Из оверлея pentoo:

root@workstation /e/portage# emerge --info '=sys-kernel/minipli-sources-4.9.74::pentoo'
Portage 2.3.66 (python 3.6.5-final-0, default/linux/x86/17.0/hardened, gcc-8.3.0, glibc-2.29-r2, 4.19.36-gnu x86_64)
=================================================================
                         System Settings
=================================================================
System uname: Linux-4.19.36-gnu-x86_64-Intel-R-_Pentium-R-_CPU_G2140_@_3.30GHz-with-gentoo-2.6
KiB Mem:    16105800 total,  10403676 free
KiB Swap:          0 total,         0 free
Timestamp of repository gentoo: Fri, 26 Jul 2019 04:30:01 +0000
Head commit of repository gentoo: 752f7623643670de40a66011906b69da6087f1c0
sh bash 4.4_p23-r1
ld GNU ld (Gentoo 2.32 p2) 2.32.0
ccache version 3.7.1 [enabled]
app-shells/bash:          4.4_p23-r1::gentoo
dev-lang/perl:            5.28.2-r1::gentoo
dev-lang/python:          2.7.15::gentoo, 3.6.5::gentoo
dev-util/ccache:          3.7.1::gentoo
dev-util/cmake:           3.14.3::gentoo
sys-apps/baselayout:      2.6-r1::gentoo
sys-apps/openrc:          0.41.2::gentoo
sys-apps/sandbox:         2.13::gentoo
sys-devel/autoconf:       2.69-r4::gentoo
sys-devel/automake:       1.16.1-r1::gentoo
sys-devel/binutils:       2.32-r1::gentoo
sys-devel/gcc:            8.3.0-r1::gentoo
sys-devel/gcc-config:     2.0::gentoo
sys-devel/libtool:        2.4.6-r3::gentoo
sys-devel/make:           4.2.1-r4::gentoo
sys-kernel/linux-headers: 4.19::gentoo (virtual/os-headers)
sys-libs/glibc:           2.29-r2::gentoo
Repositories:

gentoo
    location: /usr/portage
    sync-type: rsync
    sync-uri: rsync://rsync.gentoo.org/gentoo-portage
    priority: -1000
    sync-rsync-extra-opts: 
    sync-rsync-verify-metamanifest: yes
    sync-rsync-verify-max-age: 24
    sync-rsync-verify-jobs: 1

ago
    location: /var/lib/layman/ago
    masters: gentoo
    priority: 50

pentoo
    location: /var/lib/layman/pentoo
    masters: gentoo
    priority: 50

ACCEPT_KEYWORDS="x86"
ACCEPT_LICENSE="@FREE"
CBUILD="i486-pc-linux-gnu"
CFLAGS="-O2 -march=i486 -pipe"
CHOST="i486-pc-linux-gnu"
CONFIG_PROTECT="/etc /usr/share/gnupg/qualified.txt"
CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/env.d /etc/gconf /etc/gentoo-release /etc/sandbox.d /etc/terminfo"
CXXFLAGS="-O2 -march=i486 -pipe"
DISTDIR="/usr/portage/distfiles"
ENV_UNSET="DBUS_SESSION_BUS_ADDRESS DISPLAY GOBIN PERL5LIB PERL5OPT PERLPREFIX PERL_CORE PERL_MB_OPT PERL_MM_OPT XAUTHORITY XDG_CACHE_HOME XDG_CONFIG_HOME XDG_DATA_HOME XDG_RUNTIME_DIR"
FCFLAGS="-O2 -march=i486 -pipe"
FEATURES="assume-digests binpkg-docompress binpkg-dostrip binpkg-logs ccache config-protect-if-modified distlocks ebuild-locks fixlafiles ipc-sandbox merge-sync multilib-strict network-sandbox news parallel-fetch pid-sandbox preserve-libs protect-owned sandbox sfperms strict unknown-features-warn unmerge-logs unmerge-orphans userfetch userpriv usersandbox usersync xattr"
FFLAGS="-O2 -march=i486 -pipe"
GENTOO_MIRRORS="http://distfiles.gentoo.org"
LANG="en_US.UTF-8"
LDFLAGS="-Wl,-O1 -Wl,--as-needed"
MAKEOPTS="-j4"
PKGDIR="/usr/portage/packages"
PORTAGE_CONFIGROOT="/"
PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --omit-dir-times --compress --force --whole-file --delete --stats --human-readable --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages --exclude=/.git"
PORTAGE_TMPDIR="/var/tmp"
USE="acl bzip2 crypt cxx hardened iconv ipv6 libtirpc ncurses nls nptl openmp pam pcre pic pie readline seccomp split-usr ssl ssp unicode x86 xattr xtpax zlib" ABI_X86="32" ALSA_CARDS="ali5451 als4000 atiixp atiixp-modem bt87x ca0106 cmipci emu10k1 emu10k1x ens1370 ens1371 es1938 es1968 fm801 hda-intel intel8x0 intel8x0m maestro3 trident usb-audio via82xx via82xx-modem ymfpci" APACHE2_MODULES="authn_core authz_core socache_shmcb unixd actions alias auth_basic authn_alias authn_anon authn_dbm authn_default authn_file authz_dbm authz_default authz_groupfile authz_host authz_owner authz_user autoindex cache cgi cgid dav dav_fs dav_lock deflate dir disk_cache env expires ext_filter file_cache filter headers include info log_config logio mem_cache mime mime_magic negotiation rewrite setenvif speling status unique_id userdir usertrack vhost_alias" CALLIGRA_FEATURES="karbon sheets words" COLLECTD_PLUGINS="df interface irq load memory rrdtool swap syslog" ELIBC="glibc" GPSD_PROTOCOLS="ashtech aivdm earthmate evermore fv18 garmin garmintxt gpsclock isync itrax mtk3301 nmea ntrip navcom oceanserver oldstyle oncore rtcm104v2 rtcm104v3 sirf skytraq superstar2 timing tsip tripmate tnt ublox ubx" INPUT_DEVICES="libinput keyboard mouse" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LIBREOFFICE_EXTENSIONS="presenter-console presenter-minimizer" NETBEANS_MODULES="apisupport cnd groovy gsf harness ide identity j2ee java mobility nb php profiler soa visualweb webcommon websvccommon xml" OFFICE_IMPLEMENTATION="libreoffice" PHP_TARGETS="php7-2" POSTGRES_TARGETS="postgres10 postgres11" PYTHON_SINGLE_TARGET="python3_6" PYTHON_TARGETS="python2_7 python3_6" RUBY_TARGETS="ruby24" USERLAND="GNU" VIDEO_CARDS="amdgpu fbdev intel nouveau radeon radeonsi vesa dummy v4l" XTABLES_ADDONS="quota2 psd pknock lscan length2 ipv4options ipset ipp2p iface geoip fuzzy condition tee tarpit sysrq steal rawnat logmark ipmark dhcpmac delude chaos account"
Unset:  CC, CPPFLAGS, CTARGET, CXX, EMERGE_DEFAULT_OPTS, INSTALL_MASK, LC_ALL, LINGUAS, PORTAGE_BINHOST, PORTAGE_BUNZIP2_COMMAND, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS

root@workstation /e/portage# emerge -pqv '=sys-kernel/minipli-sources-4.9.74::pentoo'
[ebuild  N    ] sys-kernel/minipli-sources-4.9.74  USE="-build -deblob -injection -symlink" 
root@workstation /e/portage# cat /var/tmp/portage/sys-kernel/minipli-sources-4.9.74/temp/build.log
 * Package:    sys-kernel/minipli-sources-4.9.74
 * Repository: pentoo
 * USE:        abi_x86_32 elibc_glibc kernel_linux userland_GNU x86
 * FEATURES:   ccache network-sandbox preserve-libs sandbox userpriv usersandbox
>>> Preparing to unpack ...
>>> Unpacking source...
>>> Unpacking linux-4.9.tar.xz to /var/tmp/portage/sys-kernel/minipli-sources-4.9.74/work
 * Excluding Patch #1500_XATTR_USER_PREFIX.patch ...                                                                                    [ ok ]
 * Excluding Patch #1520_CVE-2017-6074-dccp-skb-freeing-fix.patch ...                                                                   [ ok ]
 * Excluding Patch #2900_dev-root-proc-mount-fix.patch ...                                                                              [ ok ]
 * Failed to dry-run patch v4.9.74-unofficial_grsec-20180103130648.patch
 * Please attach /var/tmp/portage/sys-kernel/minipli-sources-4.9.74/temp/v4.9.74-unofficial_grsec-20180103130648.err to any bug you may post.
 * ERROR: sys-kernel/minipli-sources-4.9.74::pentoo failed (unpack phase):
 *   Unable to dry-run patch on any patch depth lower than 5.
 * 
 * Call stack:
 *     ebuild.sh, line  124:  Called src_unpack
 *   environment, line 2837:  Called kernel-2_src_unpack
 *   environment, line 1687:  Called unipatch '  /var/tmp/portage/sys-kernel/minipli-sources-4.9.74/distdir/v4.9.74-unofficial_grsec-20180103130648.diff'
 *   environment, line 3680:  Called die
 * The specific snippet of code:
 *                   die "Unable to dry-run patch on any patch depth lower than 5.";
 * 
 * If you need support, post the output of `emerge --info '=sys-kernel/minipli-sources-4.9.74::pentoo'`,
 * the complete build log and the output of `emerge -pqv '=sys-kernel/minipli-sources-4.9.74::pentoo'`.
 * The complete build log is located at '/var/tmp/portage/sys-kernel/minipli-sources-4.9.74/temp/build.log'.
 * The ebuild environment file is located at '/var/tmp/portage/sys-kernel/minipli-sources-4.9.74/temp/environment'.
 * Working directory: '/var/tmp/portage/sys-kernel/minipli-sources-4.9.74/work/linux-4.9.74-minipli'
 * S: '/var/tmp/portage/sys-kernel/minipli-sources-4.9.74/work/linux-4.9.74-minipli'

Что делать?

Что-то похожее описано здесь:

https://bugs.gentoo.org/608644

Но неужели опять виноват grep в 3-ей то его версии?

Ответ на: комментарий от vvn_black

gcc у тебя не той системы.

Говорят, надо какой-то toolchain ставить для сборки ядра на неродной архитектуре целевого процессора, если я правильно понял.

Но дело в том, что внутри chroot у меня userspace x86, снаружи AMD64:

cat make.conf

COMMON_FLAGS="-O2 -march=i486 -pipe"
CFLAGS="${COMMON_FLAGS}"
CXXFLAGS="${COMMON_FLAGS}"
FCFLAGS="${COMMON_FLAGS}"
FFLAGS="${COMMON_FLAGS}"
# WARNING: Changing your CHOST is not something that should be done lightly.
# Please consult https://wiki.gentoo.org/wiki/Changing_the_CHOST_variable before changing.
CHOST="i486-pc-linux-gnu"

Что ему еще от меня надо?

Пытаюсь собрать ядро в userspace уже перекомпилированном для i486 для такого же целевого проца i486.

Неужели еще надо ставить какой то toolchain для кросскомпиляции? Я думал, это когда в Devuan 64 бита собирают ядро под какой-нибудь ARM, то нужен toolchain другого gcc, нет?

simoshina
() автор топика

сейчас некоторые патчи из grsec уже включены в ядра, если не ошибаюсь, с версии >=5.0. Смотри GCC_PLUGINS, Security

kickass
()
Ответ на: комментарий от kickass

сейчас некоторые патчи из grsec уже включены в ядра, если не ошибаюсь, с версии >=5.0.

Мне хотелось бы поупражняться с true grsecurity

Смотри GCC_PLUGINS, Security

Можно, пожалуйста, поточнее, что ему от меня надо? Какую-то особенную разновидность gcc? Чем она отличается от той, которой УЖЕ собрана моя гента?

simoshina
() автор топика
Ответ на: комментарий от kickass

потом переключись на него

gcc-config -l
gcc-config 1 или 2, в зависимости каким он будет в списке

kickass
()
Ответ на: комментарий от simoshina

linux-5.2.3:

grep -r -i grsec .
./arch/x86/include/asm/refcount.h: * PaX/grsecurity.
./Documentation/admin-guide/LSM/Yama.rst:The original children-only logic was based on the restrictions in grsecurity.
./Documentation/gcc-plugins.txt:This infrastructure was ported from grsecurity [6]_ and PaX [7]_.
./Documentation/gcc-plugins.txt:.. [6] https://grsecurity.net/
./Documentation/gcc-plugins.txt:.. [7] https://pax.grsecurity.net/
./Documentation/sysctl/fs.txt:This protection is based on the restrictions in Openwall and grsecurity.
./Documentation/sysctl/fs.txt:This protection is based on the restrictions in Openwall and grsecurity.
./kernel/stackleak.c: * ported from grsecurity/PaX.
./scripts/gcc-plugins/Kconfig:    This plugin was ported from grsecurity/PaX. More information at:
./scripts/gcc-plugins/Kconfig:     * https://grsecurity.net/
./scripts/gcc-plugins/Kconfig:     * https://pax.grsecurity.net/
./scripts/gcc-plugins/Kconfig:    This plugin was ported from grsecurity/PaX. More information at:
./scripts/gcc-plugins/Kconfig:     * https://grsecurity.net/
./scripts/gcc-plugins/Kconfig:     * https://pax.grsecurity.net/
./scripts/gcc-plugins/randomize_layout_plugin.c: * Copyright 2014-2016 by Open Source Security, Inc., Brad Spengler <spender@grsecurity.net>
./scripts/gcc-plugins/stackleak_plugin.c: * This plugin is ported from grsecurity/PaX. For more information see:
./scripts/gcc-plugins/stackleak_plugin.c: *   https://grsecurity.net/
./scripts/gcc-plugins/stackleak_plugin.c: *   https://pax.grsecurity.net/
./scripts/gcc-plugins/structleak_plugin.c: * Homepage: http://pax.grsecurity.net/
./security/Kconfig.hardening:     This plugin was originally ported from grsecurity/PaX. More
./security/Kconfig.hardening:      * https://grsecurity.net/
./security/Kconfig.hardening:      * https://pax.grsecurity.net/
./security/Kconfig.hardening:     This plugin was ported from grsecurity/PaX. More information at:
./security/Kconfig.hardening:      * https://grsecurity.net/
./security/Kconfig.hardening:      * https://pax.grsecurity.net/

kickass
()
Ответ на: комментарий от kickass

7.4.x уже не подходит? по идее, чем современнее, хотя бы минорно, тем лучше? :)


equery y sys-devel/gcc
Keywords for sys-devel/gcc:
            |                               a   |           |  
            |                               m   |           |  
            |                               d x |           |  
            |                               6 8 |           |  
            |                               4 6 |   u       |  
            | a a   a     p r           s   | | |   n       |  
            | l m   r i   p i   h m s   p m f f | e u s     | r
            | p d a m a p c s x p 6 3   a i b b | a s l     | e
            | h 6 r 6 6 p 6 c 8 p 8 9 s r p s s | p e o     | p
            | a 4 m 4 4 c 4 v 6 a k 0 h c s d d | i d t     | o
------------+-----------------------------------+-----------+-------
[M]3.3.6-r3 | o ~ o o o o o o ~ o o o o o o o o | 5 # 3.3.6 | gentoo
[M]3.3.6-r4 | o ~ o o o o o o ~ o o o o o o o o | 5 o       | gentoo
------------+-----------------------------------+-----------+-------
[M]3.4.6-r2 | + + + * ~ + + * + * * ~ ~ + ~ * ~ | 5 o 3.4.6 | gentoo
[M]3.4.6-r3 | ~ ~ ~ * ~ ~ ~ * ~ * * ~ ~ ~ ~ * ~ | 5 #       | gentoo
[M]3.4.6-r4 | ~ ~ ~ * ~ ~ ~ * ~ * * ~ ~ ~ ~ * ~ | 5 o       | gentoo
------------+-----------------------------------+-----------+-------
[M]4.0.4-r2 | o o o o o o o o o o o o o o o o o | 5 o 4.0.4 | gentoo
------------+-----------------------------------+-----------+-------
[M]4.1.2    | + + + * + + + * + + ~ ~ ~ + ~ * ~ | 5 o 4.1.2 | gentoo
[M]4.1.2-r2 | ~ ~ ~ * ~ ~ ~ * ~ ~ ~ ~ ~ ~ ~ * ~ | 5 o       | gentoo
------------+-----------------------------------+-----------+-------
[M]4.2.4-r1 | ~ ~ ~ o ~ ~ ~ o ~ + ~ o o ~ o o ~ | 5 o 4.2.4 | gentoo
[M]4.2.4-r3 | ~ ~ ~ o ~ ~ ~ o ~ ~ ~ o o ~ o o ~ | 5 o       | gentoo
------------+-----------------------------------+-----------+-------
[M]4.3.6-r1 | + + + o + + + o + - ~ ~ ~ + ~ o ~ | 5 o 4.3.6 | gentoo
[M]4.3.6-r3 | ~ ~ ~ o ~ ~ ~ o ~ - ~ ~ ~ ~ ~ o ~ | 5 o       | gentoo
------------+-----------------------------------+-----------+-------
[M]4.4.7    | + + + o + + + o + + ~ ~ ~ + ~ o ~ | 5 o 4.4.7 | gentoo
[M]4.4.7-r2 | ~ ~ ~ o ~ ~ ~ o ~ ~ ~ ~ ~ ~ ~ o ~ | 5 o       | gentoo
------------+-----------------------------------+-----------+-------
[M]4.5.4    | + + + o + + + o + + ~ ~ ~ + ~ ~ ~ | 5 o 4.5.4 | gentoo
[M]4.5.4-r2 | ~ ~ ~ o ~ ~ ~ o ~ ~ ~ ~ ~ ~ ~ ~ ~ | 5 o       | gentoo
------------+-----------------------------------+-----------+-------
[M]4.6.4    | + + + o + + + o + + ~ ~ ~ + ~ ~ ~ | 5 o 4.6.4 | gentoo
[M]4.6.4-r2 | ~ ~ ~ o ~ ~ ~ o ~ ~ ~ ~ ~ ~ ~ ~ ~ | 5 o       | gentoo
------------+-----------------------------------+-----------+-------
[M]4.7.4-r1 | + + + o + + + o + + + + + + ~ - - | 5 o 4.7.4 | gentoo
[M]4.7.4-r3 | ~ ~ ~ o ~ ~ ~ o ~ ~ ~ ~ ~ ~ ~ - - | 5 o       | gentoo
------------+-----------------------------------+-----------+-------
[M]4.8.5-r1 | + + + + + + + o + + + + + + ~ ~ ~ | 5 o 4.8.5 | gentoo
[M]4.8.5-r3 | ~ ~ ~ ~ ~ ~ ~ o ~ ~ ~ ~ ~ ~ ~ ~ ~ | 5 o       | gentoo
------------+-----------------------------------+-----------+-------
[M]4.9.4    | + + + + + + + o + + + + + + ~ ~ ~ | 5 o 4.9.4 | gentoo
[M]4.9.4-r1 | ~ ~ ~ ~ ~ ~ ~ o ~ ~ ~ ~ ~ ~ ~ ~ ~ | 5 o       | gentoo
------------+-----------------------------------+-----------+-------
[M]5.4.0-r4 | + + + + + + + o + + + + + + ~ ~ ~ | 5 o 5.4.0 | gentoo
[M]5.4.0-r6 | ~ ~ ~ ~ ~ ~ ~ o ~ ~ ~ ~ ~ ~ ~ ~ ~ | 5 o       | gentoo
------------+-----------------------------------+-----------+-------
[M]5.5.0    | ~ ~ ~ ~ ~ ~ ~ o ~ ~ ~ ~ ~ ~ ~ ~ ~ | 5 o 5.5.0 | gentoo
------------+-----------------------------------+-----------+-------
   6.4.0-r1 | + + + + + + + o + + ~ ~ ~ + ~ ~ ~ | 5 o 6.4.0 | gentoo
   6.4.0-r5 | ~ ~ ~ ~ ~ ~ ~ o ~ ~ ~ ~ ~ ~ ~ ~ ~ | 5 o       | gentoo
------------+-----------------------------------+-----------+-------
   6.5.0-r1 | ~ ~ ~ ~ ~ ~ ~ o ~ ~ ~ ~ ~ ~ ~ ~ ~ | 5 o 6.5.0 | gentoo
------------+-----------------------------------+-----------+-------
   7.3.0-r3 | + + + + + + + o + + + + + + ~ ~ ~ | 5 o 7.3.0 | gentoo
   7.3.0-r6 | ~ ~ ~ ~ ~ ~ ~ o ~ ~ ~ ~ ~ ~ ~ ~ ~ | 5 o       | gentoo
------------+-----------------------------------+-----------+-------
   7.4.0-r1 | ~ ~ ~ ~ ~ ~ ~ o ~ ~ ~ ~ ~ ~ ~ ~ ~ | 5 # 7.4.0 | gentoo
   7.4.0-r2 | ~ ~ ~ ~ ~ ~ ~ o ~ ~ ~ ~ ~ ~ ~ ~ ~ | 5 o       | gentoo
------------+-----------------------------------+-----------+-------
   8.2.0-r5 | ~ ~ ~ ~ ~ ~ ~ o ~ ~ ~ ~ ~ ~ ~ ~ ~ | 5 # 8.2.0 | gentoo
   8.2.0-r6 | + + + + + + + o + + + + + + ~ ~ ~ | 5 o       | gentoo
------------+-----------------------------------+-----------+-------
   8.3.0    | ~ ~ ~ ~ ~ ~ ~ o ~ ~ ~ ~ ~ ~ ~ ~ ~ | 5 # 8.3.0 | gentoo
[I]8.3.0-r1 | + + + + + + + ~ + + ~ + ~ + ~ ~ ~ | 6 o       | gentoo
------------+-----------------------------------+-----------+-------
   9.1.0    | ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ | 6 # 9.1.0 | gentoo
   9.1.0-r1 | ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ | 6 o       | gentoo


simoshina
() автор топика
Ответ на: комментарий от simoshina

До 8.0 все должны подходить.

Просто 7.4.0-r2 под ~, поэтому я 7.3.0-r3 написал.

Пробуй, надеюсь знаешь что такое /etc/portage/package.keywords?)

kickass
()
Ответ на: комментарий от simoshina

equery y sys-devel/gcc

пользуйся eix, он умеет по оверлеям искать.

kickass
()
Ответ на: комментарий от kickass

надеюсь знаешь что такое /etc/portage/package.keywords?)

Стыдно признаться, но пока нет :)

Хотя уже несколько раз приходилось добавлять туда всякую всячину по etc-update после emerge --write.

simoshina
() автор топика
Ответ на: комментарий от kickass

А потом, если получится собрать ядро grsec, в какой-то момент времени надо сделать перестройку world формально новым(другим) для world (фактически более старым) gcc?

simoshina
() автор топика
Ответ на: комментарий от simoshina

что-то типа того.

Под ** ещё бывает неподдерживаемое/заброшенное старьё или git/master

** - это замаскированные пакеты.

kickass
()
Ответ на: комментарий от kickass

А то, что userspace будет скомпилирован одним hardened компилятором, а ядро другим, не повлияет отрицательно на безопасность в целом работы этого userspace под таким ядром?

simoshina
() автор топика
Ответ на: комментарий от simoshina

Кстати, наверно, есть уже какой-нибудь готовый конфиг минимального ядра для i486, где отключено все лишнее и дрова все в виде модулей?

Отключение неиспользуемых фич ядра улучшает удаленную взломостойкость системы?

simoshina
() автор топика
Ответ на: комментарий от simoshina

Хм, странно, почему то emerge не видит пакета sys-kernel/minipli-sources из оверлея zugaina

Оверлей называется backbone
Сделай себе локальный оверлей и просто скопируй нужные ебилды к себе.

imul ★★★★★
()
Ответ на: комментарий от simoshina

Нет. Ядро по большей части собирается bare metal тулчейном, не используя stdlib, glibc и т.п.

kickass
()
Ответ на: комментарий от imul

Оверлей называется backbone
Сделай себе локальный оверлей и просто скопируй нужные ебилды к себе.

Это уже решилось:

Gentoo: пытаюсь установить сорцы ядра grsec minipli, но ошибка, обычное ядро ставится (комментарий)

simoshina
() автор топика
Ответ на: комментарий от simoshina
make help
make tinyconfig
make nconfig
make

Отключение неиспользуемых фич ядра улучшает удаленную взломостойкость системы?

Думаю да, т.к. меньше потенциальных лазеек будет в собранном ядре.

kickass
()
Ответ на: комментарий от kickass

А из i486 внутри гостевой виртуалки труднее вылезти наружу в 64 битное адресное пространство хоста, чем из 64 битного гостя?

Ведь по идее если взлом происходит именно только изнутри виртуалки, то программа внутри виртуалки имеет ограниченное 32 битное адресное пространство, да еще и i486 - что-то около 3 гиг?

simoshina
() автор топика
Ответ на: комментарий от simoshina

Незнаю. Если снаружи нет multilib-а, то может и сложнее.

kickass
()
Ответ на: комментарий от kickass

Упс ...

Пробовать установить другие версии?

emerge -av =sys-devel/gcc-6.4.0-r1

...

l -W -Wno-unused-parameter -Wwrite-strings -pedantic -Wno-long-long -fPIC -fno-builtin -fno-exceptions -fno-rtti -fomit-frame-pointer -funwind-tables -fvisibility=hidden -Wno-variadic-macros -I../../libstdc++-v3/include -I../../libstdc++-v3/include/i486-pc-linux-gnu -I/var/tmp/portage/sys-devel/gcc-6.4.0-r1/work/gcc-6.4.0/libsanitizer/../libstdc++-v3/libsupc++ -std=gnu++11 -DSANITIZER_LIBBACKTRACE -DSANITIZER_CP_DEMANGLE -I /var/tmp/portage/sys-devel/gcc-6.4.0-r1/work/gcc-6.4.0/libsanitizer/../libbacktrace -I ../libbacktrace -I /var/tmp/portage/sys-devel/gcc-6.4.0-r1/work/gcc-6.4.0/libsanitizer/../include -include /var/tmp/portage/sys-devel/gcc-6.4.0-r1/work/gcc-6.4.0/libsanitizer/libbacktrace/backtrace-rename.h -g -O2 -march=i486 -pipe -D_GNU_SOURCE -MT sanitizer_posix.lo -MD -MP -MF .deps/sanitizer_posix.Tpo -c /var/tmp/portage/sys-devel/gcc-6.4.0-r1/work/gcc-6.4.0/libsanitizer/sanitizer_common/sanitizer_posix.cc -o sanitizer_posix.o >/dev/null 2>&1
config.status: executing libtool commands
mv -f .deps/sanitizer_posix_libcdep.Tpo .deps/sanitizer_posix_libcdep.Plo
mv -f .deps/sanitizer_posix.Tpo .deps/sanitizer_posix.Plo
make[4]: Leaving directory '/var/tmp/portage/sys-devel/gcc-6.4.0-r1/work/build/i486-pc-linux-gnu/libsanitizer/sanitizer_common'
make[3]: *** [Makefile:466: all-recursive] Error 1
make[3]: Leaving directory '/var/tmp/portage/sys-devel/gcc-6.4.0-r1/work/build/i486-pc-linux-gnu/libsanitizer'
make[2]: *** [Makefile:336: all] Error 2
make[2]: Leaving directory '/var/tmp/portage/sys-devel/gcc-6.4.0-r1/work/build/i486-pc-linux-gnu/libsanitizer'
make[1]: *** [Makefile:13608: all-target-libsanitizer] Error 2
make[1]: *** Waiting for unfinished jobs....
config.status: executing gstdint.h commands
make[1]: Leaving directory '/var/tmp/portage/sys-devel/gcc-6.4.0-r1/work/build'
make: *** [Makefile:19512: bootstrap-lean] Error 2
 * ERROR: sys-devel/gcc-6.4.0-r1::gentoo failed (compile phase):
 *   emake failed
 * 
 * If you need support, post the output of `emerge --info '=sys-devel/gcc-6.4.0-r1::gentoo'`,
 * the complete build log and the output of `emerge -pqv '=sys-devel/gcc-6.4.0-r1::gentoo'`.
 * The complete build log is located at '/var/tmp/portage/sys-devel/gcc-6.4.0-r1/temp/build.log'.
 * The ebuild environment file is located at '/var/tmp/portage/sys-devel/gcc-6.4.0-r1/temp/environment'.
 * Working directory: '/var/tmp/portage/sys-devel/gcc-6.4.0-r1/work/build'
 * S: '/var/tmp/portage/sys-devel/gcc-6.4.0-r1/work/gcc-6.4.0'
 * 
 * Please include /var/tmp/portage/sys-devel/gcc-6.4.0-r1/work/gcc-build-logs.tar.bz2 in your bug report.
 * 

>>> Failed to emerge sys-devel/gcc-6.4.0-r1, Log file:

>>>  '/var/tmp/portage/sys-devel/gcc-6.4.0-r1/temp/build.log'

 * Messages for package sys-devel/gcc-6.4.0-r1:

 * ERROR: sys-devel/gcc-6.4.0-r1::gentoo failed (compile phase):
 *   emake failed
 * 
 * If you need support, post the output of `emerge --info '=sys-devel/gcc-6.4.0-r1::gentoo'`,
 * the complete build log and the output of `emerge -pqv '=sys-devel/gcc-6.4.0-r1::gentoo'`.
 * The complete build log is located at '/var/tmp/portage/sys-devel/gcc-6.4.0-r1/temp/build.log'.
 * The ebuild environment file is located at '/var/tmp/portage/sys-devel/gcc-6.4.0-r1/temp/environment'.
 * Working directory: '/var/tmp/portage/sys-devel/gcc-6.4.0-r1/work/build'
 * S: '/var/tmp/portage/sys-devel/gcc-6.4.0-r1/work/gcc-6.4.0'
 * 
 * Please include /var/tmp/portage/sys-devel/gcc-6.4.0-r1/work/gcc-build-logs.tar.bz2 in your bug report.

simoshina
() автор топика
Ответ на: комментарий от kickass

gcc-6.4.0-r1 почти час компилировался прежде, чем выпасть в ошибку.

Если семерка поставится, то и так сойдет.

simoshina
() автор топика
Ответ на: комментарий от simoshina

А кстати, нет ли какого нибудь более удобного ускорителя сборки через облачные вычислительные мощности?

Чтобы максимально распараллелить сборку и при это на заниматься настройкой distcc.

Типа поставил один пакет, вписал логин своей учетки в их облаке и сборка стала работать в 10 раз быстрее? ccache установлен, да.

simoshina
() автор топика
Ответ на: комментарий от kickass

Уважаемые гентушники,

а где можно найти патч:

https://github.com/minipli/linux-unofficial_grsec/issues/26#issuecomment-3628...

https://github.com/HacKurx/public-sharing/blob/master/retpoline_for_unofficia...

Как-то его тихо удалили без лишних вопросов и объяснений.

Или, может быть, можно где-нибудь прикупить для личного использования какую-нибудь хотябы одну стабильную версию grsecurity под ядро 4.19-5.x? Подешевле конечно, чем у несомненных гениев инженерной мысли, это ведь закон не нарушает, только договор grsec, если бы прикупили сразу человек 20, то получилось бы и не так дорого.

simoshina
() автор топика
Ответ на: комментарий от kickass

млин, опять ошибка:

/var/tmp/portage/sys-devel/gcc-7.3.0-r3/work/gcc-7.3.0/gcc/system.h:236:0,
                 from /var/tmp/portage/sys-devel/gcc-7.3.0-r3/work/gcc-7.3.0/gcc/lto-streamer-in.c:24:
/var/tmp/portage/sys-devel/gcc-7.3.0-r3/work/gcc-7.3.0/libstdc++-v3/libsupc++/new:139:40: error: expected ‘)’ before ‘?’ token
   __attribute__((__externally_visible__));
                                        ^
/var/tmp/portage/sys-devel/gcc-7.3.0-r3/work/gcc-7.3.0/libstdc++-v3/libsupc++/new:139:40: error: expected ‘)’ before ‘?’ token

https://anonfile.com/K4d1d614n2/gcc-build-logs.tar_bz2

Какой тернистый путь к неизвестному результату ...

simoshina
() автор топика
Ответ на: комментарий от kickass

А так:

ABI_X86="-32 -64 -x32"

COMMON_FLAGS="-O2 -march=i486 -pipe -abi_x86_64 -abi_x86_32"

стоит пробовать в make.conf?

И потом пересобрать проблемные пакеты или сначала world и потом их.

simoshina
() автор топика
Ответ на: комментарий от kickass

Дык мне нужно для i486

Собственно ради этого я упражняюсь с гентой.

simoshina
() автор топика
Ответ на: комментарий от kickass

какой процессор на целевой платформе и его параметры?

Целевая платформа - древний комп пока на базе i586, и потом когда приобрету его - будет i486, поэтому важно заранее собрать и убедиться, что работает хотя бы на i586. Большинство современных дистрибутивов этим похвастаться уже не могут, по сути все современные кроме Gentoo, если рассматривать только Linups.

На нем планирует использовать только безопасную текстовую консоль для доступа к другим своим серверам.

simoshina
() автор топика
Ответ на: комментарий от kickass

Установил j1 и теперь вываливается сразу же, ошибку найти проще:

/var/tmp/portage/sys-devel/gcc-7.3.0-r3/work/gcc-7.3.0/libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.cc:157:10: fatal error: sys/ustat.h: No such file or directory
 #include <sys/ustat.h>

Походит на вот это: https://forums.gentoo.org/viewtopic-p-8325484.html

This is fixed with gcc-7.3.0-r6 with patch 95_all_libsanitizer-avoidustat.h-glibc-2.28-part-1.patch

А как применить такой патч в emerge? Он есть в репозитарии? Может быть попробовать поставить старый glibc, в котором есть файл sys/ustat.h ?

simoshina
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.