====== Часто задаваемые вопросы для ОС Linux ====== ===== Какой логин и пароль ===== Логин ''root'', пароля нет или ''root''. Т.е. платы поставляются без пароля для учётной записи суперпользователя, не делайте так дома! Задайте пароль командой ''passwd''. ===== Настройки последовательного порта ===== В консоли [[u-boot|U-Boot]] и [[linux|Linux]] по умолчанию используются следующие настройки последовательного порта: * Для плат [[main#на_базе_cirrus_logic_ep9312_15|на базе EP9315]]\\ 57600, без управления потоком, без контроля чётности * Для плат [[main#на_базе_marvell_pxa270|на базе PXA270]]\\ 115200, без управления потоком, без контроля чётности ===== Как запустить Linux загрузчиком Redboot ===== //Используйте загрузчик [[U-Boot]].// Для того что бы запустить [[linux|Linux]] вам необходимо иметь загрузчик [[linux-faq#Как записать загрузчик во Flash|записанный]] во Flash-память. После включения системы с подключённым по последовательному порту терминалом (например, [[http://hp.vector.co.jp/authors/VA002416/ttermp23.zip|TerraTerm]], HyperTerminal, Minicom, GtkTerm и т.д.) с соответствующими [[linux-faq#настройки_последовательного_порта|настройками]]. См. [[http://ecos.sourceware.org/docs-latest/redboot/redboot-guide.html|документацию на загрузчик Redboot]]. * После появления консоли Redboot на экране терминала необходимо сконфигурировать Redboot:\\ ''fconfig -i'' * Если используется файловая система загрузчика во Flash, необходимо сконфигурировать файловую систему:\\ ''fis init -f'' * Выключите и включите питание платы или перезагрузите Redboot командой:\\ ''reset'' Теперь можно загружать собранный образ Linux. По умолчанию, адрес загрузки ядра --- ''0x80000'', ramdisk --- ''0x800000''. Для загрузки по Ethernet на хосте должен быть запущен http-сервер: - Загрузка ''ramdisk.gz'' в память (IP-адрес хоста на котором находится http-сервер: 10.42.42.100, файл лежит в корне):\\ ''load -r -v -b 0x800000 -m http -h 10.42.42.100 /ramdisk.gz'' - Загрузка образа ядра ''zImage'' в память:\\ ''load -r -v -b 0x80000 -m http -h 10.42.42.100 /zImage'' - Запуск ядра Linux с указанием адреса и размера ramdisk ('''' --- размер ''ramdisk.gz'' в байтах), с передачей параметров ядра:\\ ''exec -r 0x800000 -s size_of_ramdisk.gz_in_bytes -c "root=/dev/ram console=ttyAM0"'' Для загрузки по последовательному порту с использованием протокола ''ymodem'' (показаны только пункты 1 и 2, 3-ий пункт такой же как и при загрузке по Ethernet): - После ввода команды используйте пункт меню отправки файла (файл ''ramdisk.gz''), где нужно выставить протокол ''ymodem'':\\ ''load -r -v -b 0x800000 -m ymodem'' - После ввода команды используйте пункт меню отправки файла (файл ''zImage''):\\ ''load -r -v -b 0x80000 -m ymodem'' Для работы с новым ядром Linux необходимо обновить Redboot (http://groups.google.com/group/tion_sbc/web/new_redboot.tar.gz). ===== Как записать загрузчик во Flash ===== //Процедура записи пригодна для одноплатных компьютеров на базе Cirrus Logic EP93xx. Для одноплатных компьютеров на базе Marvell PXA270 требуется JTAG, см. [[openocd]].// Для записи Flash по последовательному порту для EP93xx используется консольная утилита ''download'', см. [[download]]. Параметры утилиты ''download'' можно посмотреть выполнив ''download -h''. - Убедитесь что перемычка ''BOOT0'' снята - Соедините первый последовательный порт одноплатного компьютера с хост-компьютером - На хост-компьютере запустите ''download u-boot.bin'', где ''u-boot.bin'' --- файл записываемого загрузчика: Waiting for the board to wakeup... - Выключите и включите питание или нажмите кнопку сброса: Downloading first boot code...(100%) Program the nor FLASH. Flash Manufacture ID:001f, Device ID:01c8 Programming the FLASH...(100%) Successfully programmed 'u-boot.bin'. - Оденьте перемычку ''BOOT0'' - Выключите и включите питание или нажмите кнопку сброса ===== Где можно взять обновления для Linux или новые версии инструментов для Тион, Тион-Про, Тион-Про2 ===== * Сайт ЗАО "ЗЭО": [[linux]] ===== Как изменить ramdisk, как использовать CF-карту в качестве КФС ===== См. также: [[linux#cf-карта|CF-карта памяти как КФС]]. Перенести содержимое ''ramdisk.gz'' на CF-карту: - Распаковать ''ramdisk.gz'':\\ ''gunzip ramdisk.gz'' - Создать директорию:\\ ''mkdir my_ramdisk'' - Примонтировать (как суперпользователь root) распакованный образ КФС:\\ ''mount -o loop ramdisk my_ramdisk'' Если вы хотите изменить содержимое ramdisk, то после внесения изменений в директории ''my_ramdisk'': - Размонтируйте директорию:\\ ''umount my_ramdisk'' - Сожмите образ:\\ ''gzip -9 ramdisk'' Если вы хотите переместить КФС на CF-карту, то скопируйте содержимое директории ''my_ramdisk'' на предварительно отформатированную (файловая система ext2 или ext3) CF-карту, например:\\ ''cp -a my_ramdisk/* /media/cf'', где ''/media/cf'' --- путь к примонтированной CF-карте. Теперь можно установить CF-карту на одноплатный компьютер и запустить ядро Linux с командной строкой подобно этой:\\ ''"root=/dev/hda1"'', где ''/dev/hda1'' --- ваше IDE-устройство. После загрузки ядра, оно будет использовать КФС на CF-карте (если не используется ramdisk). ===== Не работает тестовая программа ===== ==== Программа не запускается ==== Возможны следующие причины: - Программа должна быть скомпилирована с библиотеками тех же версий, что расположены в [[linux#корневая_файловая_система|КФС]] платы, или скомпилирована статически (''-static'') - При сборке программы учтите бинарный интерфейс используемого компилятора OABI/EABI - Перед запуском программы учтите её права на исполнение ''chmod a+x test'' ==== Программа запускается ==== Написал пример: #include int main() { printf("Hello world\n"); return 0; } Собрал:\\ ''arm-linux-gcc -Wall -O2 -o test main.c'' Компилируется без ошибок и запускается на выполнение, но ничего не выводит. ---- Так как в системе уже есть программа с именем ''test'', она и запускается если указан не абсолютный путь к программе (см. ''which test''). Следует запускать программу по абсолютному пути или из текущей директории как ''./test''. ===== Почему в загрузчике Redboot не работает сеть ===== Убедитесь в том, что при конфигурации загрузчика Redboot (команда ''fconfig -i'') вы правильно инициализировали параметры сети. Пример типичной конфигурации Redboot: Run script at boot: false Use BOOTP for network configuration: false Gateway IP address: 10.42.42.1 Local IP address: 10.42.42.201 Local IP address mask: 255.255.255.0 Default server IP address: 10.42.42.1 Set eth0 network hardware address [MAC]: true eth0 network hardware address [MAC]: 0x0E:0x00:0x00:0xEA:0x18:0xF0 GDB connection port: 9000 Force console for special debug messages: false Network debug at boot time: false После установки настроек необходимо произвести перезагрузку. ===== Почему в OPIE (или другом приложении Linux) touch screen работает неправильно ===== См. [[linux#сенсорный_экран|калибровка сенсорного экрана]]. ===== Изображение на экране не качественное ===== Измените настройки [[linux#дисплей|для Linux]] и/или [[u-boot#заставка|U-Boot]] в соответствии с типом экрана. ===== Собранные образы ядра Linux для EDB9315 не работают на моей плате ===== Используйте образы для EDB9312. EDB9315 подразумевает отладочную плату от Cirrus Logic. На ней стоит процессор EP9315, но есть отличия в схеме по сравнению с платами серии Тион. Например, на платах серии Тион для сигнала CS SDRAM используется CS3, а на EDB9315 --- CS0, следовательно при загрузке ядра Linux память будет сконфигурирована неверно. Это касается загрузчиков, Windows CE и т.д. См. также [[http://www.zao-zeo.ru/catalog/soft.html|cайт ЗАО "ЗЭО"]].