LINUX.ORG.RU

Как получить u-boot консоль

 , , ,


0

1

Согласно мануалу нужно залить на pandaboard по tftp целевое ядро. Только вот вопрос, как получить заветную строку

u-boot>
Везде готовые мануалы от и до, до запукска убунты. А вот как остановиться на u-boot не понятно.

★★★

Откуда взят u-boot? Лог загрузки где?

makpocc ()
Ответ на: комментарий от makpocc
 minicom


Добро пожаловать в minicom 2.7

ПАРАМЕТРЫ: I18n 
Дата компиляции Jan 11 2014, 10:01:01.
Port /dev/ttyUSB0, 13:15:36

Нажмите CTRL-A Z для получения подсказки по клавишам


U-Boot SPL 2011.12-rc1 (Mar 20 2014 - 13:01:11)
Texas Instruments OMAP4430 ES2.2
OMAP SD/MMC: 0
reading u-boot.img
reading u-boot.img


U-Boot 2011.12-rc1 (Mar 20 2014 - 13:01:11)

CPU  : OMAP4430 ES2.2
Board: OMAP4 Panda
I2C:   ready
DRAM:  1 GiB
WARNING: Caches not enabled                                                     
MMC:   OMAP SD/MMC: 0                                                           
Using default environment                                                       
                                                                                
In:    serial                                                                   
Out:   serial                                                                   
Err:   serial                                                                   
Net:   No ethernet found.                                                       
Hit any key to stop autoboot:  0                                                
reading uEnv.txt                                                                
                                                                                
** Unable to read "uEnv.txt" from mmc 0:1 **                                    
reading boot.scr                                                                
                                                                                
** Unable to read "boot.scr" from mmc 0:1 **                                    
reading uImage                                                                  
                                                                                
** Unable to read "uImage" from mmc 0:1 **                                      
(Re)start USB...                                                                
USB:   Register 1313 NbrPorts 3                                                 
USB EHCI 1.00                                                                   
scanning bus for devices... The request port(2) is not configured               
The request port(2) is not configured                                           
3 USB Device(s) found                                                           
       scanning bus for storage devices... 0 Storage Device(s) found            
       scanning bus for ethernet devices... 1 Ethernet Device(s) found          
Waiting for Ethernet connection... done.                                        
BOOTP broadcast 1                                                               
EHCI timed out on TD - token=0x8008d80                                          
BOOTP broadcast 2                                                               
EHCI timed out on TD - token=0x8008d80                                          
                                                                                
Abort                                                                           
missing environment variable: pxeuuid                                           
missing environment variable: ethaddr                                           
missing environment variable: bootfile                                          
Retrieving file: pxelinux.cfg/01-0a-40-fe-e8-3b-0a                              
Waiting for Ethernet connection... done.                                        
*** ERROR: `serverip' not set                                                   
missing environment variable: bootfile                                          
Retrieving file: pxelinux.cfg/00000000                                          
Waiting for Ethernet connection... done.                                        
*** ERROR: `serverip' not set                                                   
missing environment variable: bootfile                                          
Retrieving file: pxelinux.cfg/0000000                                           
Waiting for Ethernet connection... done.                                        
*** ERROR: `serverip' not set                                                   
missing environment variable: bootfile                                          
Retrieving file: pxelinux.cfg/000000                                            
Waiting for Ethernet connection... done.                                        
*** ERROR: `serverip' not set                                                   
missing environment variable: bootfile                                          
Retrieving file: pxelinux.cfg/00000                                             
Waiting for Ethernet connection... done.                                        
*** ERROR: `serverip' not set                                                   
missing environment variable: bootfile                                          
Retrieving file: pxelinux.cfg/0000                                              
Waiting for Ethernet connection... done.                                        
*** ERROR: `serverip' not set                                                   
missing environment variable: bootfile                                          
Retrieving file: pxelinux.cfg/000                                               
Waiting for Ethernet connection... done.                                        
*** ERROR: `serverip' not set                                                   
missing environment variable: bootfile                                          
Retrieving file: pxelinux.cfg/00                                                
Waiting for Ethernet connection... done.                                        
*** ERROR: `serverip' not set                                                   
missing environment variable: bootfile                                          
Retrieving file: pxelinux.cfg/0                                                 
Waiting for Ethernet connection... done.                                        
*** ERROR: `serverip' not set                                                   
missing environment variable: bootfile                                          
Retrieving file: pxelinux.cfg/default                                           
Waiting for Ethernet connection... done.                                        
*** ERROR: `serverip' not set                                                   
Config file not found                
LIKAN ★★★ ()
Ответ на: комментарий от LIKAN
Hit any key to stop autoboot:  0

