Итак, наконец-то появилось время попробовать сей оверлей. Систему собирал с нуля (взял свободный винт). Сначала установил "минимальную дефолтовую систему", затем после добавления оверлея - пересобрал ее в hardened.
Первое, что сразу дало о себе знать после переключения - предупреждение о приоретизации eclass из оверлея над портежевым.
'К стати, в mail-рассылке пишут что gcc-4.3*, находящийся в портеже сломан по части PIE.
Профиль поставил тот же, хотя SELinux так и не заработал (хз, на офф. доках последние изменения датируются 2006 годом, наверно проект загинается).
Код: Выделить всё
# emerge --info
* Overlay eclasses override eclasses from PORTDIR:
*
* '/usr/local/overlay/xake-toolchain/toolchain-overlay/eclass/flag-o-matic.eclass'
* '/usr/local/overlay/xake-toolchain/toolchain-overlay/eclass/toolchain.eclass'
* '/usr/local/overlay/xake-toolchain/toolchain-overlay/eclass/toolchain-funcs.eclass'
*
* It is best to avoid overriding eclasses from PORTDIR because it will
* trigger invalidation of cached ebuild metadata that is distributed with
* the portage tree. If you must override eclasses from PORTDIR then you
* are advised to add FEATURES="metadata-transfer" to /etc/make.conf and to
* run `emerge --regen` after each time that you run `emerge --sync`. Set
* PORTAGE_ECLASS_WARNING_ENABLE="0" in /etc/make.conf if you would like to
* disable this warning.
Portage 2.1.6.7 (selinux/2007.0/amd64/hardened, gcc-4.3.3, glibc-2.9_p20081201-r3, 2.6.26-hardened-r9 x86_64)
=================================================================
System uname: Linux-2.6.26-hardened-r9-x86_64-AMD_Athlon-tm-_64_Processor_3000+-with-glibc2.4
Timestamp of tree: Sun, 08 Mar 2009 01:45:02 +0000
app-shells/bash: 3.2_p39
dev-lang/python: 2.4.4-r13, 2.5.2-r7
dev-python/pycrypto: 2.0.1-r6
dev-util/cmake: 2.6.2-r1
sys-apps/baselayout: 2.0.0
sys-apps/openrc: 0.4.3-r1
sys-apps/sandbox: 1.2.18.1-r2
sys-devel/autoconf: 2.13, 2.63
sys-devel/automake: 1.5, 1.7.9-r1, 1.9.6-r2, 1.10.2
sys-devel/binutils: 2.18-r3
sys-devel/gcc-config: 1.4.0-r4
sys-devel/libtool: 1.5.26
virtual/os-headers: 2.6.27-r2
ACCEPT_KEYWORDS="amd64"
CBUILD="x86_64-pc-linux-gnu"
CFLAGS="-march=k8 -O2 -pipe"
CHOST="x86_64-pc-linux-gnu"
CONFIG_PROTECT="/etc /usr/kde/3.5/env /usr/kde/3.5/share/config /usr/kde/3.5/shutdown /usr/share/config"
CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/env.d /etc/fonts/fonts.conf /etc/gconf /etc/gentoo-release /etc/revdep-rebuild /etc/terminfo /etc/udev/rules.d"
CXXFLAGS="-march=k8 -O2 -pipe"
DISTDIR="/mnt/distfiles/distfiles"
FEATURES="buildsyspkg ccache collision-protect distlocks fixpackages loadpolicy metadata-transfer parallel-fetch protect-owned sandbox selinux sesandbox sfperms strict unmerge-orphans userfetch"
GENTOO_MIRRORS="http://distfiles.gentoo.org http://distro.ibiblio.org/pub/linux/distributions/gentoo"
LANG="ru_UA.UTF-8"
LC_ALL=""
LDFLAGS=""
MAKEOPTS="-j2"
PKGDIR="/usr/portage/packages"
PORTAGE_CONFIGROOT="/"
PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --compress --force --whole-file --delete --stats --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages"
PORTAGE_TMPDIR="/var/tmp"
PORTDIR="/usr/portage"
PORTDIR_OVERLAY="/usr/local/overlay/my /usr/local/overlay/xake-toolchain/toolchain-overlay"
SYNC="rsync://rsync.gentoo.org/gentoo-portage"
USE="3dnow X aac acpi alsa amd64 berkdb branding cli cracklib crypt cups dri flac fortran gdbm gpm hal hardened iconv isdnlog kde logitech-mouse midi mmx mudflap ncurses nls nptl nptlonly nvidia ogg opengl openmp pam pcre perl pic png pppd python qt3 qt4 readline reflection selinux session spl sse sse2 ssl tcpd unicode utf8 vorbis x264 xorg xv xvid zlib" ALSA_CARDS="ali5451 als4000 atiixp atiixp-modem bt87x ca0106 cmipci emu10k1x ens1370 ens1371 es1938 es1968 fm801 hda-intel intel8x0 intel8x0m maestro3 trident usb-audio via82xx via82xx-modem ymfpci" ALSA_PCM_PLUGINS="adpcm alaw asym copy dmix dshare dsnoop empty extplug file hooks iec958 ioplug ladspa lfloat linear meter mmap_emul mulaw multi null plug rate route share shm softvol" APACHE2_MODULES="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 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" ELIBC="glibc" INPUT_DEVICES="keyboard mouse" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" USERLAND="GNU" VIDEO_CARDS="nv nvidia vesa"
Unset: CPPFLAGS, CTARGET, EMERGE_DEFAULT_OPTS, FFLAGS, INSTALL_MASK, LINGUAS, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS
Пересборка тулчейна и базовой системы сюрпризов не выкинула. Промелькнула только одна предупреждающая запись:
* Hardened compiler will filter some flags
Далее при установке Х, почему-то не поставился драйвер для клавиатуры (хотя в make.conf запись есть, хз может действительно я что-то пропустил), поставил его в ручную (x11-drivers/xf86-input-keyboard). Собралось, заработало. Но почему в логе хорга пишется
Build operating system: UNKNOWN
я так и не понял (устанавливал просто "emerge xorg-x11"), в прочем такое у меня всегда...
Проприетарные драйвера nvidia, естественно не установились (ошибка та же что и
здесь, но решение не работает).
Также не собрались:
diffball
mplayer
avidemux
mjpegtools
gtk+; gimp
wine
Ну и подозреваю что OO не соберется (еще не пробовал)
Я не указываю (не запоминал), те пакеты, проблема сборки которых решилась добавлением свежей версии в package.keywords. Их не много было. Те же что все равно не собрались, можно поставить переключив профиль на gcc-4.3.3-vanilla.
Из особенностей могу отметить, - мышь как-то быстрее стала бегать (не привычно, иногда приходится "целиться"). Загрузка процессора в покое 0,5% (данные ksysguard).
Ах, да udev пришлось обновить до 135-r4
Ну и на последок, гвоздь программы - paxtest
Код: Выделить всё
# paxtest blackhat
PaXtest - Copyright(c) 2003,2004 by Peter Busser <peter@adamantix.org>
Released under the GNU Public Licence version 2 or later
Writing output to paxtest.log
It may take a while for the tests to complete
Test results:
PaXtest - Copyright(c) 2003,2004 by Peter Busser <peter@adamantix.org>
Released under the GNU Public Licence version 2 or later
Mode: blackhat
Linux localhost 2.6.26-hardened-r9 #4 PREEMPT Mon Mar 9 16:45:49 EET 2009 x86_64 AMD Athlon(tm) 64 Processor 3000+ AuthenticAMD GNU/Linux
Executable anonymous mapping : Killed
Executable bss : Killed
Executable data : Killed
Executable heap : Killed
Executable stack : Killed
Executable anonymous mapping (mprotect) : Killed
Executable bss (mprotect) : Killed
Executable data (mprotect) : Killed
Executable heap (mprotect) : Killed
Executable stack (mprotect) : Killed
Executable shared library bss (mprotect) : Killed
Executable shared library data (mprotect): Killed
Writable text segments : Killed
Anonymous mapping randomisation test : 33 bits (guessed)
Heap randomisation test (ET_EXEC) : 40 bits (guessed)
Heap randomisation test (ET_DYN) : 40 bits (guessed)
Main executable randomisation (ET_EXEC) : 33 bits (guessed)
Main executable randomisation (ET_DYN) : 33 bits (guessed)
Shared library randomisation test : 33 bits (guessed)
Stack randomisation test (SEGMEXEC) : No randomisation
Stack randomisation test (PAGEEXEC) : 40 bits (guessed)
Return to function (strcpy) : *** buffer overflow detected ***: rettofunc1 - terminated
rettofunc1: buffer overflow attack in function <unknown> - terminated
Report to http://bugs.gentoo.org/
Killed
Return to function (memcpy) : *** buffer overflow detected ***: rettofunc2 - terminated
rettofunc2: buffer overflow attack in function <unknown> - terminated
Report to http://bugs.gentoo.org/
Killed
Return to function (strcpy, RANDEXEC) : *** buffer overflow detected ***: rettofunc1x - terminated
rettofunc1x: buffer overflow attack in function <unknown> - terminated
Report to http://bugs.gentoo.org/
Killed
Return to function (memcpy, RANDEXEC) : *** buffer overflow detected ***: rettofunc2x - terminated
rettofunc2x: buffer overflow attack in function <unknown> - terminated
Report to http://bugs.gentoo.org/
Killed
Executable shared library bss : Killed
Executable shared library data : Killed
#
ps Продолжаем тестить...