LINUX.ORG.RU

Сообщения CrossFire

 

Написать скрипт, превращающий Ubuntu на Jetson Nano в Readonly

Есть Nvidia Jetson Nano, к ней подключен сенсорный дисплей, и крутится самописная программа на Qt в режиме киоска.

Требуется обеспечить надёжность работы ОС в условиях отключения питания по несколько раз в день. В данном случае хардварные меры типа ИБП не подходят, и хочется сделать это программно. Нужно как-то модифицировать систему от Nvidia, чтобы она была в Readonly, кроме одной папки с программой.

Объем памяти на SoC не такой уж большой, и было бы неплохо заодно прикрутить какой-нибудь zram, если уж система будет отъедать больше, чем обычно.

Полное описание

Контакты в профиле.

 , , , ,

CrossFire
()

Превратить систему в подобие live образа (RO)

Есть Nvidia Jetson Nano, к ней подключен сенсорный дисплей, и крутится самописная программа на Qt в режиме киоска.

Требуется обеспечить надёжность работы ОС в условиях отключения питания по несколько раз в день. В данном случае хардварные меры типа ИПБ не подходят, и хочется сделать это программно. Использовать ванильный образ Ubuntu не получится, так что нужно как-то модифицировать систему от Nvidia, чтобы она была в Readonly, кроме одной папки с программой.

Подскажите, как лучше организовать такое.

 , , ,

CrossFire
()

Настройка кросс-компиляции Qt, на AMD64 под ARM64 [Nvidia Jetson]

На целевой системе стоит Ubuntu 18.04, там в репозитории Qt 5.9, которая прекрасно работает.

Хочется более новую версию Qt и сборочный сервер на базе AMD64, чтобы по итогу работало не хуже, чем версия из репозитория. При необходимости предоставим доступ к железу, или скопируем с целевой системы нужные файлы.

Полное описание

Контакты в профиле.

 , ,

CrossFire
()

Не работает цифровой блок в Qt приложениях

Если точнее — цифры не вводятся, работает как стрелки. Что странно, одинаковые симптомы и в 16.04 и в 18.04, а в Gtk приложениях работает.

Может надо как-то по-хитрому настроить метод ввода? Нашел похожую проблему в багтрекере Qt, но там ничем не закончилось.

 , ,

CrossFire
()

Набор для разворачивания Phabricator на собственном сервере

Ожидается архив, в котором будет:

  • Скрипт на установку нужных пакетов. Он есть, но только для apache и не факт, что работает. Как минимум не отрабатывает автоматическое добавление репозитория, приходится это делать руками.
  • Конфиг веб-сервера (на ваш выбор из списка поддерживаемых).
  • Инструкция по дополнительным действиям: куда складывать конфиги, какие дополнительные действия нужны, например сопряжение с БД.
  • Инструкция по обновлению на новые версии.

Контакты в профиле.
Официальный гайд тут.
Целевая платформа — VPS с чистой Ubuntu 16.04.

 phabricator,

CrossFire
()

Установка образа большого размера (4Gb+)

Привет,

Есть задача бэкапить систему через remastersys, в системе установлен докер с контейнером большого размера (4Gb+).

Стоковый remastersys умеет создавать образы только до 4Gb, но это дело поправимое, если добавить пару ключей в mkisofs:

mkisofs -allow-limited-size -iso-level 3

Проблема возникает при попытке загрузиться с получившегося образа:

BusyBox v1.21.1 (Ubuntu 1:1.21.0 1ubuntu1) built-in shell (ash) Enter 'help' for a lost of built-in commands.

(initramfs) mount: mounting /dev/loop0 on //filesystem.squashfs failed: invalid argument
Can not mount /dev/loop0 (/cdrom/casper/filesystem.sqashfs) on //filesystem.squashfs

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

Есть мысли как это можно проверить и поправить?

 , ,

CrossFire
()

Скорость анимации в QML на linux (Qt 5.7+)

Есть подозрение, что анимация на Linux сломана уже почти год, как минимум с версии 5.7, но по какой-то причине баг еще никто не зарепортил.

Минимальный пример можно взять в QTBUG-59300, на свежих проприетарных драйверах NVidia работает в несколько раз быстрее чем нужно, по остальным видеокартам вопрос.

Upd. Воспроизводится только если воткнуть монитор в вывод на материнке, при подключении напрямую к видеокарте все работает хорошо.

 ,

CrossFire
()

Потеря пакетов в локальной Wi-Fi сети

