Утилита apt
возвращает ноль, 1 или 100.
Значения ноль или 100 возвращаются функцией main()
в cmdline/apt.cc
в исходном распределении apt
путем простой передачи возвращаемого значения DispatchCommandLine()
в apt-private/private-cmndline.cc
. Соответствующий код в этой функции
return Errors == true ? 100 : 0;
То есть, если были ошибки, вернуть 100, иначе вернуть ноль.
В коде нет комментариев по поводу значения 100.
В коде также есть несколько операторов exit(100)
, которые будут выполняться при различных состояниях ошибки, а также один оператор exit(1)
, который будет достигнут, если вы запустите apt
без каких-либо параметров командной строки или операндов. (это не задокументировано):
$ apt >/dev/null
$ echo $?
1
(Я не смотрел другиеapt
-сопутствующие утилиты, только саму apt
)
В основном предполагается, что ядро и дерево устройств независимы друг от друга, так что да. :Обычно вы можете использовать только что скомпилированное ядро вместе со старым dtb и наоборот.
Конечно, это перестает быть правдой, если дерево устройств зависит от определенных версий драйверов устройств или новое ядро ожидает другие атрибуты дерева устройств.
Теперь, учитывая, что создание нового dtb с помощью dtc
— это вопрос миллисекунд, а авторы учебных пособий не знают, изменил ли какой-либо патч какой-либо файл dts или dtsi, рекомендуется включить сборку и развертывание dtb вместе с ядро.