LINUX.ORG.RU

Сообщения zloy_starper

 

Присоветуйте, чем бы рисовать графики в режиме реального времени.

 ,

Собственное задачка проста, как 5 копеек. Нужно отрисовать простенький график, на котором будут отображены частоты возникновения различных событий. Тут подошел бы и GNU Plot. Но надо через каждую дельта Т «освежать» график. С GNU Plot это будет выглядеть не очень хорошо. Какие еще есть альтернативы?

zloy_starper
()

Помогите разобраться с u-boot

 

Предположим, что я хочу стартануть систему таким образом: bootm ${kernel_addr} ${ramdisk_addr} ${fdt_addr}

Это означает, что по указанным адресам уже должны лежать соответственно ядро, рамфс и dtb. Если в железке есть флэшка, в которой прошиты по соответствующим смещениям эти три компонента так, что в общем адресном пространстве они отображаются по указанным трем адресам, то по большому счету такая команда запустит систему. Я правильно понимаю?

Теперь вопрос, а зачем еще нужна команда fdt применительно к bootm? Ведь fdt addr ничего никуда не грузит, а только сообщает адрес dtb. Т.е. если я указываю в bootm адрес dtb, то fdt тут уже лишняя?

Следующий вопрос, правильно ли я понимаю порядок загрузки с внешних источников. В этом случае нужно загрузить в память по соответствующим адресам уже в ОЗУ ядро, рамфс и dtb. А затем опять соответственно запускать bootm только теперь с правильными адресами в ОЗУ. Верно?

zloy_starper
()

Никак не могу понять, как с помощью file/libmagic определить тип Microsoft Word

 

По сути это ведь XML, положенный в zip-архив. Именно так эта хрень и определяется. Т.е. как архив. Ну или, если попросить просматривать архив, то как XML. Но всякие файл-менеджеры в Gnome/Xfce и прочие определяют такие файлы именно как Microsoft Office документ. И в самом magic-файле данный тип есть.

zloy_starper
()

Почему у потока меняется ID?

 ,

По мере выполнения потока в некоторый момент вдруг меняется его ID. Иными словами с некоторого момента времени pthread_self() начинает выдавать не тот ID потока, что был изначально. Причем новый ID по значению равен младшей части изначального. Что-то не пойму, как такое может быть. И даже не соображу пока, где искать ошибки.

zloy_starper
()

Можно ли определить условия компиляции отдельного модуля с помощью autoconf?

 

Предположим, к примеру, в состав исходников входят модули mod1.c, mod2.c.

Можно ли как-то задать в скриптах возможность выбора режимов сборки, чтобы в одном режиме компилировался только mod1.c, а в другом и mod1.c и mod2.c?

zloy_starper
()

Как с помощью dbus-send получить от UDisks2 доступные интерфейсы?

 ,

Что-то никак не соображу. Подскажите. Например, чтобы получить для какого-нибудь объекта /org/freedesktop/UDisks2/block_devices/ все доступные на текущий момент интерфейсы типа Filesystem что нужно послать через dbus-send?

zloy_starper
()

Как отработает rename перемещение каталогов с разных устройств?

 ,

В простейшем случае все понятно. Если старое и новое имя файла располагаются на разных устройствах, операция не будет выполнена и будет выдан код ошибки EXDEV. А если перемещается каталог? И при этом новое и старое путевые имена располагаются на одном устройстве, но некоторые ветки старого путевого имени каталога располагаются на другом устройстве. Ну, скажем для примера, стал я перемещать каталог media из /var/run в /root. /root и /var/run/media/user1/usbflash принадлежат одному устройству, а все что далее за ubflash - уже другому. Ядро сначала «пройдет» по всему дереву и сразу выдаст ошибку? Или возможен некий вариант с менее предсказуемым результатом?

zloy_starper
()

Куда может «утекать» свободное место на диске?

Некоторое время назад у меня после старта ОС стало всплывать сообщение о том, что в корневой ФС осталось мало свободного места. Места становилось все меньше и меньше при том, что никаких новых пакетов я не за это время не устанавливал. Удалил кое-какие ненужные пакеты. Но через некоторое время свободное место опять сократилось. Сейчас вообще свободно 100К. И это при том, что в последнее время даже апдейты не ставил. Корень, var и home у меня на разных разделах. Поэтому ничего, кроме того, что я подцепил что-нибудь нехорошее из Инета, в голову не приходит. Но таки может дело не этом? Может это чудеса ext4, к примеру? Может что-то поломалось, и у нее журнал забивается чем-то. Что подскажите коллеги? Где бы что бы покопать?

