LINUX.ORG.RU

Сообщения yax123

 

делаем образ загрузочной SD

 bootrom, , , ,

… чтобы могло пойти не так?

Всех приветствую. Раз сегодня пятница, расскажу вам прохладную историю.

Нужно мне сделать загрузочную флешку для одной железки на базе процессора sitara (это Техас Инструментс, это где Хьюстон, быки и пи… впрочем об этом в другой раз).

Так как там очень привередливый бутром, сд-должна размечаться в старом досовском стиле:

sudo fdisk -c=dos -S 63 -H 255 /dev/sdb
n
p
1
63
144584
t
1
b
a
1
w

Дальше форшмачим: sudo mkfs.vfat -F 32 -n "boot" /dev/sdb1

монтируем, копируем SPL+u-boot+main_img..

И все работает. Да, волшебная строчка для fdisk, рождалась в диких корчах и муках. Тем не менее, если воткнуть sd в железку, она бодро загрузится и будет работать.

Дальше мне захотелось странного. Хочу не скрипт, который будет печь sd-карту. А скрипт, который будет печь образ, который можно потом, просто закинуть на любую sd через dd или еще как.

В целом вроде как ничего хитрого:

IMG=./sd_image
dd if=/dev/zero of=$IMG bs=1M count=200
cat << END | fdisk -c=dos -S 63 -H 255 ${IMG}   
... < тут все тоже самое что и для sdb
END
DEV=`sudo losetup --find --show --partscan ${IMG}`
sudo mkfs.vfat -F 32 -n "boot"   ${DEV}p1 
sudo mount -t vfat ${DEV}p1 ./p1 
cp ./MLO bla-bla-bla
sudo umount ....
sudo losetup --detach $DEV 

Получили такие же первых 63 сектора. И такой же размер первого раздела с таким же набором файлов. Дальше, делаем:

dd if=$IMG of=/dev/sdb

Втыкаем в железку.. и ничего!

В чем сакральная разница?

yax123
()

embeded + fstab

 

Всех приветствую.

Возникла весьма предсказуемая и щекотливая ситуация.

Есть некая железка с линуксом. У нее есть впаяная eMMC и разъём для SD. Если запускаемся без SD, то emmc видится как /dev/mmcblk0 Если в момент запуска ставим SD, то уже SD становится /dev/mmcblk0, а emmc съезжает на /dev/mmcblk1

Чтобы развернуть систему на чистой железке ставим sd-карту с этой системой, грузимся и она после загрузки разбивает emmc на разделы форматирует все что надо и распихивает себя по этим разделам. Дальше мы выдергиваем SD, перегружаемся и спокойно работаем только на emmc.

Ну и как все поняли (поняли же? падме.жпг), что при загрузке с SD и с emmc, это самая emmc будет на разных именах.

Существующие ограничения:

  1. rootfs - строго RO (никакого изменения fs в процессе развертывания)
  2. хочется чтобы mount и т.д. работал корректно - то есть fstab был с нужными именами дисков и разделов
  3. UUID не подходят, так как rootfs один на все устройства (скажем так сильно больше одного), а uuid будет у всех дисков разные.

Потенциальные решения которые я вижу, это как-то подсунуть в параметры ядра какой fstab использовать, а в /etc подложить все варианты fstab, и перед загрузкой ядра определять какой fstab ему использовать. Но судя по известной мне инфе такой возможности у ядра нет.

Как резервный вариант, все что мне надо я буду грузить «руками» из загрузочных скриптов, а из fstab все упоминания mmcblk* уберу. Но тогда mount -a перестанет покрывать эти диски, чего бы не хотелось.

Возможно есть более элегантный способ решения данной проблемы?

yax123
()

Написать прошивку для stm32f030

 

Всех приветствую.

Тут меня знакомый попросил написать маленькую тестовую прошивку для указанного МК. Я сначалf согласился, но чего сейчас стало лень, а отказать неудобно. Ищу того кто сделает это за меня.

Прошивка небольшая и в целом пишется за несколько часов (если есть опыт конечно). Логика уровня, ждать нажатия кнопки, потом светить светиком, дергать gpio. По i2c прочитать пару байт.

Поэтому, если есть желающие заработать немного денег (пропорционально трудовым затратам) пишите мне на <user_name>@ яндекс.ру

ЗЫ. сколько денег могут дать я еще не знаю, поэтому никаких вилок не пишу. Да и само ценообразование пока не понятно, за результат или по нормо-часам.

