Посмотрев в исходный код android для команды перезагрузки , мы находим следующую строку:
__reboot(LINUX_REBOOT_MAGIC1, LINUX_REBOOT_MAGIC2, \
LINUX_REBOOT_CMD_RESTART2, argv[optind]);
Это стандартный системный вызов Linux для перезагрузки системы с помощью определенной команды, см. Перезагрузка системного вызова Unix .
В Android эта команда используется для указания загрузчику либо запустить ядро в режиме восстановления, либо перейти в режим быстрой загрузки в загрузчике.
Мой вопрос: Как загрузчик принимает команду ? Реализована ли эта функция в U-Boot? (Я не могу найти ее ни в Google, ни в источнике U-Boot.)
Кроме того, похоже, что это не относится к Android, но это способ Linux выполняет «перезагрузку с помощью команды». Есть информация о том, как это «обычно» обрабатывается / используется в Linux?