dlinyj: (Default)
Кратенький гайд самому себе.

Прикупил тут роутер себе, и быстренько его окирпичил неправильной прошивкой. Соответственно, развинчиваем роутер, впаиваем иголки UART и дальше звоним, где у иголок земля (на любой общий провод), подаём питание и смотрим где питание. Оставшиеся два контакта - это RX и TX.

photo_2024-09-08_00-23-53.jpg
Распротрашённый роутер и найденный UART


Итак, УАПП (UART то бишь) мы нашли, подключаем USB свисток, ставим привычное 115200 и ничего не происходит. Что делать дальше?

Задача: определить, живой ли UART и какая на нём скорость. Для мы воспользуемся осциллоскопом.Read more... )
dlinyj: (Default)
В меня не верили, говорили что возможно это даже невозможно, или не будет работать. Но таки это работает, и не только в эмуляции, но и на реальном железе.


Образ, полученный вчера, записан на флешку и успешно стартует.


В предыдущих сериях:
Ещё у людей возникла путаница (в этом видимо я виноват), поскольку проблемы у меня было две и они были разными:

  1. Проблема с определением и работы носителя в BIOS и системе. Не все флешки корректно работают.

  2. Проблема с созданием рабочего образа DOS для 4 ГБ носителя средствами linux.

Поэтому кратко распишу в виде отдельных глав как я разобрался и решил все проблемы. Главная из которых для меня была - это использовать весь объём карточки 4 ГБ для DOS.Read more... )
dlinyj: (Default)
Мне казалось, что это простая и понятная задача, тяп-ляп и в дамках, но потратив два полных дня и всё свободное рабочее время, понял что не всё так просто. А самое удивительное, что нет толковых рабочих мануалов!


Наконец работающий образ, готовый к dd на флешку


В предыдущем посте я ругался на проблемы с CF-картами и сюда же наслаивается другая проблема - сложность создания рабочего образа. Чтобы отделить одно от другого, здесь буду говорить строго о создании рабочего образа (файла), который в последствии можно будет бинарно перенести на CF и всё будет работать.

Казалось бы, что может быть проще: у меня есть точно работающий образ 16 МБ флешки (обратите внимание на разницу между МБ и МиБ, я говорю о МБ и далее всё будет в МБ). Далее можно создать пустой образ CF с помощью команды dd, truncate или mkdiskimage:

dd if=/dev/zero of=4gb.img bs=1K count=3915576 status=progress
truncate --size 4009549824 4gb.img
mkdiskimage 4gb.img 7769 16 63

Все делают разное, но в сути нам пойдёт любой вариант. truncate самый быстрый. И после, казалось бы, делаем вот что:

qemu-system-i386 -hda mydos.img -hdb 4gb.img

Загружаемся с рабочего образа, fdisk под ДОС размечаем всё, и после форматируем полученный диск с переносом системных файлов, командой format d:/s . Всё подробно описано тут.

И всё красиво, элегантно, но это НЕ РАБОТАЕТ. Файлы переносятся, но на диск загрузки потом не идёт...Read more... )
dlinyj: (Default)


Провёл небольшое исследование по просьбе коллеги, на тему того, можно ли dd использовать для измерения скорости чтения-записи с жёстких дисков.

В результате всё свёл в отдельную статью: "Так dd вы ещё не использовали: исследование скорости чтения и записи". Буду рад лайкам и комментам.

Nokia n810

May. 23rd, 2023 03:40 pm
dlinyj: (Default)
Ещё одна забавная железячка проскользнула через мои руки - это планшет Nokia n810. Да, это именно планшет.



Вообще, я уже ковырялся с её младшим собратом - Nokia n800, и помню что производила на меня противоречивые впечатления. И тут за бесценок попался Nokia n810, старший собрать с клавиатурой. Это не телефон, SIM-карту вставить некуда, предшественник Nokia n900, только больше. честный Linux, и весьма забавная железяка. Read more... )
dlinyj: (Default)
Продолжаю заметки на полях.



Так получилось, что у меня сдохла одна система, потом помер винт и виртуалку с Windows умерла вместе с ним. Плюс, на самом деле достаёт собирать прошивку под Linux, потом копировать на виртуаку, тыкать мышкой и т.п. В комментарии к статье Что с памятью моею стало мне посоветовали ПО под линукс для работы с этим программатором.



