Fastboot имеет следующую удобную функцию (если загрузка пользовательского образа не удалась, устройство просто волшебным образом загрузит изображение по умолчанию в следующий раз, и все будет хорошо):
Для загрузки с использованием образа ядра на стороне хоста
Эта команда позволяет вам загрузить образ ядра (и необязательный образ корневой файловой системы) и загрузить телефон с ними вместо использования ядра и rootfs в разделе загрузочной флеш-памяти. Это очень полезно при разработке ядра или изменении rootfs.
fastboot boot ‹ядро> [‹ ramdisk>]
Кто-нибудь знает, как это работает? Копируется ли ядро в специальный загрузочный раздел перед перезагрузкой устройства? (ОБНОВЛЕНИЕ: как указано в ответе, перезагрузки нет, так как fastboot - это этап процесса загрузки, который в основном делает мой вопрос бессмысленным.) Я изучал исходный код fastboot, но кажется, он содержит только то, что происходит на стороне хоста, а не на устройстве.
Я имею в виду, что функция прошивки работает довольно просто, я могу имитировать ее, просто скопировав загрузочный образ с пользовательским ядром в раздел boot
, например, через:
dd if='<my_boot.img>' of='/dev/block/platform/msm_sdcc.1/by-name/boot'
Кстати: я задаю вопрос из-за приложения, которое разрабатываю; Я бы хотел "без риска" загрузить собственное ядро непосредственно с устройства, на котором оно хранится, например на SD-карту.