yax123
()

usbip вместе с virtual here

 usbip virtual here

Всех приветствую.

Я тут решил немного по-использовать virtual here без уплаты членских взносов.

Взял orange pi zero3 вкатил туда какую-то raspiOS. Установил пакеты настроил все. К себе в линукс через usbip все коннектится.

Потом взял «virtual here» и решил тоже через нее прицепиться. Прописал свой сервер и порт. Оно даже показало, что нашло и даже зелененькую лампочку зажгло.

Но при попытке приконнектится все отвалилось. На моем сервере вышло такое сообщение:

usbip: error: USBIP Kernel and tool version mismatch: 0 273:

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

yax123
()

armbian и usbip

 , ,

Всех приветствую.

Задался я тут одной побочной задачкой.

Есть у меня оранж пи зеро 512 (винтажная). К ней подключено пара железяк через ftdi. В качестве прошивки решил попробовать armbian (никогда не пробовал, но выглядит прикольно и добротно, не то что ваш openwrt).

И вот появилось у меня странное желание раздавать это /dev/ttyUSB* через сеть на всякие компы с линуксом и не очень с ним.

Немного потыкавшись в консоль и поисковики пришел к выводу. Что именно в armbian это не завезли. И даже никаких приличных хаутушек никто не написал.

В связи с чем и есть вопросы к публике:

  1. Если ли готовый рецепт для usbip на «Armbian 25.11.2 noble»?
  2. Готов сменит дистр на тот где usbip есть «искаропки». Есть такой?
  3. Может есть другой способ ничем не ограниченного способа раздачи USB over IP?
yax123
()

Тонкая диагностика и настройка TCP/IP-стека

 , rtt,

Всех приветствую.

Решил я тут поэкспериментировать с самодельными каналами связи. Слепил из того, что было пару драйверов к оборудованию, которые в юзерспейс торчат как файловые дескрипторы. К ним приладил приложку которая открывает tun и пересылает пакеты между моим файловым дескриптором и дескриптором tun-а. Так же проверил скорость передачи. В идеальных условиях в одну сторону 300МБ/с в другую 90МБ/с (не обращайте внимание на ассиметрию, так получилось). В общем, поднял tun-ы настроил маршрутизацию.

Пинги, как это ни удивительно, пошли. Но вот все, что сложней (ssh, tcp) ни в какую.

ping показывает RTT 70мс (да, много, тем не менее).

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

Как я понял из прочитанной теории, при таких задержках, tcp-стек считает, что он просто теряет пакеты (таймаут), и поэтому начинает повторную передачу.

Нашел совет по увеличению размера буфера (типа пропускная способность увеличится), странно ну ладно. Но не помогло.

Уважаемые админы, что где еще посмотреть для исправления этой напасти? Раньше все на диалапе сидели и все работало, а тут какие-то сраные 70мс и все упало.

yax123
()

Низкая скорость скачивания в виртуалке

 , , ,

Всех приветствую.

Сложилась неприятная ситуация на рабочем месте.

Для выхода в интернет у нас используется отдельный vlan. Соответственно, для простого доступа туда. Ставится виртуалка, там линукс. Этот линукс цепляется к этому vlan и вот так ходим в интернет.

У меня стоит слака15 (ядро 5.15.19) и на хосте и в госте. Для виртуалки используется Vbox 7.1.4 (сетевой драйвер для гостя 82540EM). Для связи виртуалки и хоста используется бридж.

Если на хосте поднимаю линк в vlan, то скорость у меня максимальная (по ~800 в каждую сторону). Если иду через виртуалку, то на прием ~20мбит/с, на отдачу ~800мбит/с.

Админы клянутся-божатся, что никакого шейпинга и ограничений нет.

Подскажите, многоуважаемые админы куда посмотреть и в чем может быть проблема? А то чего-то я уже всю голову сломал. Есть ощущение, что что-то простое, типа несовпадения MTU, или кривых дров в vbox.

yax123
()

Кабель usb-c с Г-образными разъемами

 usb 3.2 gen 2, ,

Всех приветствую.

Нужна помощь специалистов по всему. Нужен кабель, с обоих сторон usb-c, причем такой, чтобы там можно было передавать нормальный трафик 10GB/s (то есть не менее чем USB 3.2 Gen 2).

Ну и главная фича - Г-образные разъемы. А то этот usb-c какой-то хлипкий, того гляди выломается.

