Плата - 9G45, виртуалка от Павла.
Правильно ли я понимаю, что сначала надо запустить ./make_menuconfig , там произвести изменения, потом запустить ./make_kernel и соберётся ядро в соответствии с произведенными настройками в менюконфиге, так ?
И ещё - там есть файл конфига, где можно вручную поменять пару нужных строчек ?
Просто когда так делаешь - ничего не изменяется. Нашёл конфиг - config_rotfs_nand, вроде он. По идеи он автоматом генерится, но при работе с ./make_menuconfig он не изменяется. Поменял там руками нужную строчку, теперь вопрос - как собрать ядро по этому конфигу ? ./make_kernel мне кажется работает не с ним, а просто make или make kernel начинают сначала конфигурацию в консоли, а мне надо чтобы собиралось по готовому конфигу.
По ману не получается. Фйл конфига - ну конфиг ядра, хочу дебиан ставить, СДишка готова, но надо прописать там, что корневая на карточке. Ибо готового ядра под мою плату с данной фичей не находил. Вот меняю в том менюконфиге заветную строчку, ставлю root=/dev/mmcblk0p1, а ядро чудесным образом грузит корневую с нанда.
Ведь должен быть где-то этот конфиг, а то тот, что я нашёл ( config_rootfs_nand ) - не он.
А не у кого случаем нет ядра под эту плату, где настроена загрузка с карточки ? Был бы премного благодарен.
А то не идёт у меня. Скрипт ./make_menuconfig вроде и работает, так же пробовал make ARCH=arm menuconfig, вроде всё сохраняет в конфиг, но вот скрипт ./make_kernel явно работает не с этим конфигом, ибо при строке root=/dev/mmcblkop1 ядро работает с корневой в нанде, не думаю что это просто чудеса. Как ещё можно собрать ядро ?
Смотрите логи загрузки - там написано какая строка загрузки была реально передана ядру, навскидку тут
ошибка, должно быть root=/dev/mmcblk0p1, те ноль (0) а не буква о. При правильной строке и существующем разделе который в нем указан ядро не может грузить корневую ФС с другого раздела. Пример лога
Clocks: CPU 400 MHz, master 133 MHz, main 12.000 MHz
Built 1 zonelists in Zone order, mobility grouping on. Total pages: 16256 Kernel command line: console=ttyS0,115200 mtdparts=atmel_nand:16M(boot),-(root) root=/dev/mmcblk0p2 rootwait
PID hash table entries: 256 (order: -2, 1024 bytes)
Dentry cache hash table entries: 8192 (order: 3, 32768 bytes)
Ну да, это я щас опечатался. Дак я об этом и говорю - не по тому конфигу собирается ядро, т.к. в make_menuconfig написано чтоб грузилас с карты, а на выходе make_kernel ядро, ищущие корневую в нанде. А может быть что какая то ошибка в той строке и при компиляции она меняется на дефолтную ? ( сомневаюсь конечно, но других предположений нет )
Строку загрузки может изменить загрузчик(u-boot) - у вас скорей всего это и происходит, чтобы избежать этого включите опцию - чтобы ядро всегда грузило дефолтную строку из конфига http://sasamy.narod.ru/cmd.png
Не, там галка стояла. Дело как выяснилось не в этом было.
Там скрипт make_kernel ошибку видно содержал:
В пятой строке была команда кросскомпилятора, где было только его название, на эту пятую строку в конце компиляции ядра была ругонь. Записал там вместо названия этого компилятора ещё и путь до него, всё исправилось, дебиан грузится, но радости это не прибавило, вот что происходит:
В чём может быть дело ? Сейчас попробую другой дебьян распакую на карточку, хотя не думаю, что дело в этом.