zloy_starper
()

Как использовать ядерные криптосредства из user space?

Потыкал немного в Гугл, но что-то ничего не нашел. Я так понял, что единственный вариант - это слепить модуль ядра, который с одной стороны будет задействовать CpyptoAPI ядра, а с другой иметь интерфейс с юзерспейс через procfs, или char устройство.

zloy_starper
()

А каковы могут быть уровни сигналов у SPI-интерфейса?

 

Хочу попробовать почитать флэшку с SPI-интерфейсом. Подключить ее хочу к Wandboard. Однако, смущает, что в доке на Wandboard указано, что на разъеме SPI выведено питание +5В. У флэшки разумеется питание +3,3В. Вот и задумался. Может SPI-интерфейсы разные бывают в плане величин уровней сигналов? Не спалю ли я флэшку?

zloy_starper
()

1-wire, I-Button - как лучше работать с этим хозяйством?

Надо бы научиться читать, а возможно и писать в I-Button. Есть соответствующая библиотека от производителя этого хозяйства.Но я так понимаю, что она работает с специальными контролерами, которые реализуют интерфейс USB-1W, или COM-1W. И насколько я понимаю, именно в этих контролерах реализована логика формирования всех сигналов 1W для конкретных типов устройств. С другой стороны в Инете есть схемки переходников COM-1W на нескольких резисторах и диодах. Но с такими переходниками указанная выше библиотека работать не будет. Так? Надо будет реализовать программно формирование (и анализ) на выходе COM-порта последовательности сигналов с нужными фронтами импульсов и пр. дребедень. К GPIO устройство 1W вообще нельзя подцепить, т.к. у 1W и передача данных и прием идет по одному проводу, а у GPIO приемник и передатчик разделены.

Т.е. получается, если я прав и ничего не упустил, то альтернативы две: 1. относительно просто пишется софт, но нужна железка за немалую денежку (применительно к одной копеечной микросхеме и маленькому куску гетинакса я считаю, что цена ломовая); 2. относительно сложно пишется софт, но железка делается на коленке на копейки.

Или есть еще варианты?

zloy_starper
()

Помогите разобраться с radare.

Что-то никак не могу найти, какие вообще могут быть значения различных конфигурационных опций. Может у кого-нибудь есть описание.

Ну вот в частности. Пытаюсь ковырять ROM BIOS платы расширения. Дизассемблер выдает местами что-то похожее на правду, а местами ерунду. Как ему задать архитектуру x86 16 битовый режим? Установил asm.arch=x86 asm.cpu=8086. Но что-то все равно не то получается.

zloy_starper
()

Чудаки с Мосэнергосбыт генерируют «кривой» pdf.

Приходится пользоваться личным кабинетом на сайте Мосэнергосбыта. Так как частенько квитанции от них запаздывают, а платить нужно, то приходится у них на сайте распечатывать квитанцию. Генерится она в pdf-формате (слава богу, хоть догадались не в Word-е ее генерить). Так вот pdf этот получается у них кривой - все кириллические символы отображаются символами псевдографики (т.е. различными уголками). Ничем под Linux корректно отобразить этот pdf не получается. Однако, если копировать текст из этого pdf в любой текстовый редактор, то в редакторе он отображается правильно. Т.е., судя по всему, кодировка текста правильная. Может они туда шрифты встраивают кривые, или криво. Честно скажу, что не знаток pdf. Так, что пока не пойму, во что разработчиков сайта «тыкать мордой», дабы они исправили свои косяки. Писать им в духе «у вас ничего не работает» не хочется. Желательна конкретика. Adobe Reader эти квитанции показывает нормально.

zloy_starper
()

flex: можно ли обработать строку с пробелами?

Когда нужно парсить конфигурационный файл, то обычно устанавливается правило пропуска пробелов, табуляторов и символов окончания строк, т.к. эти символы являются разделителями между командами. А что делать, если нужно пропарсить параметр, который может содержать строку символов, в которой могут быть пробелы? Ну например что-то типа такого:

