LINUX.ORG.RU

Сообщения mittorn

 

Есть ли достойные аналоги chkdsk и драйверов FAT32 из windows в linux?

 , , , ,

vfat, который в ядре - позор, как и fsck.vfat, неспособный исправить попрченную ядерным драйвером ФС.

mittorn
()

Почему нет зоопарка дистров у FreeBSD и других Unix-ОС кроме Linux?

 , ,

Сабж
Где же это изобилие пакетных менеджеров, кучи сборок и клонов, версии для хомячков с графическим установщиком. Почему только у Linux такая участь?

mittorn
()

Как собрать прокси сервер статически?

 , , ,

Как известно, gethostbyname в статических бинарниках не работает.
Какую dns-библиотеку лучше использовать для http-proxy?
Пока что ни в одном proxy не получилось заставить работать dns при статической линковке.
Может, есть прокси со встроенным ресолвером?

mittorn
()

Как переключить mmc-host в режим rw?

 , ,

После очередного перегрева завис mmc-host с корнем. К счастью был открыт терминал от root и команда echo работала, смог сделать s2ram. В результате mmc-хост перезапустился и чтение происходит успешно, но корень теперь ro и не хочет перемонтироваться.
mount: cannot remount /dev/mmcblk0p3 read-write, is write-protected
Запись в блоки разрешена, для mmc в sysfs никаких переключателей. Куда копать?

mittorn
()

ip forward без netfilter

 ,