Картина такая: частный дом, левых сетей не видно.
Карточки: Atheros AR9485 и Realtek RTL8187 на одной машине, что-то встроенное в Mac Mini на другой.
Роутеры: Huawei E5373 и Zuxel Keenetic 4G III со свистком Yota
ОС: Lubuntu 16.04, macOS 10.11, Windows 7

Обе машины находятся за тонкой стенкой, в 8 метрах от роутера, соответственно уровень сигнала приличный.

---------------------------------

Пинг до роутера показывает огромную потерю пакетов, от 30 до 90%:

Если подключен Huawei, то все очень плохо на маке (большую часть времени), но вполне терпимо на второй машине.
Если подключен Zuxel, то интернет на маке работает (pl 30%), а вот на второй машине гораздо хуже (pl >50%)

Замеры делал отключая второй роутер. Потери пакетов и пинг между машинами соответственно еще хуже.

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

Zuxel куплен где-то полгода назад, с ним сразу после покупки были некоторые проблемы (просто отваливался, приходилось перезагружать руками), но последние несколько месяцев работал в режиме репитера без особых капризов.

Если положить Huawei в полуметре от машин, без препятствий, то работает сильно лучше, но от идеала далеко, причем с линукса на мак потерь 20%, а у одновременного обратного пинга показало около 5%.

 ,

CrossFire
()

Объем выделенной памяти на старте QML приложения (под Windows)

Привет, проблема такая: на разных машинах одно и то же приложение на старте выделяет себе разное количество памяти, грубо говоря от 80 до 500 Mb. На одной машине всегда одно и то же. Явной корреляции между объемом ОЗУ и выделяемой памятью нет, может на 8 Gb занимать 160 Mb, может на 4 Gb занимать 500 Mb. Но если взять виртуалку, и дать ей всего 512 Mb, то приложение ест 80 Mb. На macOS ест 58 Mb.

Внимание вопрос: как можно ограничить аппетиты JS движка по выделению памяти про запас?

 ,

CrossFire
()

Использование UPnP за NAT провайдера (серый IP)

Добрый вечер!

Возникла необходимость использовать UPnP в одном проекте, нашел несколько библиотек, и на белых IP вроде как все работает. Возможно ли использование этой технологии на серых, или нужны какие-то дополнительных хаки?

 , , , ,

CrossFire
()

Qt Developer

Требуется разработчик на С++/Qt, удаленно.

Нужно знать С++ и Qt, желательно QML.
OpenCV, node.js — будут плюсом.

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

ЗП зависит от уровня кандидата, но наверное ниже чем в ДС, поэтому кандидаты из ДС 1/2 будут рассматриваться во вторую очередь.

Пишите в ЛС Контакты в профиле

 

CrossFire
()

Бенчмарки ПЭВМ «Эльбрус 401‑PC»

  • CoreMark;
  • 7-Zip;
  • OpenSSL;
  • UnixBench;
  • Pgbench (Postgresql);
  • LCC, GCC;
  • Java Micro Benchmark;
  • SPECjvm;
  • SciMark;
  • JavaLinpack;
  • SunSpider, JetStream, Peacekeeper;
  • Mplayer;
  • FIO, DD;
  • iPerf;

https://geektimes.ru/post/270390/

Модераторам: не хотел чтобы затерялось в толксах, но если считаете нужным — переносите.

 , ,

CrossFire
()

Сборка OpenSSL в динамическую библиотеку под OS X

Собственно сборка как раз не проблема, проблема в том, что получившиеся библиотеки (как мои, так и из mac ports) ссылаются сами на себя, точнее на их предполагаемое местоположение (хотя там может ничего и не быть). А мне хотелось бы положить их в бандл с приложением.

Примеры, чтобы было понятнее:

otool -L /opt/local/lib/libssl.1.0.0.dylib 
/opt/local/lib/libssl.1.0.0.dylib:
	/opt/local/lib/libssl.1.0.0.dylib (compatibility version 1.0.0, current version 1.0.0)
	/opt/local/lib/libcrypto.1.0.0.dylib (compatibility version 1.0.0, current version 1.0.0)

otool -L libcrypto.1.0.0.dylib 
libcrypto.1.0.0.dylib:
	/usr/local/ssl/lib/libcrypto.1.0.0.dylib (compatibility version 1.0.0, current version 1.0.0)

install_name_tool помогать отказывается.

Upd: Решилось через --openssldir=«@rpath»
Скрипт для автоматизации

 , ,

CrossFire
()

QString.split() и пробелы

Дано:

Строка, в которой присутствует два типа разделителей: один и два пробела.
Нужно получить сначала список строк разделенных двумя (и более) пробелами, а потом список разделенных одним пробелом.

