История изменений
Исправление vbr, (текущая версия) :
При чём тут файловая система? Твой процессор при старте считывает какие-то байты с SD-карты по определённым адресам и передаёт на них управление, если по-простому. По этим адресам должен быть прошит u-boot (или любой другой код, но тебя, видимо, интересует именно он). u-boot должен каким-то образом найти ядро линукса (например тоже считав его с SD-карты по каким-то другим адресам, а может быть уже примонтировав раздел и считав ядро, как файл) и передать управление ядру, а ядро уже точно будет монтировать разделы и передавать управление init-у.
Ещё эту всю схему усложняют аналоги secure boot и тренировка DDR-памяти, но в целом концептуально ничего не меняется.
В общем это далеко не то, как грузится линукс на UEFI компьютере, тут всё примитивней и одновременно запутанней. Если под твой SoC нет чёткой 100% повторяемой инструкции, то тебе надо погружаться в эту тему глубоко, с отладчиком, компилируя исходники uboot-а и линукса и отлаживая их и тд и тп. Если ты этим раньше не занимался, готовься потратить год-другой на разборки со всем этим.
Собственно поэтому лучше выбрать нормальный SoC/SoM от хорошего производителя, который всё это за тебя сделал и даст тебе нормальные инструкции и техподдержку. И, что немаловажно, будет обновлять это для актуальных версий. buildroot 2017 года это несерьёзно.
Исправление vbr, :
При чём тут файловая система? Твой процессор при старте считывает какие-то байты с SD-карты по определённым адресам и передаёт на них управление, если по-простому. По этим адресам должен быть прошит u-boot (или любой другой код, но тебя, видимо, интересует именно он). u-boot должен каким-то образом найти ядро линукса (например тоже считав его с SD-карты по каким-то другим адресам, а может быть уже примонтировав раздел и считав ядро, как файл) и передать управление ядру, а ядро уже точно будет монтировать разделы и передавать управление init-у.
Ещё эту всю схему усложняют аналоги secure boot и тренировка DDR-памяти, но в целом концептуально ничего не меняется.
В общем это далеко не то, как грузится линукс на UEFI компьютере, тут всё примитивней и одновременно запутанней. Если под твой SoC нет чёткой 100% повторяемой инструкции, то тебе надо погружаться в эту тему глубоко, с отладчиком, компилируя исходники uboot-а и линукса и отлаживая их и тд и тп. Если ты этим раньше не занимался, готовься потратить год-другой на разборки со всем этим.
Собственно поэтому лучше выбрать нормальный SoC/SoM от хорошего производителя, который всё это за тебя сделал и даст тебе нормальные инструкции и техподдержку.
Исправление vbr, :
При чём тут файловая система? Твой процессор при старте считывает какие-то байты с SD-карты по определённым адресам и передаёт на них управление, есть по-простому. По этим адресам должен быть прошит u-boot (или любой другой код, но тебя, видимо, интересует именно он). u-boot должен каким-то образом найти ядро линукса (например тоже считав его с SD-карты по каким-то другим адресам, а может быть уже примонтировав раздел и считав ядро, как файл) и передать управление ядру, а ядро уже точно будет монтировать разделы и передавать управление init-у.
Ещё эту всю схему усложняют аналоги secure boot и тренировка DDR-памяти, но в целом концептуально ничего не меняется.
В общем это далеко не то, как грузится линукс на UEFI компьютере, тут всё примитивней и одновременно запутанней. Если под твой SoC нет чёткой 100% повторяемой инструкции, то тебе надо погружаться в эту тему глубоко, с отладчиком, компилируя исходники uboot-а и линукса и отлаживая их и тд и тп. Если ты этим раньше не занимался, готовься потратить год-другой на разборки со всем этим.
Собственно поэтому лучше выбрать нормальный SoC/SoM от хорошего производителя, который всё это за тебя сделал и даст тебе нормальные инструкции и техподдержку.
Исходная версия vbr, :
При чём тут файловая система? Твой процессор при старте считывает какие-то байты с SD-карты по определённым адресам и передаёт на них управление, есть по-простому. По этим адресам должен быть прошит u-boot (или любой другой код, но тебя, видимо, интересует именно он). u-boot должен каким-то образом найти ядро линукса (например тоже считав его с SD-карты по каким-то другим адресам, а может быть уже примонтировав раздел и считав ядро, как файл) и передать управление ядру, а ядро уже точно будет монтировать разделы и передавать управление init-у.
Ещё эту всю схему усложняют аналоги secure boot и тренировка DDR-памяти, но в целом концептуально ничего не меняется.
В общем это далеко не то, как грузится линукс на UEFI компьютере, тут всё примитивней и одновременно запутанней. Если под твой SoC нет чёткой 100% повторяемой инструкции, то тебе надо погружаться в эту тему глубоко, с отладчиком, компилируя исходники uboot-а и линукса и отлаживая их и тд и тп. Если ты этим раньше не занимался, готовься потратить год-другой на разборки со всем этим.