Все что грепал в интернетах с указанными разъемами, больше похоже на простой зарядник с usb-2. Полный функционал не заявляется. Может, кто-то ходил уже по этим граблям и есть проверенная модель?

yax123
()

64-битная адресация в 32-битном arm процессоре

 , ,

Всех приветствую.

Как обычно, я познаю окружающий мир. Сейчас, почитывая DT на один arm (в данном случае это am5728), обратил внимание на то, что местами ranges там не 3 числа, а 4.

Пошел рыть откуда там берется четвертое. Нашел (не без помощи дипсикР1), что если у парента #address-cells = <0x02>, то в потомке адрес на шине парента будет из двух чисел u32 (что, очевидно логично).

Пошел дальше искать, а где у нас у парента адрес 64-бита. И оказалось, что в корне DT указано:

#address-cells = <0x02>;
#size-cells = <0x02>;

Ну хорошо, указали и ладно. Но теперь меня терзает вопрос, зачем? Может там где-то в SoC-е разрядность шины адреса больше 32? Но полистал TRM (не очень внимательно там, 8тыс страниц), ничего похожего не нашел.

ЗЫ. Сука!

MPU Memory Map
...
EMIF1_SDRAM_CS0  0x02_0000_0000  0x02_3FFF_FFFF  1GiB  EMIF1 CS0: Access to DDR
...
TILER_VIEW_0    0x01_0000_0000   0x01_1FFF_FFFF   512MiB   Natural view
...

Оставлю пост, для расширения кругозора.

Продолжаю наблюдение.

yax123
()

зашел тут на гит исходников лора

 ,

Нашел там ссыль: maxcom.pp.ru

Ведет на онлайн-казино. Не то чтобы я призывал этого стесняться. Это так задумано?

@maxcom

yax123
()

выбор беспроводных мышей

 , ,

Всех приветствую.

В прошлый раз выбирали сата диски, теперь очередь дошла до мышей.

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

Отдельно хочу разузнать за bt-мыши. А то внешних портов в ноуты завозят все меньше, не хочется занимать ценный ресурс радиоприемником мышки. Насколько хороши бт мыши в линуксе, есть ли проблемы? Не мешают ли другим подключениям (ну я там например кроме мышки захочу еще две беспроводных гарнитуры прицепить) как это все вместе работает? Какие есть модели беспроблемных мышек. В первую очередь интересует bt-мыши компактных размеров.

ЗЫ: Пока смотрю в сторону Logitech M240 Silent Black - чисто bt Logitech Signature M650 L - bt/радиоканал

yax123
()

выбор SSD SATA дисков

 ssd sata

Всех приветствую.

Появилась потребность взбодрить один винтажный ноут. Под это дело стал разыскивать ssd sata диск (m.2 туда не завезли). Купил на озоне wd green. Привезли, сравнил серийник на диске и в hdparm - не совпали. Явно какая-то подделка. Почитал отзывы на разных сайтах, складывается впечатление, везде часть отзывов про контрафакт.

В связи с чем вопрос. Кто-где покупает оригинальные ssd диски?

yax123
()

Настенный календарь

 ,

Всех приветствую.

Не так давно я хвастался изобретением в ветке про маркерные доски. У меня маркерная стена. Купил 2 метра пленки для таких досок. Наклеил на стену (на самом деле это вентялиционная шахта на кухне). Ну и главная «изюминка» - календарь нарисованный перманентным фломастером. Глубина планирования - 2 месяца. Числа и подписи делаю водными детскими фломастерами crayola. Когда календарь заканчивается, все легко стирается и заполняется следующий период. Вокруг есть еще куча места для различных планов, детских рисунков, напоминалок.

Выглядит так

Перемещено hobbit из workplaces

yax123
()

arch linux: персистентные сетевые настройки

 , , ,

Всех приветствую. Кстати, арч - говно!

А теперь к делу. Вот есть у меня некая виртуалочка со свежим арчем, где все сетевое управление якобы через systemd (256 версии если что). Вот я там настроил сетевые интерфейсы, маршрутизацию, iptables. Это виртуалочка часть большого стенда, отвечает за роутинг в интернеты остальной части.

Для этого там настроен:

echo 1 > /proc/sys/net/ipv4/ip_forward
iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE

Внимание вопрос, куда все это прописать, чтобы после перезагрузки все взлетело так как было настроено?

