Как использовать buildroot с пользовательскими изменениями в пакетах - PullRequest
0 голосов
/ 15 октября 2018

У меня есть каталог buildroot со всеми моими конфигурациями, которые я использую, и для определенного случая использования я хочу проверить, где происходит сбой пакета во время выполнения.

Я пытаюсь изменить пакет aНемного, но я не знаю, как создать этот пакет с включенными отладочными принтами.

Я пытался мне понравиться

  1. перейти в папку buildroot/dl/package/
  2. распаковать пакет
  3. изменить источник
  4. gzip пакет
  5. удалить промежуточный файл в buildroot / output / build / package
  6. build make

Теперь сборка root использует какое-то хеш-значение и отклоняет пакет с моими изменениями.Он перезагружает пакет и заменяет мои изменения.

ERROR: imx-kobs-a0e9adce2fb7fcd57e794d7f9a5deba0f94f521b.tar.gz has wrong sha256 hash:
ERROR: expected: 5855c8964f908ad30e5d4500180ee57c51af68186289ef1bdf8553ee60d3b1f5
ERROR: got     : b5c22a971d9c9130b1b0f5ddd5b60b2eabd60607421c0f746ef0543b42960977
ERROR: Incomplete download, or man-in-the-middle (MITM) attack
dl-wrapper: Re-downloading 'imx-kobs-a0e9adce2fb7fcd57e794d7f9a5deba0f94f521b.tar.gz'...

Как использовать buildroot с большим контролем?

1 Ответ

0 голосов
/ 17 октября 2018

Два варианта:

  • Для быстрых тестов измените исходный код в output/build/<pkg>-<version>/ и запустите make <pkg>-rebuild, чтобы принудительно перестроить этот пакет.Обратите внимание, что папки output/build/<pkg>-<version>/ теряются при выполнении make clean в Buildroot, поэтому это полезно только для некоторой быстрой отладки / исследования.

  • Для реальной разработки исходного кода япредложил бы использовать механизм <pkg>_OVERRIDE_SRCDIR.Создайте файл local.mk в корне дерева Buildroot.В этом файле поместите FOO_OVERRIDE_SRCDIR = $(HOME)/foo.С этого момента Buildroot больше не будет загружать / извлекать / исправлять пакет foo, а вместо этого будет rsync-код исходного кода из $(HOME)/foo в каталог сборки пакета.Запуск make foo-rebuild перезапустит rsync и перезапустит сборку этого пакета.Это означает, что вы можете изменить исходный код в $(HOME)/foo и очень быстро пересобрать пакет с этими изменениями.См. Также слайд 269 и далее в https://bootlin.com/doc/training/buildroot/buildroot-slides.pdf.

...