2015-04-22 7 views
2

Я пытаюсь получить оригинальную BeagleBoard (revC4) для загрузки изображения Angstrom OpenEmbedded. Используя инструкции, приведенные здесь:Angstrom OpenEmbedded Kernel замерзает при загрузке на оригинальном BeagleBoard

http://elinux.org/BeagleBoardAndOpenEmbeddedGit

и:

http://www.angstrom-distribution.org/building-angstrom

Я следовал все, кроме программы замораживания с сообщением загрузки ядра.

Выход:

Texas Instruments X-Loader 1.4.2 (Feb 19 2009 - 12:01:24) 
Reading boot sector 
Loading u-boot.bin from mmc 


U-Boot 2009.11 (Feb 23 2010 - 15:33:48) 

OMAP3530-GP ES3.1, CPU-OPP2 L3-165MHz 
OMAP3 Beagle board + LPDDR/NAND 
I2C: ready 
DRAM: 256 MB 
NAND: 256 MiB 
In: serial 
Out: serial 
Err: serial 
Board revision C4 
Die ID #40a8000400000000040365fa1301c014 
Hit any key to stop autoboot: 0 
mmc1 is available 
reading boot.scr 

** Unable to read "boot.scr" from mmc 0:1 ** 
reading uImage 

4335440 bytes read 
Booting from mmc ... 
Booting kernel from Legacy Image at 82000000 ... 
    Image Name: Linux-3.2.28 
    Image Type: ARM Linux Kernel Image (uncompressed) 
    Data Size: 4335376 Bytes = 4.1 MB 
    Load Address: 80008000 
    Entry Point: 80008000 
    Verifying Checksum ... OK 
    Loading Kernel Image ... OK 
OK 

Starting kernel ... 

Uncompressing Linux... done, booting the kernel. 

Я попытался как ttyS2 и ttyO2 в bootargs без разницы, и также модернизирована как xLoader и UBoot.

Моя конечная цель - запустить рудиментарный ROS (операционная система для роботов) и BeagleBoard.

Любая помощь будет действительно оценена.

+0

Трудно сказать, что происходит, точно судя по предоставленному вами выходу. Вы можете попробовать использовать earlyprintk для отладки этой проблемы. Добавьте 'earlyprintk' в ядро ​​cmdline (в u-boot), а также восстановите ядро ​​с включенными параметрами конфигурации earlyprintk. Он должен дать вам более последовательный вывод ядра, чтобы вы могли видеть, что заставляет ядро ​​застревать. –

+0

Спасибо за комментарий. Я не уверен, как перестроить ядро ​​с помощью earlyprintk. Я использую построитель изображений Angstrom. Я также не уверен, как добавить строку в u-boot? Извините, я довольно новичок в этом. –

+0

Введите u-boot shell, нажав Enter сразу после сброса. Ключевая строка ядра хранится в переменной «bootargs». Вы можете наблюдать, используя 'print bootargs'. Чтобы добавить 'earlyprintk' к этой переменной, используйте' setenv bootargs $ bootargs earlyprintk'.Что касается ядра, я не уверен, потому что вы используете оболочку (построитель изображений), но всегда сводятся к следующему: вам нужно исправить файл defconfig, чтобы он имел 'CONFIG_DEBUG_LL = y',' CONFIG_DEBUG_KERNEL = y' и 'CONFIG_EARLY_PRINTK = y'. Это нужно сделать, используя команду make make ARCH = arm menuconfig (после файла '.config', сгенерированного из вашего defconfig). –

ответ

0

Я не знаю, если вы когда-либо проходили мимо этого, но поскольку я недавно пытался снова запустить Beagleboard, я отвечу здесь ради того, чтобы кто-то еще пытался заставить работу ,

TLDR версия: используйте Angstrom v2013.6 и удерживайте кнопку пользователя при загрузке (или обнулите флэш-память NAND) для самого простого решения, которое просто работает. Подробности смотрите ниже.

Прежде всего, место, где вы застряли здесь, связано с тем, что u-boot вспыхнул в NAND, устаревшем для последней версии Angstrom. Простое исправление заключается в том, чтобы удерживать кнопку пользователя при загрузке, которая будет обходить NAND и загружаться прямо с SD-карты, которая, предположительно, имеет версию u-boot, которую вы только что создали. Затем вы можете остановить загрузку и либо обнулить NAND, либо запустить текущий MLO и u-boot.

После этого вы столкнетесь с некоторыми дополнительными проблемами, если используете изображение на основе systemd. Уровень meta-ti управляет базовыми параметрами конфигурации «beagleboard», а его поставщик виртуального/ядро ​​установлен на linux-mainline, который также находится в мета-ти уровне. В какой-то момент была добавлена ​​новая версия рецепта, которая строит ядро ​​3.14, но конфигурация ядра не подходит для systemd, и система будет висеть вскоре после загрузки.

Хорошей новостью является то, что Angstrom v2013.06 предшествует изменению ядра 3.14 в мета-ti, и я смог добиться этого просто. Я пытаюсь получить более свежий Angstrom, работающий с ядром 3.2, который работает с v2013.6, но мне еще не удалась.