Type «Command» {Label «Open File»; Action «Open»;};

где для типа Label нужно считать строку «Open File».

zloy_starper
()

lex/yacc: Что-то не пойму, как встроить сгенерированный код.

Что-то никак не ущучу, как встроить в свой код то, что нагенерят lex и yacc. Ну то есть, какую функцию нужно дергать, чтобы в итоге отпарсился нужный мне файл? Ведь я так понимаю, что lex читает из стандартного ввода и вызывает по мере надобности yacc-ие процедуры. И как ему указать, какой файл парсить?

zloy_starper
()

Что это такое - GCC уже при компиляции находит buffer overflow?

Получил при компиляции такую ошибку: error: call to __builtin___sprintf_chk will always overflow destination buffer

Ужель дошел до этого прогресс?

zloy_starper
()

autotools: подскажите, как включить в состав распространяемых исходников не устанавливаемые файлы данных.

Вместе с исходниками библиотеки идут примеры ее использования. И все вроде бы нормально: библиотека компилируется и устанавливается вместе с хидерами, примеры только компилируются. Но с исходниками примеров также прилагаются файлы с данными. Они разумеется не компилируются и не должны устанавливаться. Если я эти файлы с данными нигде не указываю, то они, естественно, не включаются в архив (make dist). Попробовал создать отдельный каталог и там создал Mailfile.am, в котором прописал эти файлы в noinst_DATA. В configure.ac дополнил AC_CONFIG_FILES соответствующим каталогом. Теперь make dist создает в архиве в том числе и этот каталог, но без файлов данных. Чего еще не хватает?

zloy_starper
()

Кто знает, как в GTK, или в других тулкитах, реализована прокрутка списков?

Возьмем, скажем, виджет многоколоночного списка (в разных тулкитах он по разному зовется, но это не суть). При прокрутке,вероятно, логичнее всего отображаемую во вьюпорте часть картинки сдвинуть путем простого копирования пиксмапа. Новую часть списка, которая при прокрутке появляется, надо отрисовать. Самая затратная по времени операция - это отрисовка текста. Если список большой, а окно «распахнуто» широко, то при интенсивной прокрутке на компе с квелым процессором и видео картой (не современном компе) эта отрисовка может тормозить. Однако, даже на убогом компьютере под GTK (GTK в данном случае чисто для примера) списки прокручиваются плавно и без задержек. Это наводит на мысль, что уже готовые куски отрисованных строк списка кэшируются. Но с другой стороны, если список очень большой, то нельзя же его весь закэшировать в пиксмап. И тогда при интенсивной прокрутке мы получаем опять прямую перерисовку кусков текста. В чем может быть секрет? Как думаете?

zloy_starper
()

Где в Debian libpthread?

Компилирую софт под Debian-ом. Получаю ошибки типа:

../lib/etna_bswap.o: In function `etna_bswap_create':
/home/debian/etna_viv-master/src/fb/../lib/etna_bswap.c:117: undefined reference to `pthread_create'
../lib/etna_bswap.o: In function `etna_bswap_free':
/home/debian/etna_viv-master/src/fb/../lib/etna_bswap.c:131: undefined reference to `pthread_join'
collect2: ld returned 1 exit status
make[1]: *** [rotate_cube] Error 1

Т.е. вроде как загрузчик не находит указанные функции в библиотеках. Погуглил. Нашел, что у Debian-а вроде как pthread интегрирована в libc.

Вот только непонятно, что делать то. libc то должна автоматически цепляться. В чем тогда проблема и как ее решать?

zloy_starper
()

Как через DBus вызвать метод Unmount (IN a{sv} options)

a{sv} - это вроде как Dictionaries. А вот от sv у меня уже мозги в трубочку сворачиваются. Ну первое значение строка, а дальше variant что-ли? И как это оформить? Пробовал так:

dbus-send --system --dest=org.freedesktop.UDisks2 --type=method_call --print-reply /org/freedesktop/UDisks2/block_devices/sdd1 org.freedesktop.UDisks2.Filesystem.Unmount array:string:variant:"",""

И подругому по-всякому. Получаю ошибку типа:Type of message, `(as)', does not match expected type `(a{sv})'

Или же, что variant неизвестный тип.

zloy_starper
()