Как загрузчик принимает команду после «перезапуска системы с помощью команды»?

Посмотрев в исходный код 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?

12
задан Bjarke Freund-Hansen 5 March 2012 в 13:47
поделиться