Как происходит загрузка u-boot'ом с NAND?
Есть одна телеприставка на ARM. Недавно обнаружил, что она использует только половину ОЗУ. Стал разбираться, оказалось, что объём ОЗУ ядру сообщает загрузчик, но не через параметры, а как-то хитрее, с использованием бинарного файла script.bin, который собирается под каждую железку индивидуально. Прошивка которую я использовал собиралась для более слабой версии этой железки с 512 мегабайтами ОЗУ, а не с 1024 мегабайтами как у меня. Пересобрал script.bin, записал на SD'шку, система загрузилась с 1024 мегабайтами ОЗУ. Попытался перенести это дело на внутреннюю флешку, облом. Помогите разобраться как происходит процесс загрузки и в каком месте нужно вмешаться и добавить правильные параметры.
Как происходит загрузка с SD:
- Что-то происходит после включения
- Управление передаётся файлу script.bin который
- загружает linux c параметрами из boot.scr
У меня такое чувство, что в пункте «что-то происходит» что-то происходит на устройстве /dev/nanda (первый раздел внутренней флешки), потому что там есть файл u-boot.bin. Однако замена файлов boot.scr и script.bin на /dev/nanda не влияет на результат, то есть файл script.bin на SD'шке влияет на процесс загрузки с SD'шки, а файл script.bin на внутренней флешке не влияет на процесс загрузки с внутренней флешки. Что же происходит?