Где и как находится этот первый загрузчик, сильно зависит от системы. У вас может быть какое-то загрузочное устройство USB, которое перечисляет и загружает микропрограммы для оперативной памяти всего оборудования, после чего процессор загружается с этой оперативной памяти.
Обычно да, первая загрузка - это какая-то флешка. Это хорошая идея, чтобы этот первый загрузчик был очень простым, по сути, на 100% свободным от ошибок, прочным и надежным, возможно, с последовательным или другим способом входа, чтобы вы могли использовать его для замены второго / настоящего загрузчика.
В идеале второй загрузчик также должен быть флэш-памятью, второй загрузчик захочет выполнять основную часть работы, инициализируя ddr, настраивая Ethernet, если он хочет иметь какую-то отладку на основе Ethernet или передачу файлов, bootp и т. Д. Поскольку он значительно больше и сложнее, ожидается, что он будет содержать ошибки и будет обновляться чаще, чем основной загрузчик. Мы надеемся, что первичный загрузчик защищен от перезаписи, так что вы можете легко заменить второй загрузчик, не разрушая систему.
Все ли системы используют вышеуказанное? Нет, некоторые / многие могут использовать только один загрузчик, при этом, возможно, есть очень ранняя пауза, так что нажатие клавиши на последовательном порту может прервать загрузчик, что приведет вас к месту, где вы можете повторно загрузить загрузчик. Допускается разработка загрузчика с меньшими шансами на разрушение, но все же есть шанс, если вы испортите этот первый бит раньше, включая нажатие клавиши и серийный загрузчик флеш-памяти. И снова эта штука с серийным загрузчиком присутствует не всегда, это просто удобство для разработчиков загрузчика. Часто запасным вариантом будет jtag, или съемный выпускной вечер, или какой-либо другой системный способ войти и перепрограммировать выпускной вечер, когда вы его кирпичите (также иногда так же, как вы программируете его в первый раз в системе, когда выпускается плата, некоторые проекты кирпичи для экономии средств и использования предварительно запрограммированных вспышек во время производства, чтобы первая загрузка работала).
Загрузчик linux не требует ничего / всего этого, очень-очень минимального, установочного плунжера, подготовки командной строки или atags или чего-то еще и перехода к linux.
Это загруженный вопрос, поскольку ответ во многом зависит от вашей системы, процессора и инженеров-проектировщиков (включая вас). Обычно процессоры загружаются с флэш-памяти, а загрузчик получает память и некоторые другие вещи, чтобы можно было запустить следующий фрагмент кода. Этот следующий фрагмент кода может поступать из разных мест: USB, диск, флэш / ROM, Ethernet / bootp / tftp, pcie, mdio, spi, i2c и т. Д. И может быть столько уровней между сбросом при включении питания и запуском Linux, сколько дизайн желает или требует.
person
old_timer
schedule
27.09.2011