Что может повлиять на окончательную сборку ядра Linux - PullRequest
5 голосов
/ 23 мая 2011

У меня небольшая проблема.Мне нужно пересобрать версию linux, чтобы она соответствовала версии, созданной некоторое время назад.Но у меня возникли некоторые проблемы.

Мне было интересно, какие аспекты Linux-коробки повлияют на процесс сборки ядра?Вот несколько фактов.

В настоящее время наша компания использует предварительно собранную и предварительно установленную версию fedora для установки блока разработки для инженеров.Эта версия просто скопирована на пустые жесткие диски.Если я использую блок разработки, я могу успешно перестроить ядро, чтобы оно соответствовало байту за байтом оригиналу, который я пытаюсь воспроизвести.

Но мне нужно доказать правительственному органу, что мы ничего не сделалиплохо для ядра, поэтому они требуют, чтобы мы собрали ядро ​​linux на машине, которая была установлена ​​с нуля с использованием только доверенного программного обеспечения.Доверенные означает загруженные с официальных веб-сайтов и проверенные с помощью результатов хеширования.Машина, построенная таким образом, производит ядро, которое отличается от ядра, построенного на блоке разработки (и, следовательно, отличается от оригинала, который я пытаюсь сопоставить).

Какие переменные могут повлиять на результат сборки?В настоящее время они одинаковы для двух блоков (доверенный и для разработки)

  • версия GCC
  • ядро ​​времени выполнения
  • источник ядра, которое я пытаюсь восстановить (включая файлы .configs)

Есть идеи о том, что создает различия?

1 Ответ

2 голосов
/ 23 мая 2011

Ядро linux содержит несколько временных меток и других недетерминированных элементов. Эта серия патчей устраняет их, позволяя детерминированную сборку.

...