Nikoli писал(а): ↑25.07.2008 21:59sspphheerraa писал(а): ↑22.07.2008 19:39Кроме того, в процессе сборки можно увидеть:
* updating configuration to build hardened GCC
* hardened is not supported for this arch in this gcc version
так что hardened на gcc-4* не более чем fake... sleep.gif
Действительно такое предупреждение появляется. Я воспринимаю его как "Официально мы не берёмся утверждать, что такая версия gcc заработает на такой архитектуре. Что ваша система не будет работать, мы тоже не утверждаем."
Я не думаю, что разработчики добавили use flag hardened шутки ради или по ошибки. Я собрал hardened Gentoo на основе gcc 4.3 и sys-kernel/hardened-sources, которая вполне работает и обладает дополнительной защитой.
Если загрузится с ядром из hardened-sources, в котором включены все защиты, то система не будет работать, если она собрана без поддержки этой защиты.
На самом деле я даже рад, если оказался не прав
Раз оно на самом деле рабочее, то и хорошо. Просто, помимо этого варнинга меня смутило еще и отсутствие профилей (vanilla, hardenednopie, etc) которые есть в gcc-3*
Заглянув в ебилд, увидел
Код: Выделить всё
# whether we should split out specs files for multiple {PIE,SSP}-by-default
# and vanilla configurations.
SPLIT_SPECS=no
т.е. все объединено.
Недолго думая решил собрать "утяжеленный" десктоп на основе gcc-4.3.1-r1.
Я выбрал профиль */selinux/2007.0/amd64/hardened (в нем меньше масок, например nvidia-drivers не помечены).
Сам процесс пересборки аналогичен упомянутому в первом посте (переключение профиля, апгрейд тулчейна, переключение тулчейна, пересборка тулчейна, пересборка системы, пересборка мира + "emerge --depclean && revdep-rebuild").
Из 502 пакетов с ошибкой вылетело только 16. Все были решены путем апгрейда (добавление новой версии в package.keywords).
Klamav действительно не собирается ---> Bug #226749, но я его вообще снес, т.к. imho не нужен (к тому же мне не удалось заставить его правильно отображать русский).
Пересобрал hardened-sources с включенными pax, grsecurity, selinux. Настроил "desktop" политику SELinux по хендбуку. Перегрузился.
Сутки проработал, полет нормальный.
Мелочи:
- Вместо sys-boot/grub используется sys-boot/grub-static
- В профиле выключен флаг x264 (включается комментом соответствующей строки в use.mask).
- Для ОО отключил часть защит (по методу Nikoli). Субъективно он стал быстрее работать (запускается за 3 сек). Не знаю с чем связано, с профилем hardened или с новым флагом -march (до этого был =k8, сейчас =athlon64, хотя согласно man gcc эти значения являются синонимами). Но на предыдущей системе он работал явно медленее. ОО самосборный.
- Hardened ядро дольше загружается.
ps Если кому какие подробности интересны - спрашивайте не стесняйтесь