Вот эту строчку видим? Это и есть остановка загрузки и переход в интерактивную консоль u-boot. Если в конфиге загрузчика bootdelay=0 - убираем. Также прервать загрузку можно по Ctrl+C.

makpocc ()
Ответ на: комментарий от makpocc

Угу, пробовал уже, после этого я вижу

Panda #
Командочки tftp там нет, следовательно нe u-boot. Мм конфиг загрузчика? У меня в /boot директории только два файла - MLO и boot.img, как и в том мане написано.

LIKAN ★★★ ()
Ответ на: комментарий от LIKAN

Откуда там должна появиться команда tftp? Пример загрузки ядра по сети:

setenv autoload no
dhcp либо setenv ipaddr <ip платы>
setenv serverip <ip сервера>
setenv bootfile <имя образа ядра>

makpocc ()
Ответ на: комментарий от LIKAN

Ок. Тогда смотрим сюда, строка 846:

http://git.linaro.org/boot/u-boot-linaro-stable.git/blob/HEAD:/README
CONFIG_CMD_NET            bootp, tftpboot, rarpboot
У tftpboot синтаксис тот же что и у tftp.

makpocc ()
Ответ на: комментарий от makpocc

угу

# tftpboot                                                             
No ethernet found.
Как теперь грамотно настроить ethernet?

LIKAN ★★★ ()
Ответ на: комментарий от makpocc
# setenv ipaddr 192.168.0.2                                               
Panda # ping 192.168.0.2                                                        
No ethernet found.                                                              
ping failed; host 192.168.0.2 is not alive
LIKAN ★★★ ()
Ответ на: комментарий от LIKAN

До настройки сети:

setenv ethaddr <MAC-адрес карты. Назначай сам>
saveenv
P.S. Не в обиду, но нагуглить это можно было самостоятельно.

makpocc ()
Ответ на: комментарий от makpocc

Я не обидчивый, но увы

# setenv ethaddr 11:22:33:44:55:66                                        
Panda # setenv ipaddr 192.168.0.2                                               
Panda # ping 192.168.0.2                                                        
No ethernet found.                                                              
ping failed; host 192.168.0.2 is not alive 

LIKAN ★★★ ()
Ответ на: комментарий от LIKAN

Похоже что-то мы упускаем. Так скастуйте в консоль

usb start

makpocc ()
Ответ на: комментарий от makpocc
# usb start                                                               
(Re)start USB...                                                                
USB:   Register 1313 NbrPorts 3                                                 
USB EHCI 1.00                                                                   
scanning bus for devices... The request port(2) is not configured               
The request port(2) is not configured                                           
3 USB Device(s) found                                                           
       scanning bus for storage devices... 0 Storage Device(s) found            
       scanning bus for ethernet devices... 1 Ethernet Device(s) found

Если я правильно распарсил вывод, то с Ethernet все впорядке.

LIKAN ★★★ ()
Ответ на: комментарий от LIKAN

До этого мы пытальсь работать через USB Ethernet модуль при отключённом USB-контроллере.

makpocc ()
Ответ на: комментарий от makpocc

Ну да вы правы, что-то действительно изменилось (кстати можете объснить что)

# usb start                                                               
(Re)start USB...                                                                
USB:   Register 1313 NbrPorts 3                                                 
USB EHCI 1.00                                                                   
scanning bus for devices... The request port(2) is not configured               
The request port(2) is not configured                                           
3 USB Device(s) found                                                           
       scanning bus for storage devices... 0 Storage Device(s) found            
       scanning bus for ethernet devices... 1 Ethernet Device(s) found          
Panda # setenv ethaddr 11:22:33:44:55:66                                        
Panda # setenv ipaddr 192.168.0.2                                               
Panda # ping 192.168.0.2                                                        
Waiting for Ethernet connection... done.                                        
Using sms0 device                                                               
EHCI timed out on TD - token=0x8008d80                                          
ping failed; host 192.168.0.2 is not alive
Правда рабочим такое сосотояние явно не назовешь.

LIKAN ★★★ ()
Ответ на: комментарий от LIKAN
EHCI timed out on TD - token=0x8008d80