https://gitlab.com/DavidGriffith/minipro/

Собрался духом, и всё же решил освоить функционал. К сожалению, deb-пакет у меня не собирался, поэтому вместо make install применил checkinstall. Подробно почему нельзя использjвать make install. В общем, оказалось намного удобнее чем под виндой. Read more... )
dlinyj: (Default)
В руки мне попала крайне любопытная железка: Barebone Light System lg8101

  • Процессор 533MHz

  • ОЗУ - 128 МБ

  • Compact Flash 512 Mb.





Железка ещё из тех славных времён, когда даже такую бытовую штуку, как тонкий клиент старались сделать красивой, сделана с любовью. И даже сегодня можно использовать по прямому назначению.Оглядим со всех сторон )
dlinyj: (Default)
Фермер не смог подобрать подходящего эпитета, чтобы охарактеризовать качество навоза.



Решил приобщиться к прекрасному, и разобраться с такой системой сборки как yocta. Много слышал, но никогда не работал. Раньше работал только с системами BuildRoot. В т.ч. и OpenWRT. К билдруту привык, прозрачен, понятен, лёгок, быстро компилируется.

А тут... 60 гигов н жёстком диске, просто титан, компилируется простейшая сборка минимум час, тащит всё откуда может. Жесть, как она есть. И, узнать о проблемах, можно спустя час компиляции, не всё прозрачно и понятно сразу. В общем, с непривычки очень странно. Не все баги грепаются, какой рецепт сломался. Прозрачность своеобразная.

Ладно, может я не прав. В целом, для проекта, который мучаю, альтернатив yocto нет, поэтому продолжаем жрать кактус. Решил начать с маленького: собрать простой проект для BeagleBone Black, что на фото выше. Типа начать с простого проекта, потом научится его обмазывать и т.п. Попробовал несколько мануалов, нифига не работает!!! То есть, собирает, но не грузит (боль, печаль и унижение). Обратите внимание, что в сути проба мануала занимает рабочий день, с учётом парочки перекомпиляций и перепрошивки!
В результате Нашёл неплохой видеомануал, который хоть как-то гарантирует, что всё будет работать.



Делаю всё согласно мануалу, разумеется делаю тот чекаут, с того тага...Дьявол в мелочах )
dlinyj: (Default)
Помните мой пост "В поисках шины I²C на материнской плате". Решил его как-то более-менее оформить, и сделать так чтобы было интересно читать. В результате получилось это.



Оформил всё в виде поста на хабре "Подключаем алфавитно-цифровой экран к VGA". Лайки, комментарии приветствуются.
dlinyj: (Default)
Искал толковый мануал, как накатить ДОС на диск в Linux. Сходу не нашёл, пишу сам.



Так уж получилось, что у меня нет машины где есть живой флоповод, и я решил что должна быть возможность накатить DOS на CompactFlash. Казалось бы, бери dd и в путь, но дьявол, как обычно в мелочах. Не работает такой подход, потому что на старых системах всякие цилиндры, дорожки и т.п. То что будет работать на одной системе, не заведётся в другой. Плюс, я хотел вот определённый ДОС.
Был бы флопик, всё было бы проще и легче, но мы не ищем простых путей.

Долго искал более-менее вменяемый мануал, и вот мне подсказали в одном ретрочатике в котором админит многоуважаемый [livejournal.com profile] mihhru. Рецепт изложен в видео. Тем, кто не хочет смотреть полуторачасовое видео, вот главная инструкция, уже от меня. Read more... )
dlinyj: (Default)
Начать что-то делать - подвиг, закончить что-то делать - десятикратный подвиг.

Самое сложное - это уметь заканчивать дела. Точно также, принял волевое решение закончить работу над калькулятором. Но не в виде разобранного устройства, а всё же вернуть его к жизни.



И да, таки это у меня удалось. Так что, встречайте очередную статью об издевательствах над калькулятором:
"Возвращаем к жизни калькулятор HP Prime G2"

Лайки, комментарии, рекомендации приветствуются!
dlinyj: (Default)
Меня только ленивый не пинал на тему запуска DOOM на калькуляторе. Не считаю это чем-то особенным и выдающимся, но вот зрителю нужно.



