Не могу многие моменты при сборке одолеть, а инфа противоречивая и непригодная, тратишь кучу времени, мучаешься, а не работает. Хотелось бы пообщаться с передовиком.
привет. поэтому я и хотел в теме 'работа' за деньги попрросить форумчан написать функцию, которая могла бы грузить ядро без u-boot. даже если сейчас вы сможете разобраться как собирается u-boot, то гарантирую, что через какое-то время возникнут новые траблы. есть только один выход, это скинутся копейками, найти хорошего фрилансера, который захочет помочь в написании чего-то подбного, что позволит обойтись без u-boot и прочей фигни. на LOR много спецов, но вряд ли они помогут. потому что если у тебя получиться, то по их мнению, они останутся без 'хлеба'. вобщем ищи, если что то я могу быть третьим) и скинуться если хватить денег.
это не поможет. u-boot не стоит на месте. чем разбираться в том что нагородили разработчики u-boot, лучше научиться писать собственый загрзчик. уверен что если бы автор темы все время, что он потратил на попытки разобраться с u-boot все это время он исползовал бы на получение знаний в написании загрузчика, то он уже бы давно стартанул.
ребята, даже дело не в этом. все эти arm-trusted-firmware... вобщем нужен другой путь.
и я добавлю к сказанному, что многие на данном форму справедливо возмущаются что темы создаваемые на LOR мало имеют отношения к Linux. или создаются какие-то уж слишком банальные принижающие возможности данного форуму. Этот форум должен решать куда более глобальные проблемы связаные с Linux. и тема загрузчика u-boot поднималась тут сотни раз. думаю, что время решить проблему связаную с загрузкой ядра под arm уже давно настало. имено этот форум с его интеллектуальной мощью и должен бы сделать это, но нет. может еще не время.
привет. поэтому я и хотел в теме ‘работа’ за деньги попрросить форумчан написать функцию, которая могла бы грузить ядро без u-boot. даже если сейчас вы сможете разобраться как собирается u-boot
Я сейчас ядро Haiku загружаю на голом железе в виртуальной машине RISC-V без u-boot, UEFI, BBL, OpenSBI и прочего.
Проще свой загрузчик написать, чем возиться со сборкой u-boot/EDK2, у меня это 2-3 дня заняло.
Да. И реализация там тоже нормальная, которую можно и, самое главное, нужно расширять своими решениями, используя уже готовое, а не городя свои самосборные велосипеды. Этого, конечно же, ни кто не запрещает делать, но время убивать… Несколько не логично. Если по сути (побуду немного капитаном Очевидность), то нужно просто добавить свою борду в набор и скомпилить решение.
По теме. TC, что за железо, если не секрет?
UART молчит как рыба об лёд? На каком этапе? Важно понимать что u-boot на ARM сперва проваливается на уровень EL3 (какой именно ARM не важно, т.к. механизмы сходные и для Aarch32 и для Aarch64 за редкими исключениями), где производится инициализация железа и там же работает та ОС, которая должна обеспечивать TEE (Trusted Execution Environment) в дальнейшем. Там UART молчит? И что именно Вы разрабатываете – TEE или «просто надо Linux загрузить»? Если первое, то это один разговор. Если «просто загрузить Linux или прошивку» и там UART молчит, то разговор другой.
Пока я стараюсь понять что за железо и что за задача, т.к. TEE это отдельный и полноформатный звиздец. Ну а «просто загрузить прошивку», это малость другой вопрос. Потому что если на уровне EL3 всё проинициализировали и не предполагается работа внутренней ОС, реализующей TEE, то дальше проц выскочит уровнями выше и должен приступить к загрузке прошивки или условного Linux.
Тут просто надо понять где именно факап происходит.
Тут всё просто. Если железка известная - можно искать как сделано во всяких openwrt/yocto/archlinux-arm. Если кастомная, то без jtag-а там делать нечего.
Настроить контроллер энергонезависимой памяти, где находится линуксовое ядро.
Отключить прерывания процессора, блок управления памятью и перевести процессор в непривилегированный режим работы.
Скопировать ядро с файловой системой из энергонезависимой памяти в оперативную память и запустить ядро на исполнение.
Наверное, ты уже сам догадываешься, что проделать правильно все эти действия без пошагового отладчика обычному человеку вряд ли удастся в обозримое время. Грамотные форумчане уже советовали тебе использовать джейтаговский отладчик. От себя добавлю, что без подробной документации на внутренние регистры процессора делать тоже нечего, поэтому процессоры «Бродкома» сразу в пролёте.
Теперь зачем может понадобиться свой загрузчик, если народ советует переделывать «Юбут»? Например, свой загрузчик поможет ускорить время загрузки ядра Линукса. Дело в том. что сегодня «Юбут» разбух настолько, что для своего запуска на исполнение он сначала копирует себя из энергонезависимой памяти во внешнее динамическое ОЗУ и только после этого запускает себя. Свой загрузчик вполне уложится во внутреннее ОЗУ процессора и запустится оттуда, что ускорит время загрузки ядра Линукса, пусть и ненамного.
Можно брать старые версии неразбухшего юбута, это не проблема.
Как по-твоему эти «юбутовцы» зарабатывают себе на пропитание? Сначала они пошагово отлаживают свой загрузчик сами, а народу вываливают явно переусложнённый, но дармовой товар. Зачем? А затем, чтобы люди, которым нужно запуститься прямо сегодня или ещё вчера, просто принесли денег «юбутовцам» за их услуги. Теперь тебе понятно почему в «Юбуте» не так просто разобраться?