Linux-2.6.31.3-ged9ecd6-dirty

(Различия между версиями)
Перейти к: навигация, поиск
(Новая страница: «Общественности предлагается для тестирования ядро Linux 2.6.31.3 для RZX-50. Основным преимущес...»)
 
Строка 41: Строка 41:
  
 
После настройки сетевого интерфейса ПЭВМ становится возможно получить доступ к командной строке RZX-50 при помощи telnet. При помощи ftp, по умолчанию, доступен каталог <tt>/boot</tt>.
 
После настройки сетевого интерфейса ПЭВМ становится возможно получить доступ к командной строке RZX-50 при помощи telnet. При помощи ftp, по умолчанию, доступен каталог <tt>/boot</tt>.
 +
 +
= Замеченные проблемы =
 +
* не работает звук;
 +
* не работает радиоприёмник;
 +
* совершенно забыл про пользователей Windows, не включив CONFIG_USB_ETH_RNDIS;
 +
* в поставку не включён ELF-файл ядра (удобнее смотреть места, где ядро упало);
 +
* забыл про CONFIG_RTC_JZ;
 +
* не привёл SHA1-суммы файлов;
 +
* не раскрыта тема USB host'a RZX-50.
 +
 +
Перед тем как компилить ядро лостаточно было обратиться к http://dingoo-linux.googlecode.com/svn/trunk: всё уже придумано до нас.
 +
 +
* поборотся с недоступностью U-Boot'а для перенастройки ком. строки можно используя опцию CONFIG_CMDLINE;
 +
* при тестировании ядра обнаружено, что оно может падать при обмене через Ethernet-gadget, замечено, что в dingux использована опция командной строки jz4740_udc.use_dma=0; возможно стоит взять на вооружение;
 +
* CONFIG_PREEMPT_NONE=y теоретически должно положительно сказаться на стабильности ядра.
  
 
[[Категория:Linux]]
 
[[Категория:Linux]]

Версия 22:49, 31 января 2012

Общественности предлагается для тестирования ядро Linux 2.6.31.3 для RZX-50.

Основным преимуществом данного ядра по сравнению с заводским является поддержка Ethernet-gadget. Это позволяет подключив приставку через USB к ПЭВМ реализовать ЛВС (например, RZX-50 будет иметь IP-адрес 10.1.0.2, а ПЭВМ 10.1.0.1). RZX-50 будет работать как telnet- и ftp-сервер, что значительно упростит разработку ПО для приставки.

Автор проверял работу ЛВС-через-USB при помощи ПЭВМ с установленной ОС Debian/Linux.

Файлы нового ядра находятся в архиве rzx50-linux-2.6.31.3-ged9ecd6-dirty.tar.gz.

В архиве находятся следующие файлы:

  • uImage-2.6.31.3-ged9ecd6-dirty — образ ядра для U-Boot;
  • modules — загружаемые модули ядра, в частности модуль Ethernet-gadget;
  • config-2.6.31.3-ged9ecd6-dirty — конфигурационный файл с настройками ядра.

Ядро собрано вот из исходных текстов (с косметическими изменениями, мало влияющими на функционирование) с патчем linux-2.6.31.3-jz-20110719-tag-r1198.patch.tar.bz2, toolchain на базе gcc-4.4.6.

Ethernet-gadget собран в виде модуля для того, чтобы иметь возможность использовать также serial-gadget из модуля g_serial.ko.

Установка

Того, чтобы Ethernet-gadget корректно работал, при старте dingux необходимо подключить модуль ядра g_ether.ko и настроить сетевой интерфейс usb0.

Для этого необходимо каталог modules распаковать в каталог /lib/ корневой файловой системы dingux. Полное путевое имя модуля g_ether.ko будет таким:

/lib/modules/2.6.31.3-ged9ecd6-dirty/kernel/drivers/usb/gadget/g_ether.ko

Необходимо исправить файл /etc/inittab в соответствии со патчем.

Последним шагом является прошивка нового ядра (и, возможно, обновлённого образа корневой файловой системы) в RZX-50. Сделать это можно при помощи штатной программы-восстановителя [1].

Использование

После обновления ядра включаем приставку и подключаем её к ПЭВМ при помощи интерфейса USB.

Если других Ethernet-gadget'ов не подключено, то появляется сетевой интерфейс usb0 (в противном случае usb1, usb2 и т. д.).

После этого инициализируем сетевой интерфейс ПЭВМ:

# ifconfig usb0 10.1.0.1

Для тех, кто не хочет вручную инициализировать сетевой интерфейс возможно разрешить следующую строчку в /etc/inittab на RZX-50. При этом на RZX-50 начинает работать DHCP-сервер, а на ПЭВМ в настройках usb0 придётся указать, что адрес интерфейсу назначается при помощи DHCP (в этом случае интерфейсу ПЭВМ также будет присвоен IP-адрес 10.1.0.1).

::sysinit:/usr/sbin/udhcpd /etc/udhcpd.conf

После настройки сетевого интерфейса ПЭВМ становится возможно получить доступ к командной строке RZX-50 при помощи telnet. При помощи ftp, по умолчанию, доступен каталог /boot.

Замеченные проблемы

  • не работает звук;
  • не работает радиоприёмник;
  • совершенно забыл про пользователей Windows, не включив CONFIG_USB_ETH_RNDIS;
  • в поставку не включён ELF-файл ядра (удобнее смотреть места, где ядро упало);
  • забыл про CONFIG_RTC_JZ;
  • не привёл SHA1-суммы файлов;
  • не раскрыта тема USB host'a RZX-50.

Перед тем как компилить ядро лостаточно было обратиться к http://dingoo-linux.googlecode.com/svn/trunk: всё уже придумано до нас.

  • поборотся с недоступностью U-Boot'а для перенастройки ком. строки можно используя опцию CONFIG_CMDLINE;
  • при тестировании ядра обнаружено, что оно может падать при обмене через Ethernet-gadget, замечено, что в dingux использована опция командной строки jz4740_udc.use_dma=0; возможно стоит взять на вооружение;
  • CONFIG_PREEMPT_NONE=y теоретически должно положительно сказаться на стабильности ядра.
Личные инструменты
Пространства имён
Варианты
Действия
Навигация
Инструменты