2015-10-28 2 views
0

Мне нужно найти способ изменить/отредактировать данный файл после Buildroot компиляция и прямо перед созданием rootfs в зависимости от menuconfig выбор флага. Я мог найти в документации Buildroot, что это можно сделать, используя пост-сборку скриптов.Как изменить файлы в сценарии после сборки в зависимости от флага menuconfig?

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

(x) Enable my_login_system; 

Если я выбираю my_login_system, то мне нужно изменить NSSwitch. конф файл по:

passwd:  my_login files 

Если я не выбрать в «в конфигурационном меню my_login_system», то nsswitch.conf s hould быть:

passwd:  files my_login 

Итак, мой главный вопрос заключается в том, чтобы знать, если «my_login_system» был выбран или нет в сценарии после сборки.

ответ

4

При выполнении сценариев пост-сборки он может получить доступ к переменной окружения BR2_CONFIG, которая содержит путь к файлу Buildroot .config. Ваш скрипт может проанализировать этот файл и действовать соответствующим образом.

Таким образом, вы можете иметь состояние, как:

if grep -q ^BR2_MY_LOGIN_SYSTEM=y ${BR2_CONFIG} 
then 
    # do some tweaks 
else 
    # do other tweaks 
fi 

В качестве альтернативы, вы можете использовать переменную BR2_ROOTFS_POST_SCRIPT_ARGS конфигурации передавать произвольные параметры командной строки (в отличие от переменных окружения) на пост-скрипты сборки.

Обе возможности задокументированы в руководстве по строительству, в разделе Customizing the generated target filesystem.

 Смежные вопросы

  • Нет связанных вопросов^_^