Имеется старый телефон с android 1.5 и gpl-violating ядром без netfilter.
Есть функция раздачи инета через usb (использует ip-forward с dhcp), работала.
На данный момент usb нет и не будет (выдрана дорожка с платы), так что проверить, каким образом оно работало возможности нет.
Сейчас пытаюсь раздать интернет через bt. rfcomm и pppd поднялись с обоих концов, ping идёт.
Включил ip-forward, но в интернет попасть не могу., маршрутизация не идёт. iprables просит сделать insmod, но нужных модулей нет (хотя есть даже модули usb-хоста, которого тут (pnx6715) не предусмотрено. Так как пробросить сеть без iptables? Может, pppd можно как-то перенастроить? Нашёл AT-модем, попробовал пробросить его, но это ломает всю телефонию, подключиться при этом не уалось.

mittorn
()

Не хватает шрифтов в Abiword

 ,

Поставил Abiword, открыл doc файл, но не вижу специальных символов. Вот пример символов: 
Куда копать?
Как определить, какие именно шрифты нужны?

mittorn
()

Opera TV

 ,

Были ли реально телевизоры с ней?
Интересует возможность достать из прошивок arm-бинари, если они вообще существуют.

mittorn
()

Наболевшие багофичи firefox

 ,

Как только сталкиваюсь с медленным GSM интернетом, появляеьтся желание снести этот браузер.
1. Кэширование. firefox судя по всему не хочет хранить кэш где-нибудь кроме RAM. Половина сайтов (в т.ч лор) не загружается, пока не пропишешь 127.0.0.1 ajax.google.com в hosts, если они в этй сессии не были загружены.
2.Статусбар. Пишет всякую ересь. После строчки «Найдено <hostname>» может выдавать ошибку поиска домена (WHAT???)
При попытке загрузить страницу иногда пишет «Остановлено». Иногда вообще ничего не пишет. После переключения вкладок статус зачастую исчезает или там опять какой-нибудь бред.
3. При открытии страницы в новом окне/вкладке скриптом в строке адреса написано about:blank, хотя загружается совсем другая страница.
Думаю, список можно продолжать.

Есть какае-нибудь идеи по исправлению этого всего?
Может, оно поправлено в форках?
В seamonkey со статусом ещё хуже.

mittorn
()

Отключение устройства без отмонтирования ФС

 , ,

В связи с нехваткой места купил 16гб SDHC карту SP 10 класса (ранее использовалась такая же на 8). На карте находится корень.
Иногда при интенсивном чтении/записи карточка зависает. В dmesg ничего подозрительного не сыпет, просто застрявает. Помогает отключение и подключение карты снова (если это не корень). Однако в корне отключение приводит к понятным последствиям: корень пустеет и всё сыпется.
Можно как-нибуль устроить блокировку и ожидание повторного подключения при отключении корня?

mittorn
()

Как происходит передача аргументов в функцию (arm)?

Как устроен этот процесс?
Пытаюсь узнать, какие аргументы передаются функции SDL_main из соседней функции в бинарнике.
Должны передаваться фальшивые argc и argv. Первый аргумент всегда равен единице (видно в дизассемблере), на второй должен подаваться массив из аргументов.
По всей видимости аргументы перед переходом скидываются в несколько первых регистров.
Чтобы перехватить аргументы, я изменил адрес в инструкции перехода, указывающий на внешнюю функцию.
В gdb получаю, что первый аргумент всегда 1, как и должно быть, а второй равен реальному argv.
Если пробросить аргументы в ту функцию, куда они назначались, программа ведёт себя, будто их и не было (крашится через некоторое время), хотя изначально выполнение проходило дальше.

mittorn
()

ltrace on arm: УМННР

 , ltrace, умннр

У кого-нибудь работает сабж?

Уходит в цикл на первой встреченной функции, повторяя такую строку (если податтачитсся к процессу, то функция будет другой):

__libc_start_main(0x1d114, 1, 0xbeadb834, 0x87f00 <unfinished ...>
Через некоторое время выдаёт:
callstack_push_symfunc: Error: call nesting too deep!
и вместе с трассируем процессом падает по SIGABRT. cortex-a8, ltrace-0.7.3, linux-sunxi-3.0.76

mittorn
()

Как написать AIGLX драйевер?

 , regal, ,

Где-нибудь есть литература о том, как сделать сабж?
Есть библиотека Regal, которая может транслировать opengl в gles и обратно, но она не умеет эмулировать glx (что можно реализовать отдельно). Хорошо бы её прикрутить к иксам, чтобы использовать стандартную реализацию libGL.
Гугл пока не помог, видны только вопли по поводу настройки дров.

mittorn
()

Проблемы со сборкой glibc: multiple definition of `__libc_multiple_libcs'

 , ,

armv7, cortex-a8, hardfloat
Лог ошибки есть в гугле по первой строчки заголовка, решения в осовном - смена тулчейна, мультилиба или сфлагов. Как причину пишут баг оптимизации в gcc 4.7, однако похожие логи и на более старых версиях, и даже в 2003 году в начальных сборках ntpl упоминаются.
Собираю glibc-2.15-r3 из флагов включен только debug
CFLAGS="-g -march=armv7-a -mfloat-abi=hard -mfpu=neon -ftree-vectorize -mvectorize-with-neon-quad -mcpu=cortex-a8 -mtune=cortex-a8 -mthumb -O2 -pipe -fstack-protector --param=ssp-buffer-size=4 -ffast-math"
gcc 4.7.3-r1
Та что нужно исправить, чтобы она собралась?
Рыться в коде сильно долго/не охота, перебирать разные флаги на cortex-a8 - долго/не экологично.
Нужно собрать с поддержкой отладки т.к весь стек вызовов постоянно теряется а каком-нибудь printf, в результате gdb не возможно пользоваться.

mittorn
()

Как найти инструкцию, бросающую SIGILL?

 , vfp3, vfp4

Пробовал через gdb disassemble, но он падает с сегфолтом на первой же vfp инструкции (и чем же отлаживать отладчик?)
Обычным objdump'ом инструкции видно, но как узнать, где именно проблема?
предположительно причина в том, что код собран под vfp4, а у меня vfp3. Возможно, превышен номер регистра или ещё что-нибудь подобное.

mittorn
()

arm - эмуляция sdiv/udiv

 , , sdiv

Сделали arm несколько удобных опциональных инструкций.
Есть несколько бинарников, в которых используются эти инструкции. Хочу их изменить, чтобы они запускались так же и на cortex-a8.
Казалось бы, всё просто: заменить sdiv op0 op1 op2 на:
mov r0 op1
mov r1 op2
bl addr<div_func>
mov r0 op0
и определить div_func из какой-нибудь библиотеки. Но что делать с регистрами? Ведь они могут после понадобиться? Да и такие действия тоже не всегда сработают (напр. для r2 r1 r0) Может, со стеком можно что-то сделать?
И я пока не совсем понял, как влинковать эмулирующую функцию.

mittorn
()

Source linux-arm

 , ,

Вышедшая Half-life 2 на android (для Tegra 4) довольно хорошо враппится: внутри врапперы, эмулирующие более glibc-подобное окружение поверх ведра. Для графики и управления используется SDL2. Т.к valve часто делают проверку на нулевой указатель, думаю, для андройдоспецифичных функций можно делать реализации в виде return 0. Если заставить графику работать на mali, думаю, даже на кубиках можно будет играть (потребуется упрощение детализации текстур).

mittorn
()

Дамп оригинальной прошивки Jolla Sailfish

 , ,

Что-то я нигде не могу найти прошивку Jolla phone, чтобы разобрать. Нашёл только репы, выдающие 401 по https, судя по всему ключ выдаётся при регистрации устройства. В интернете нашёл несколько обещаний выложить, но так никто и не выложил. Или это нарушает какую-то лицензию? В таком случае этой лицензии я не видел.

mittorn
()

Эмуляция NetworkManager API

 

Пытаюсь избавиться от steam runtime. Обнаружил, что он слинкован с libnm. Есть какие-то способы исправить это без установки сего поделия?

P.S сделал «враппер»:

http://pastebin.com/4WFMbXEc

Смешно, но со steam'ом прокатило.

Теперь интересно, как заставить его ещё выдавать, что подключение восстановлено.

P.P.S Это исправило баг https://github.com/ValveSoftware/steam-for-linux/issues/971 Steam с неработающим автопереподключением без NM.

mittorn
()

Единый реестр

 ,

Понимаю, что танцпол, но вынужденный.
В единый реестр занесены адреса, принадлежащие многим хостингам, в результате при попытке зайти, например, на bouncyball.eu или http://www.issteamdown.com получаю след. страницу: http://pastebin.com/CPiUX9mv (пример исходника). Проверка по хостнейму на предложенном сайте выдаёт : Искомый url не значится в реестре по основаниям, предусмотренным статьей 15.3 Федерального закона от 27 июля 2006 года No 149-ФЗ
Где-нибудь есть динамически пополняющийся список адресов, которые нужно проксифицировать?

mittorn
()

diff не работает

 , , sun7i

Пытаюсь сравнить 2 участка кодя ядер разных версий. Исходники хранятся на ntfs (сейчас по другому не получается к сожалению, надо чистить разделы).
diff выдаёт такое сравнение файлов:
diff -d -U 3 -H -B -E -p -t -r -N -x '*.o' -x '*.bin' -x '*.elf' -x '*.lst' -x '*.code' -x '*.map' linux-3.3/arch/arm/mach-sun7i/pm/standby/suspend.xn linux-3.4/arch/arm/mach-sun7i/pm/standby/suspend.xn
--- linux-3.3/arch/arm/mach-sun7i/pm/standby/suspend.xn 2013-03-20 00:28:38.000000000 +0600
+++ linux-3.4/arch/arm/mach-sun7i/pm/standby/suspend.xn 2013-07-17 17:44:29.000000000 +0700
@@ -1,22 +1,22 @@
-
-OUTPUT_ARCH(arm)
-ENTRY(main)
-
-SECTIONS
-{
- __suspend_start = . ;
- .text 0x000000000 :
- {
- ./super/suspend/suspend.o(.text.startup)
- *(.text)
- *(.rodata)
- }
-
- .data : { *(.data) }
-
- __bss_start = . ;
- .bss : { *(.sbss) *(.scommon) *(.bss) *(COMMON) }
- __bss_end = .;
- __suspend_end = . ;
-}
-
+
+OUTPUT_ARCH(arm)
+ENTRY(main)
+
+SECTIONS
+{
+ __suspend_start = . ;
+ .text 0x000000000 :
+ {
+ ./super/suspend/suspend.o(.text.startup)
+ *(.text)
+ *(.rodata)
+ }
+
+ .data : { *(.data) }
+
+ __bss_start = . ;
+ .bss : { *(.sbss) *(.scommon) *(.bss) *(COMMON) }
+ __bss_end = .;
+ __suspend_end = . ;
+}
Что за?
Что-то я особо не понял, в чём различие. Действительно проблема в переносах. Помогла опция -w

mittorn
()