Автор Тема: сборка собственного ядра, gcc, оптимизация  (Прочитано 2156 раз)

Оффлайн george

  • Начинающий
  • *
  • Сообщений: 19
  • Simply Linux
Здравствуйте!

1) Если я хочу собрать свое ядро, каким компилятором (версия) я его должен собирать, если в branch/p5 их несколько
и от чего этот выбор зависит?
И на будущее, как определить самому какую версию компилятора надо использовать в таких случаях?

2) Если я собираю свое ядро стандартным способом (make menuconfig, make bzImage, make modules и т.д.),
где и как мне в ядре надо сказать, чтобы оно собиралось с флагом --as-needed?
Подозреваю, что это должен быть Makefile в корне дерева ядра, но как в нем это правильно сделать?

Оффлайн andrew_b

  • Завсегдатай
  • *
  • Сообщений: 535
1) Если я хочу собрать свое ядро, каким компилятором (версия) я его должен собирать, если в branch/p5 их несколько
и от чего этот выбор зависит?
И на будущее, как определить самому какую версию компилятора надо использовать в таких случаях?

2) Если я собираю свое ядро стандартным способом (make menuconfig, make bzImage, make modules и т.д.),
где и как мне в ядре надо сказать, чтобы оно собиралось с флагом --as-needed?
Подозреваю, что это должен быть Makefile в корне дерева ядра, но как в нем это правильно сделать?
Если вы задаёте такие вопросы, то собирать вам ядро не надо. Используйте уже собранное. Никакого выигрыша от этой оптимизации вы не получите.

Оффлайн george

  • Начинающий
  • *
  • Сообщений: 19
  • Simply Linux
Не думаю, что согласен с Вами.

1) Весь Альт собирается с этим флагом и в сравнении с другими дистрибутивами
без этого флага Альт визуально значительно быстрее. Думаю, полезность этого флага доказывать не нужно.

2) Собственное ядро собирается под свой процессор.

3) Я собираю свои ядра с определенными патчами, которые тоже влияют на производительность.

Вот уже три фактора, которые увеличивают производительность своего ядра.

И, пожалуйста, просто ответьте на вопрос, если знаете, не решая за меня, что мне нужно, а что нет.

lx001

  • Гость
где и как мне в ядре надо сказать, чтобы оно собиралось с флагом --as-needed?
Не надо вам собирать ядро. man ld для начала.

Оффлайн ruslandh

  • Поспешай не торопясь !
  • Модератор глобальный
  • *****
  • Сообщений: 32 253
  • Учиться .... Телепатами не рождаются, ими ....
    • Email
В дистрибутивах ALT Linux ld собран так, что параметр --as-need стоит по-умолчанию.

Оффлайн andrew_b

  • Завсегдатай
  • *
  • Сообщений: 535
без этого флага Альт визуально значительно быстрее. Думаю, полезность этого флага доказывать не нужно.
Вы уж определитесь.

Оффлайн george

  • Начинающий
  • *
  • Сообщений: 19
  • Simply Linux
> Вы уж определитесь

Лучше всего читать предложение полностью.
Имелось ввиду: с другими дистрибутивами без этого флага. :)

Оффлайн george

  • Начинающий
  • *
  • Сообщений: 19
  • Simply Linux
> В дистрибутивах ALT Linux ld собран так, что параметр --as-need стоит по-умолчанию.

Спасибо за конкретный ответ на конкретный вопрос.

И какой все-таки компилятор (версия) выбрать из нескольких имеющихся и по какому принципу?
Глянул в src.rpm последнего ядра, там вроде привязка к gcc-4.3. Значит ли это, что и другие ядра/софт
надо собирать с этой же версией?