Код:

    // Два пробела
    QStringList longList = buffCode.split(QRegExp("\\s{2,}"));
    for (auto longStr : longList) {

        // Один пробел
        QStringList shortList = longStr.split(' ');
        for (auto shortStr : shortList) {
            qDebug() << shortStr;
        }
    }
    qDebug() << longList;
По одному пробелу сплитятся нормально — по нескольким ни в какую, даже гугл уже устал.

Upd: Вылетело из головы, что simplify грохает лишние пробелы не только в начале и в конце, но и в середине строки.

 , ,

CrossFire
()

Правильная работа с QQmlListProperty

Хочется понять, как правильно работать с сабжем. Раньше применял (да и на просторах интернета чаще всего встречается) такой вариант:

class STDataProvider : public QObject
{
    Q_OBJECT

    Q_PROPERTY(QQmlListProperty<STTask> tasks READ tasks NOTIFY tasksChanged)

signals:
    void tasksChanged(QQmlListProperty<STTask> arg);

public:
    STDataProvider(QObject *parent = 0) {
        // Наполнение листа _tasks
    }

    QQmlListProperty<STTask> tasks() {
        return QQmlListProperty<STTask>(this, _tasks);
    }

private:
    QList<STTask*> _tasks;
};
Но в документации написано, что:

Generally this constructor should not be used in production code, as a writable QList violates QML's memory management rules. However, this constructor can be very useful while prototyping.

 ,

CrossFire
()

Посоветуйте VPS в России

Сегодня при оплате VPS за 5 баксов на DigitalOcean Paypal сконвертировал по курсу 375 рублей, и подумалось, что тоже самое железо у нас может стоить значительно дешевле. Потому сабж.

P.S. Linux тут при том, что на сервере будет крутиться именно он.

 , , ,

CrossFire
()

Сборка приложения на Qt 5 и темы Gtk

Есть проблема, Qt 5 приложения не подхватывают текущую тему Gtk — например Qt Creator, скачанный с сайта Digia и программы запускаемые в нем. Есть ли способ решить эту проблему во время компиляции, без участия пользователя (и приложений типа Qt Config).

 ,

CrossFire
()

Ищу работу: Разработчик C++ / Qt, проектировщик интерфейсов (удалённо)

Использую фреймворк Qt (C++) как основной два года (до этого писал на Gtk2), вот уже полгода экспериментирую с Qt Quick (JS).

Увлекаюсь дизайном интерфейсов и юзабилити, неплохо знаю Gimp. Почти полгода опыта коммерческой разработки на Objective C.
Для автоматизации рутинных задач пишу скрипты на Python. Занимался сборкой дистрибутивов программы под разные ОС, в том числе .deb пакетов.

Английский язык на уровне чтения/перевода технической документации. С 2009 года работаю в unix-like ОС: Linux, OS X.

Проходил курсы по администрированию сетей в Cisco Networking Academy.

Полное резюме тут, yakov.eremin [at] gmail.com.

 , , ,

CrossFire
()

Свяжи свитер — спаси пингвина!

!Ъ: http://www.adme.ru/vdohnovenie-919705/svyazhi-sviter-spasi-pingvina-648355/

Австралийский фонд спасения пингвинов призывает помочь животным.

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

За всю свою историю активисты и волонтеры придумали уже более 300 различных дизайнов джемперов. «В этой работе очень много места для творчества», — говорит сотрудник Лин Блом. Для желающих помочь он составил целое руководство.

CrossFire
()

Сервер? Made in Russia!

http://habrahabr.ru/company/globatel_ltd/blog/210022/

Осенью прошлого года к нам обратилась компания «Рикор.ИТ» с предложением протестировать их сервера. Поначалу мы отреагировали стандартно — очередной сборщик «супермикры» пытается поразить ценой. Но чем больше мы с ними общались, тем больше было понятно, что это абсолютно нестандартное предложение. Во-первых, предлагались MicroCloud'ы. Во-вторых, процессоры ARM. В-третьих, утверждали, что все это производится в Арзамасе на собственном производстве. Надо сказать, что сервер оказался легче чем кажется и больше чем ожидалось. Длина 800мм ровно — а вот небольшой вес обусловлен авиационным алюминием из которого изготовлен корпус.

Технические характеристики:

Шасси 	        2U 19" длина 800мм
Кол-во лезвий 	10
Процессор 	ARM Marvel Armada XP MV78460 (4 ядра 1,6Ггц)
HDD 	        до 4х 2.5'' SATA HDD на одно лезвие (всего 40)
ОЗУ 	        до 16GB ECC
LAN 	        1Gb/s
Raid            0, 1, 5
CrossFire
()

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