cat /etc/systemd/network/20-lan.network
[Match]
Name=*

[Network]
IPv4Forwarding=yes

не помогает.

сохранение правил в /etc/iptables/iptables.rules

тоже не помогает.

yax123
()

lynnett356 - торговля запрещенными веществами

 

смотри профиль

yax123
()

netplan+NetworkManager: получить настройки

 ,

Всех приветствую.

Есть пара компов с разными дистрами. На первом только NetworkManager, на втором он же, плюс netplan (renderer: NetworkManager). Для доступа в интернет используется хитрая система с vlan-ами. Для netplan я сочинил валидный конфиг который поднимает правильные интерфейсы с правильными параметрами. Теперь хочу выпустить в интернет первый комп. Ставить на него netplan очень муторно. Идея такая, взять выхлоп испольнения netplan из второго и засунуть в скрипт первого в виде набора команд nmcli ну или еще как.

Вобщем, как мне получить нечто в виде набора команд nmcli или конфига для NM чтобы получить настройку сети на первом компе такую же как и на втором?

yax123
()

Включить на ноуте sshd в Тюмени

 

Всех приветствую.

Нужна оплачиваемая услуга. Есть ноут с убунтой, нужно зайти в консоль, установить и запустить ssh-сервер. Все.

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

Денег предлагается 1тыс руб, за 1 минуту работы. Всем заинтересованным писать мне на <никнейм>@ya.ru

yax123
()

kubuntu24: настройки звуковой системы

 , ,

Всех приветствую.

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

Решил пробежаться по более тонким местам.

Решил включить виртуальное звуковое устройство для параллельного вывода в несколько звуковых карт. У меня в слаке 15 это прямо изкаропки было. А тут какая-то шляпа.

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

yax123
()

fpga + pcie + dma + SG

 , , , sg

Всех приветствую.

Как обычно изобретаю свою вундервафлю и есть вопросик по реализации некоторой фигни которая схематично описана в заголовке.

Для начала исходные данные:

  1. Есть некая fpga которая может прикидываться EP сидя на шине PCIe для передачи данных от CPU в какую-то физическую среду, которая где-то там с другой стороны выходит в наружу (суть ее на важна, если кому-то нужна определенность пусть будет serdes).

  2. Для эффективной и быстрой передачи делаем SG и схематоз типа сетевых карт. Заводим в памяти массив дескрипторов, где есть битовый флаг владельца этого дескриптора и адрес буфера где лежат сами данные. Ну и для полноты битик обозначающий конец массива дескрипторов (чтобы железка понимала, что надо начинать читать с начала). Для простоты, пока считаем передачу в одну сторону - MEM2DEV. Отдельно выделяем буферы для данных, адреса которых, прописываем в дескрипторы.

  3. В железку, куда-то в регистр прописываем адрес начала массива дескрипторов.

Это все исходные данные.

Дальше берем линукс, пишем стандартный драйвер для pci. Где выделяем память для массива дескрипторов (конечно с когерентностью), выделяем буфера. Заполняем дескрипторы адресами буферов и битики все расставляем куда надо.

Это наше исходное состояние.

А вот теперь внимательно смотрим за руками. В драйвер кто-то закинул пакет данных. Драйвер взял первый пустой дескриптор, взял там адрес буфера, залил в этот буфер пакет данных, пометил, что оунер дескриптора стал DEV и выставил в регистре железки битик, что есть данные для передачи и пошел спать.

И вот тут у меня свербящий вопрос, что дальше делает железка?

Понятно, что железка битик сразу заметит. Как именно? Как быстро?

По моим ощущениям где-то через 1 клок внутренней частоты fpga.

Дальше запустится процесс чтения дескриптора. Как она его будет читать? По-словно по шине pcie из памяти к себе? Стартанет DMA для передачи сразу всего массива дескрипторов?

Призываются все плисоводы которые реализовывали pcie на fpga для передачи чего-то сложнее хеловорда.

yax123
()

Маршрутизация для раздельных каналов связи

 ,

Всех приветствую.

Я тут «изобрел» систему передачи данных. В системе она выглядит как два tun-интерфейса. В один можно писать, из другого только читать. Как настроить маршрутизацию так, чтобы все ответы на все запросы улетали в интерфейс отвечающий за передачу. Желательно стандартными средствами системы.

Раньше, аналогично работал спутниковый интернет с обратным каналом через gprs.

yax123
()

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