Поэтому, по многочисленным просьбам трудящихся, встречайте мою новую статью: "Запускаем DOOM на калькуляторе HP Prime G2". Читаем, ставим лайки, комментируем, даём советы, присоединямся к владельцам калькуляторов пилящих линукс и наслаждаемся жизнью :))).

dlinyj: (Default)
Мы долго-долго строили и наконец построили. Мне с трудом удавалось скрывать всю свою деятельность, и много усилий приходилось прилагать, чтобы не проболтаться. Но вот он результат. Не всё реализовано, что хотелось, но всё же это большой прогресс.



Установка Linux на калькулятор. Часть I
Установка Linux на калькулятор. Часть II

Как обычно, читаем, комментируем, ставим лайки. Ну и советы давайте, тоже полезно!
dlinyj: (Default)
Короче говоря, пытаюсь собрать для одного проекта rootfs. Делаю компиляцию, собираю, получаю rootfs.cpio.uboot 20 мегабайт, что мне много!


Многа


Пытаюсь отрубить кучу лишних пакетов, делаю:

make cleaan



Отрубаю лишние пакеты, пересобираю, получаю ещё больше! Возвращаю конфиг взад, ставлю родной, НИЧЕГО не трогаю, делаю
make cleaan
make distclean


Пытаюсь отрубить пакеты.
Компиляю. Ещё, сука, больше!!!
Ставлю дефолтный конфиг (как в первом случае), снова всё очищаю нахер, компиляю, ещё больше!!!


Рост на лицо, смотрите на rootfs.cpio.uboot.


Что я делаю не так??? Как мне уменьшить размер rootfs? При чём там отрублены ВСЕ пакеты, практически...
dlinyj: (Default)
Я линуксойд уже более 12 лет (примерно с 2009 года перешёл на линух), и вот только сейчас понял что мне дичайше не хватает знаний регулярных выражений. Каждый раз пытаюсь раскурить что это такое, ломаюсь над абсолютно упоротым объяснением и забиваю.

Есть ли какой-то курс регулярок для дебилов с примерами и упражнениями? Чтобы не гуглить как составить регулярку для grep, sed, bash, а тупо писать самому?
dlinyj: (Default)
Заметка для себя.

Столкнулся с необходимостью переноса системы с одного жёсткого на другой. Системf Linux Mint 20. Всё осложнялось тем, что старый винт был 500 ГБ, а новый 240 ГБ.



По началу я попробовал тупой dd, в надежде, что проверка системы всё исправит. Но факир был пьян и фокус не удался. В результате, пришлось переразмечать жёский диск.

dd дал начальный UEFI раздел, с FAT, а вот большой линукс раздел пришлось удалить (так как он уходил за пределы диска), и создать заново. Отформатировал его в ext4

Затем, я примонтировал оба жёстких диска, и начал копировать систему с одного на другой:

sudo rsync -aAXv --exclude={"/dev/*","/proc/*","/sys/*","/tmp/*","/run/*","/mnt/*"} /mnt/bighdd /mnt/smallhdd

После успеха этой долгой операции (сильно дольше dd), нужно систему привести в чувство. Для этого командой blkid смотрим ID-примонтированных винтов. Должно быть что0то типа:

blkid
/dev/sda1: UUID="554f956f-ac3f-4d59-b655-a20cc787a3bf" TYPE="ext4" PARTUUID="fa0442d2-01"
/dev/sda5: UUID="f9c51fa7-a696-4079-a610-8c430dd388ae" TYPE="swap" PARTUUID="fa0442d2-05"

Далее нам нужен croot в новоиспечёную систему. Для того, чтобы корректно всё работало, примонтируем туда наши папки /dev/ /sys/ /proc/

mount -o bind /dev /mnt/smallhdd/dev
mount -o bind /sys /mnt/smallhdd/sys
mount -o bind /proc /mnt/smallhdd/proc
sudo chroot /mnt/smallhdd/

После этого вносим правки в /etc/fstab с новыми UUID жёстких дисков:

vi /etc/fstab

обновляем grub и initramfs:

update-initramfs -u
update-grub

После успеха всех операций, выходим, завершаем работу, отключаем винт, цепляем к ноуту. После успешной загрузки ещё раз обновляем граб уже на самом ноуте:

update-grub


Полный успех
dlinyj: (Default)
Очередная статья от меня на хабре. Свёл все свои эксперименты с электронными книгами Sony prs-505 в единую статью.



