LINUX.ORG.RU

Сообщения AnMD

 

Зависание embedded linux на ARM.

Добрый день. Необходима помощь.

В данный момент занимаемся разработкой девайса следующей конфигурации:
cpu: TI AM3715
ram: 2 микросхемы K4X1G163PC(по 128MB) - в данный момент одна микросхема отключена софтварно.
ethernet: 2 контроллера KSZ8851SNLI(интерфейс подключения SPI)
flash: 2 микросхемы MT29F2G(по 256MB) - в данный момент одна микросхема отключена софтварно.
также подключена камера по интерфейсу с которой получаем картинку, обрабатываем и отдаем на внешку по ethernet или кладем на флешку(по запросу).

Все это дело работает под управлением ядра linux-3.9.2.
Файловая система с набором необходимого софта собрана при помощи buildroot-2013.05.
Кросскомпилятор которым собирается ядро и весь самописный софт gcc-4.6.4.

Вся связь, дебаг и все такое осуществляется через преобразователь rs232-USB.

Проблема заключается в том что система нестабильна и переодически зависает. Тесты проводились на 22-х тестовых образцах данного устройства, поэтому неисправность одного конкретного экзепляра можно исключить. Проблема повторяется на всех устрйоствах.

Сначала грешили на связку(ethernet-SPI), но серия испытаний с отключенным ethernet'ом опровергла данные подозрения(отключали ethernet исключением процедуры инициализации в ядре).

При опросе через ethernet(выкачивание картинки, опрос состояния по протоколу modbus TCP), появление проблем происходит значительно быстрее.

Характерные признаки начала проблем с системой:
1)Полностью отваливается сеть.
2)Команды вводимые в консоли, выполняются только по двойному нажатию enter.
3)Выполнение некоторых комманд приводит к полному повисанию консоли(возможно и всего устройства). Например команды top.
4)Иногда могут сами по себе в консоли появляться сообщения - хелп по SysRQ.

[78238.108581] SysRq : HELP : loglevel(0-9) reBoot Crash show-all-locks(D) terminate-all-tasks(E) memory-full-oom-kill(F) kill-all-tasks(I) thaw-filesystems(J) saK show-memory-usage(M) nice-all-RT-tasks(N) powerOff show-registers(P) show-all-timers(Q) unRaw Sync show-task-states(T) Unmount show-blocked-tasks(W) dump-ftrace-buffer(Z) 

Dmesg ничего интересного не выдает. Работа якобы в нормальном режиме.

Подскажите что может вызывать описаные симптомы. Возможно кто-то уже сталкивался с таким повдением.

 , ,

AnMD
()

Установка setuptools и flup.

Добрый день. Есть ядро и файловая система, собранные под Buildroot'ом под архитектуру ARM9. Я пытаюсь установить setuptools-0.6c11-py2.7.egg и flup-1.0.2-py2.6.egg. Точнее я сначала попытался поставить flup командой:

sh flup-1.0.2-py2.6.egg
, получил ошибку syntax error. Потом распаковал egg и попытался установить командой:
python setup.py install
из распакованной папки. Установка началась попыткой скачать из интернетов setuptools-0.6c11-py2.7.egg, но так как интернетов нет, я воспользовался вторым доступным методом, скачать руками и положить setuptools-0.6c11-py2.7.egg в папку с flup'ом. Результата это не принесло, по прежнему при установке система ломилась в интернет с попыткой setuptools-0.6c11-py2.7.egg. Тогда я решил не просто класть его в папку, а еще и установить, но на команду
sh setuptools-0.6c11-py2.7.egg
, получил ошибку что нет необходимого модуля zlib, хотя по умолчанию при сборке ядра и файловой системы я включил эту библиотек, правда называется она libz и поэтому при установке этот модуль не находится. Тогда опять же я ручками распаковал яйцо и попытался установить сначала командой:
python setup.py install
, получил опять ошибку отсутствующего zliba, а
python ez_setup.py install
ломиться в инет, а
python ez_setup.py
пишет что setuptools уже установлены, хотя команда easy_install так и не появилась. В итоге я в легком тупике, подскажите как поставить эти 2 пакета без интернета и всяких apt-get'ов. Или как заставить python работать с libz вместо zlib.