Из того что я нашел, возможен вариант того, что установленный u-boot не совсем корректно работает с контроллером. Устройства отваливаются по таймауту. Возможное решение - в файле http://git.linaro.org/boot/u-boot-linaro-stable.git/blob/HEAD:/include/usb.h, строка 59, заменить

#define USB_TIMEOUT_MS(pipe) (usb_pipebulk(pipe) ? 5000 : 1000)
на
#define USB_TIMEOUT_MS(pipe) (usb_pipebulk(pipe) ? 10000 : 1000)
и пересобрать загрузчик

makpocc ()
Ответ на: комментарий от makpocc

Теперь выглядит ещё хуже, чем было

 # setenv ipaddr 192.168.1.1
Panda # ping 192.168.1.1
Waiting for Ethernet connection... unable to connect.
ping failed; host 192.168.1.1 is not alive

LIKAN ★★★ ()
Ответ на: комментарий от makpocc

Что-там грустно по этим сслыкам. Я вот что подумал, в мане сказано записать эти файлы по указанным адресам. Можно ли это руками сделать. Прямо на sd карту с помощью какого-нить dd ?

LIKAN ★★★ ()
Ответ на: комментарий от makpocc

Вот что мне нужно сделать

 u-boot> tftp 0xc0008000 xen-bin
u-boot> tftp 0xc1c00000 mini-os.elf
u-boot> tftp 0xc2c00000 mini-os.elf 
Это из того pdf-ника что я раньше кидал

LIKAN ★★★ ()
Ответ на: комментарий от LIKAN

Это адреса, с которых начинаются области в оперативной памяти, куда будут загружены образы для последующего исполнения.

makpocc ()
Ответ на: комментарий от makpocc

Ну, я тут вряд ли помогу, ибо с пандабордой не имел дел. Могу лишь высказать предположение, что пока на ней нет никакого юбута, надо сначала его прошить.

CYB3R ★★★★★ ()
Ответ на: комментарий от CYB3R

А, нет, прочитал лог. Юбут прошит и грузится.

CYB3R ★★★★★ ()
Ответ на: комментарий от LIKAN

Я правильно понимаю, что вы в переменную поставили адрес и сразу же решили его пингануть?

Мне щас влом запускать свою вариант arm+uboot (чтобы подсказывать нужные команды). Но вы настройте по нормальному сеть на хосте и на панде. И потом с панды пинганите хост. Если пинганется то можно двигаться дальше.

yax123 ★★★ ()
Ответ на: комментарий от yax123

А как по нормальному настроить сеть на панде?

LIKAN ★★★ ()
Ответ на: комментарий от makpocc

Может есть способ с sd карты в опертивку по нужным адресам залить эти бинарники?

LIKAN ★★★ ()
Ответ на: комментарий от LIKAN

fatload для разделов с FAT32. ext2load для разделов с EXT2.
У uboot есть команда help, там всё написано. Если нужно более конкретное описание команды: help cmd. Если еще более конкретное - в гугл.

oh-la-la ()
Ответ на: комментарий от LIKAN

Я с пандой не знаком лично. Но что-то мне подсказывает, что все эти приборы на базе arm и u-boot устроены идентично.

есть параметры env. туда прописываете адрес и маску сети. перегружаетесь.
подтыкаетесь кабелем к хосту. на котором тоже настроена статически сеть с той же маской и адресом из той же сети что и панда. например:
192.168.1.1 255.255.255.0 - для хоста
192.168.1.2 255.255.255.0 - для панды

потом просто с панды пишете:
# ping 192.168.1.1
должен пойти пинг.
если пинг есть. то дальше настраиваете на хосте tftp/bootp/nfs
и грузите с хоста, что угодно и куда угодно.

yax123 ★★★ ()
Ответ на: комментарий от oh-la-la
# fatload mmcblk0p2 0:1 0xc0008000 xen-syms
reading xen-syms

И на этом зависон, интерсно, что мешает u-boot-у загрузить образ?

LIKAN ★★★ ()
Ответ на: комментарий от LIKAN

Мне вот интересно, fatload эквивалентно tftpload?

Скорей всего да. Берем где-нидь файл и кладем его в RAM по определенному адресу.

yax123 ★★★ ()
Ответ на: комментарий от LIKAN

Помоему там просто mmc, без blk. Флешка вообще видна?

mmcinfo
fatls mmc 0:1

oh-la-la ()
Ответ на: комментарий от oh-la-la

Да видна, по адресу 0x80000000 удалось все удачно считать, а вот по тому, что я выше указал, нет, хотя именно он указан в мануале.

LIKAN ★★★ ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.