ЗАО «ЗЭО»

Техническая поддержка пользователей => ОС Linux, U-Boot => Тема начата: dmitryn от 02 Марта, 2010, 10:26:31

Название: Вопрос по RedBoot
Отправлено: dmitryn от 02 Марта, 2010, 10:26:31
Добрый день. Меня зовут Нырков Дмитрий. Компания Ритм, Краснодар. К сожалению не нашел в разделах форума ветки посвященную загрузчику RedBoot, поэтому попробую написать здесь. При загрузке тиона на новом 8 дюймовом мониторе (который поддерживает 800*600)  информация о загрузке не отображается. На других 8 дюймовых мониторах с расширением 640-480 все отображается норамально. Насколько я понял из  документации по u-boot http://www.zao-zeo.ru/dokuwiki/doku.php/linux#различные_сборки_кфс необходимо передать параметр ядру video=ep93xxfb:vout=1,vmode=20, который содержится в переменной  bootargs и выполняется командой, содержащейся в перемененной bootcmd. Мы пользуемся RedBoot. Дайте пожалуйста подобную инструкцию для него.
Название: Re: Вопрос по RedBoot
Отправлено: speculzzz от 02 Марта, 2010, 11:36:57
Добрый день. Меня зовут Нырков Дмитрий. Компания Ритм, Краснодар. К сожалению не нашел в разделах форума ветки посвященную загрузчику RedBoot, поэтому попробую написать здесь. При загрузке тиона на новом 8 дюймовом мониторе (который поддерживает 800*600)  информация о загрузке не отображается. На других 8 дюймовых мониторах с расширением 640-480 все отображается норамально. Насколько я понял из  документации по u-boot http://www.zao-zeo.ru/dokuwiki/doku.php/linux#различные_сборки_кфс необходимо передать параметр ядру video=ep93xxfb:vout=1,vmode=20, который содержится в переменной  bootargs и выполняется командой, содержащейся в перемененной bootcmd. Мы пользуемся RedBoot. Дайте пожалуйста подобную инструкцию для него.

Под рукой нет тиона с redboot-ом, но есть другая железка... но все должно быть примерно одно и тоже...
Для начала необходимо соединить Тион с компом по СОМ-порту (обычно ttyAM0)... там системная консоль. На компе можно воспользоваться любой терминальной программой, например HyperTerminal (соответсвенно необходимо настроить параметры соединения).
1) Включаем питание на Тионе: в терминале видем символ "+"... нажимаем Ctrl+C и попадаем в командную консоль загрузчика. Будет что-то вроде:
+Ethernet eth0: MAC address ce:00:01:02:4c:fe
IP: 192.168.1.61, Default server: 192.168.1.82

RedBoot(tm) bootstrap and debug environment [ROM]
Non-certified release, version W469 V1I3 Tecon - built 15:36:31, Jan 31 2007

Platform: Tecon t-mezon (XScale)
Copyright (C) 2000, 2001, 2002, Red Hat, Inc.

RAM: 0x00000000-0x02000000, [0x0001cc68-0x00fd1000] available
FLASH: base 0x50000000, size 0x01000000, 128 blocks of 0x00020000 bytes each.
== Executing boot script in 0.500 seconds - enter ^C to abort
^C
RedBoot>
Можно набрать "help" - для просмотра возможных команд.
2) Набираемаем fconfig -l -n
RedBoot> fconfig -l -n
boot_script: true
boot_script_data:
.. mount -t jffs2 -f linux
.. load -r -b %{FREEMEMLO} -m file /boot/vmlinuz
.. exec

boot_script_timeout: 5
bootp: false
bootp_my_ip: 192.168.1.61
bootp_server_ip: 192.168.1.82
console_baud_rate: 115200
gdb_port: 9000
info_console_force: false
net_debug: false
net_device: npe_eth0
npe_eth0_esa: 0xCE:0x00:0x01:0x02:0x4C:0xFE
npe_eth1_esa: 0xCE:0x00:0x01:0x02:0x4C:0xFF
RedBoot> 
За передачу параметров ядру отвечает команда exec, которая прописана в стартовом скрипте (переменная загрузчика boot_script_data).
3) Правим стартовый скрипт: fconfig boot_script_data
после ">>" начинаем вводить (либо копировать и вставлять) строки скрипта... а к exec добавим параметр -c "video=ep93xxfb:vout=1,vmode=20". Завершим редактирование двойным вводом Enter.
RedBoot> fconfig boot_script_data
boot_script_data:
.. mount -t jffs2 -f linux
.. load -r -b %{FREEMEMLO} -m file /boot/vmlinuz
.. exec
Enter script, terminate with empty line
>> mount -t jffs2 -f linux
>> load -r -b %{FREEMEMLO} -m file /boot/vmlinuz
>> exec -c "video=ep93xxfb:vout=1,vmode=20"
>>
Update RedBoot non-volatile configuration - continue (y/n)?
Отвечаем Y.
Набираем reset - перезагрузка.
Название: Re: Вопрос по RedBoot
Отправлено: dmitryn от 03 Марта, 2010, 11:47:25
Спасибо все получилось.
RedBoot> fis load -b 0x800000 zImage
RedBoot> fis load -b 0x1000000 ramdisk.gz
RedBoot> exec -r 0x1000000 -s 0x57c7bc -b 0x800000 -l 0x18c1c8 -c "video=ep93xxfb:vout=1,vmode=20"
На мониторе как была белеберда, так и осталась. Буду ковырять дальше.
Название: Re: Вопрос по RedBoot
Отправлено: asv от 03 Марта, 2010, 14:45:29
> На мониторе как была белеберда, так и осталась.

В RedBoot или в Linux?