AnMD
()

Продлить срок службы флешки.

Доброго дня. Эпопея с установкой и настройкой системы Ubuntu Server 9.04 завершена. Теперь необходимо предпринять всевозможные действия по продлению жизни CompactFlash карты на которую собственно и установлена система. Карта разбита на 3 раздела. Привожу вашему вниманию fstab:

<file system> <mount point> <type> <options> <dump> <pass>

proc /proc proc defaults 0 0

# / was on /dev/sdd1 during installation

UUID=41ef692e-6cec-4eeb-b09d-8dae2c43d514 / ext2 ro,noatime,defaults 0 1

# /var was on /dev/sdd5 during installation

UUID=f5c24585-c60a-4669-8168-84749b1de53f /var ext2 noatime,defaults 0 2

# /var/CodeSys/data was on /dev/sdd6 during installation

UUID=dcc21b05-6e28-48c9-a479-20993d9a9e88 /var/CodeSys/data ext2 noatime,defaults 0 2

tmpfs /var/log tmpfs noatime,defaults 0 0

tmpfs /tmp tmpfs noatime,defaults 0 0

tmpfs /var/tmp tmpfs noatime,defaults 0 0

tmpfs /var/run tmpfs noatime,defaults 0 0

tmpfs /var/lock tmpfs noatime,defaults 0 0

Как видно, файловая система на всех разделах ext2, стоит опция noatime для отказа от записи времени последнего обращения к файлам.

Система будет использоваться постоянно с одной конфигурацией, и файлы изменяемые будут находиться только в папке /var/CodeSys/data/.

Поэтому хотел сделать разделы / и /var read-only, но это приводит к тому что система проходит полностью ползунок Usplash'a и затем я получаю черный экран, без реакции на клавиатуру и ssh.

Возможно ли в принципе довести мою задумку до конца(сделать 2 из 3х разделов флешки только для чтения), если не возможно то почему, и что можно еще предпринять для продления срока службы CF.

Спасибо.

AnMD
()

Вопросы по запуску xserver.

Добрый день. Занимаюсь реализацией автозапуска xservera и возникают вопросы, решил обратиться за помощью.
Опишу что мне нужно.
1)Стартует система Ubuntu Server 9.04
2)Автологин заходит под обычным пользователем без привелегий
3)Автоматически загружается модуль lxfb(фреймбуффер под видео AMD Geode LX).
4)Автоматически запускается xserver настроенный на работу через фреймбуффер.
5)Автоматически загружается драйвер com-портовой мыши.
6)Автоматически открывается xterminal размером на весь экран (800х600).
7)Автоматически в иксовом терминале запускается серверная часть программы ProgUser(символичное название).
8)Отключить заставку при долгом отсутствии касаний клавиатуры и мыши.

В данный момент что уже сделал и как:

1)Стартует Ubuntu Server, слава GRUB'у.
2)Автологин настроил через установку mingetty и исправление файла /etc/event.d/tty1
3)Модуль lxfb загружается командой modprobe прописанной в /etc/rc.local. Загрузка происходит с установкой разрешения экрана 800х600.
4)Работа xorg'а через fb реализована подправкой файла xorg.conf. Запуск xserver'а происходит с помощью скрипта в котором есть команда startx. Сам скрипт лежит в папке /home/user/MyScripts/script.sh, на него добавлен симлинк в папкt /usr/bin/, и в файл /etc/rc.local добавлена строка script.sh.
5)Честно говоря мышь в данный момент не настроена абсолютно, при загрузке появляется указатель в центре экрана, но двигаться он и не думает.
6)Xterm в данный момент запускается с дефолтными настройками, то есть с левом верхнем углу, размером с четверть экрана. Из гуглов вычитал что настроить размеры и параметры хтерминала можно создав файл .xinitrc в папке /home/user/, через который также можно будет реализовать запуск необходимой программы(пункт 7).
В данный момент файл .xinitrc выглядит следующим образом:

#!/bin/sh
xrdb -load $HOME/ .Xresources
xsetroot -solid gray &
xclock -g 50x50-0+0 -bw 0 &
xload -g 50x50-50+0 -bw 0 &
xterm -g 80x24+0+0 &
xterm -g 80x24+0-0 &

При загрузке ничего не меняется. То есть файл составлен не верно.

7)Для автоматического запуска программы прописаны 2 команды в теле скрипта script.sh:

cd /var/ProgUser
./proguser &

но это не приводит к результату. Если вбивать эти же команды в консольку ручками, программа прекрасно запускается.

8)Пока не копал этот вопрос.Написал скорее на будущее, так как возможно быстро сам найду ответ.

Итак я описал ситуацию. Надеюсь сможете мне помочь.

Первым делом подскажите какие фалы следует редактировать и где, для управления процессом старта иксов. Я так понимаю если правильно написать .xinitrc, то можно и настроить параметры хтерминала и реализовать пуск нужной программы. Подскажите как, или пните ногой в сторону актуального документа. Информации в интернете много, но в каждой статье свое виденье написания .xinitrc.

Спасибо.

AnMD
()

Два eth на один порт.

Имеется плата GENE5315 с Realtek RTL8139DL, 10/100Base-TX, RJ-45 x 2, то есть мы имеем два физических порта RJ-45. Ubuntu server видит эти два интерфейса и определяет их как eth1 и eth2. В файле /etc/network/interfaces были прописаны адреса для каждого интерфейса, статические. Оба порта подключаются к концентратору. Оба порта моргают и пингуются. Проблема в следующем, при отключении первого кабеля от порта RJ-45 оба интерфейса продолжают пинговаться, и по обеим адресам можно подключить ssh. Подключаем первый кабель на место и отключаем второй. Оба адреса перестают пинговаться и подлкючить ssh не представляется возможным. почему система ассоциирует eth1 и eth2 с одним физическим портом, и как это можно исправить?

AnMD
()

Помогите настроить Ubuntu Server 9.04.

Доброго времени суток. В данный момент занимаюсь установкой и настройкой серверной Ubuntu на платформу AMD Geode Lx. Есть ряд вопросов, которые буду задавать в этой теме, надеюсь вы сможете мне помочь, на другом форуме не смогли. 1)Мне необходимо написать скрипт который загружал бы поочередно модуль fbcon, затем модуль lxfb, затем настраивал ethernet, запускал xorg, а уже потом запускал пользовательскую программу. Все команды прописал в /etc/rc.local Пишу след.образом:

modprobe fbcon

modprobe lxfb

dhclient eth2

startx

/var/programma/prog

до запуска программы все идет номрально, программа не пускается. Иксы работают через фреймбуффер. Проблема в следующем, при такой схеме загрузки, не возможно выйти из иксов в терминал, по команде exit попадаешь в черный экран, без приглашения командной строки, но со стандартным потоком вывода. Можно перейти в другой терминал Alt+F2 и т.д. и из него давать команды. Но при попытке дать команду на выключение или перезагрузку системы, комп зависает. Такой проблемы нет если не подгружать модули и не запускать иксы. Соответственно проблема в попытке Usplash запуститься при работающих модулях фреймбуффера.

Когда загружаю модули и иксы вручную, то затем могу легко выйти из иксов в терминал без открытия нового, но перезагрузить систему без зависания все равно не могу. По сему вопрос номер 1: Как правильно написать скрипт чтобы проходила загрузка всех модулей, иксов и программы. И как затем остановить используемые модули ядра, перед началом перезагрузки/выключения. Спасибо!

AnMD
()

RSS подписка на новые темы