Как обычно, читаем комментрируем, ставим лайки. И ставим жирную точку в данном проекте.
dlinyj: (Default)
Сегодня Великий День, я впервые написал статью моему хорошему другу [livejournal.com profile] di_halt на сайт http://easyelectronics.ru/



Вы можете прочитать её по следующей ссылке. Выражаю благодарность [livejournal.com profile] xlat за разрешение использовать её фотографию в данной статье. Это Teletype Model 33 ASR. Данное устройство, как нельзя лучше иллюстрирует все проблемы работы с СОМ-портом.

В целом, практически обо всём я так или иначе рассказывал на своих вебинарах, но порой лучше прочитать, чем просмотреть.
dlinyj: (Default)
Мне казалось я хочу малого: терминальную программу, которая поддерживает usb-com устройства и поддерживает ESC-последовательности типа терминала vt100. Оказалось, что это никто не реализовал, а те кто релизовал реализовал так, что лучше бы не делал.

Итак, предыстория. Когда-то давным давно написал статью о том, как выводить данные красиво в СОМ-порт, используя ESC-последовательности: Терминальная графика . Там в конце я приводил пример кода, который может на контроллере выводить всякие красивые таблички. Решил реализовать в железе на Arduino. Первое с чем столкнулся, с тем что Arduino не умеет UTF-8. Ну ладно, обойдёмся классическими ASCII. Всякие углы заменил плюсами. В результате в minicom получил такую красоту



Повыкидывал лишние всякие выводы, например время и прочее. Главное проверить принцип. И далее начал исследовательскую работу программ под Anrdoid, которые могут реализовать эту красоту. Боже, тонны говн. Всё кривое, косое, что-то не может работать с ESC-последовательностями, что-то может, но работает так, что лучше б не работало. Моя исследовательская работа )

UPD. Есть linux-way, но для него нужны root-права. А к ним я пока морально не готов.
dlinyj: (Default)
Имеем вот такой набор: одноплатник BeagleBone Black и wifi-свисток TL-WN722N на чипе rtl8188eu. Свисток брал исключительно из-за внешней антенны, но кто же знал что это такая боль и унижение!!!



Я вообще думал, что у меня всё заведётся из коробки, воткнул и работай. Но... Как оказалось, дров официальных нету. На компе нашёл рабочий варик вот этот. По сути эта репка https://github.com/lwfinger/rtl8188eu . Короче, на рабочем компе всё завелось. Я радостно щеманулся это удовольствие ставить на OpenWRT! Даже всё успешно собрал, и даже ifconfig -a всё виделось, но не работало.

Окей. Давай пойдём другим путём, не очень изящным, но зато рабочим. Решил всё по науке сделать прямо на плате с Ubuntu 18.04. Поставил убунту. Нашёл прям рабочий вариант для моего бигла https://github.com/mfruba/kernel/issues/1.

И даже, ВНИМАНИЕ! Он коннектится и получает IP-адресс от точки!
ubuntu@arm:~$ ip a
....
3: wlan0: <BROADCAST,MULTICAST,DYNAMIC> mtu 1500 qdisc mq state DOWN group default qlen 1000
    link/ether d0:37:45:58:b0:f2 brd ff:ff:ff:ff:ff:ff
    inet 192.168.0.7/24 brd 192.168.0.255 scope global wlan0
       valid_lft forever preferred_lft forever
...


Но...
ubuntu@arm:~$ ping 192.168.0.1
connect: Network is unreachable


В таблицу маршрутизации не попадает, почему-то.

ubuntu@arm:~$ route -n
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
192.168.6.0     0.0.0.0         255.255.255.0   U     0      0        0 usb1
192.168.7.0     0.0.0.0         255.255.255.0   U     0      0        0 usb0


Ну ладно, давай насильно запихаем!!!

ubuntu@arm:~$ sudo route add default gw 192.168.0.1
SIOCADDRT: Network is unreachable


Что за нахер?! Кто-нить сталкивался с подобной проблемой?
Или может у кого есть заведомо рабочая карточка с внешней антенной и поддерживаемая OpenWRT без бубнов?
P.S. Выхлоп dmesg Read more... )

January 2026

S M T W T F S
    123
456 78910
11121314151617
18192021222324
25262728293031

Syndicate

RSS Atom

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags
Page generated Jan. 22nd, 2026 03:21 am
Powered by Dreamwidth Studios