LINUX.ORG.RU

Сообщения pihter

 

Разъясните за ранлевелы init'a

Есть железка, простоты большой. Инит, насколько я понял, читает /etc/inittab и запускает в соответствии /etc/init.d/rc с третьим и 5 уровнем.

Что за уровни? Правильно ли я понимаю что уровни с 6 по 10 я могу использовать чтоб удовлетворить потребность в запуске сервисов гаранированно один после деругого (типа зависимости)? Где почитать-ликвидировать собственную безграмотность по вопросу?

Спасибо.

 ,

pihter ()

Я познаю мир: почему подземная толща холодная?

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

В океан? В ночную сторону? В полярные шапки? Где почитать?

 

pihter ()

Можно ли собрать бинарик с кастомным /lib/ld.so.1 по-умолчанию в качестве интерпритатора бинарика?

Смеркалось.

Собрал valgrind под мипсельную железяку. При запуске на железяке простит libc6-dbg. ld.so.1 и libc6.so.6 есть не стрипнутые, если запустить все в чруте, работает. А вот как запустить валгринд в основной системе(где либы стрипнутые), либо собрать валгринд так чтоб он по умолчанию искал ld.so.1 не в /lib/, а в /tmp/valgrind/lib ?

 , ,

pihter ()

Ищу софтовый медиацентр для онтопика

Смеркалось.

Приблизительно описываю хотелку, а вы – знай себе накидывайте что-нибудь по поводу и без.

Берем телевизор без мозгов, считай что монитор, подключаем к нему малину (с интернетом) по hdmi, запускаем приложение МегаМедиаСервер, далее, на мобильнике (который, например, в домашнем вайфае) нагугливаем видос, жмем кнопку «отправить в телевизор» и наслаждаемся просмотром. С мобильника же можно сделать потише, нажать на паузу и тд. Приложение также умеет слушать команды от пульта телевизора через hdmi, веб интерфейс там, ну вы поняли.

Что-нибудь подобное кто-нибудь занет?

 ,

pihter ()

OpenSSL дает разные результаты при шифровке одинаковых данных одинаковым ключом по aes-256-cbc

Правильно ли я понимаю, что что зашифровав по алгоритму aes-256-cbc одни и те же данные одним и тем же ключом с одним и тем же вектором инициализации я должен ВСЕГДА получать одинаково-зашифрованные данные? Ну, то есть, это — чистая функция и не зависит от реализации?

Дивитесь:

$ cat key 
01234567890123456789012345678901

$ cat iv 
0123456789012345

$ echo -n "hello" | openssl enc -aes-256-cbc -K `cat key` -iv `cat iv` | base64
vRoZmUYh969H18TjJfldYw==

$ echo -n "hello" | ./aes_enc `cat key` `cat iv` | base64
VcyOES9/0YifXvnZKo8c4g==

$ cat aes_enc.c 
#include <openssl/conf.h>
#include <openssl/evp.h>
#include <openssl/err.h>
#include <string.h>
#include <stdio.h>

#define MAX_STR 1000

// compile:
// gcc aes_enc.c -lcrypto -o aes_enc

void handleErrors(void)
{
    ERR_print_errors_fp(stderr);
    abort();
}

int encrypt(unsigned char *plaintext, int plaintext_len, unsigned char *key,
            unsigned char *iv, unsigned char *ciphertext)
{
    EVP_CIPHER_CTX *ctx;

    int len;

    int ciphertext_len;

    /* Create and initialise the context */
    if(!(ctx = EVP_CIPHER_CTX_new()))
        handleErrors();

    /*
     * Initialise the encryption operation. IMPORTANT - ensure you use a key
     * and IV size appropriate for your cipher
     * In this example we are using 256 bit AES (i.e. a 256 bit key). The
     * IV size for *most* modes is the same as the block size. For AES this
     * is 128 bits
     */
    if(1 != EVP_EncryptInit_ex(ctx, EVP_aes_256_cbc(), NULL, key, iv))
        handleErrors();

    /*
     * Provide the message to be encrypted, and obtain the encrypted output.
     * EVP_EncryptUpdate can be called multiple times if necessary
     */
    if(1 != EVP_EncryptUpdate(ctx, ciphertext, &len, plaintext, plaintext_len))
        handleErrors();
    ciphertext_len = len;

    /*
     * Finalise the encryption. Further ciphertext bytes may be written at
     * this stage.
     */
    if(1 != EVP_EncryptFinal_ex(ctx, ciphertext + len, &len))
        handleErrors();
    ciphertext_len += len;

    /* Clean up */
    EVP_CIPHER_CTX_free(ctx);

    return ciphertext_len;
}

int main(int argc, char *argv[]) {
  unsigned char out[MAX_STR];
  unsigned char in[MAX_STR];

  int in_len = 0;

  in_len = fread( (unsigned char *)in , 1, MAX_STR, stdin );

  int out_len = encrypt( in, in_len, argv[1], argv[2], out);
  out[out_len] = '\0';

  printf("%s", out);

  return 0;
}


 

pihter ()

Палю годноту: халявный собственный git/GitLab/etc без белого IP

Смеркалось Самоизоляция. Я тут открыл для себя тор.

Заводим виртуалку/старый_комп ставим туда git bare или целый GitLab. На этой виртуалке ставим тор и выкидываем как сервис 22-й порт и 80-й. Получаем .onion-адреса.

На клиентских компьютераъх для доступа к веб-интерфейсу гиталба используем тор браузер, а в консоли делаем torify git clone git@blablabla.onion:user/your_repo_name.git, затем пользуемся гитом как обычно, а вместо git push/pull делаем torify git push/pull

Результат: полностью халявный и полностью подконтрольный только тебе полноценный гит-репозиторий, безо всяких ограничений, доступный со всего мира. Поднимается за 10 мин, не боится переездов сервера.

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

 ,

pihter ()

Установка дебиана(девуана) на удаленную машину по SSH.

Смеркалось Самоизоляция.

В деревне у родителей есть два компа в одной сети, к обоим есть доступ по SSH через Tor и через OpenVPN.

На отцовском настолько старый дебиан, что репы уже отвалились. Хочу накатить диван, и послушать советов как менее хлопотно это сделать.

Заранее благодарю.

 ,

pihter ()

Как нагуглить тип корпуса гнезда миниджека на плате?

Есть ноутбучная плата, на ней гнезда под микрофон и наушники.

Вообще в природе есть стандартные типы корпусов для такой фигни?

https://ibb.co/xJfQ45J

https://ibb.co/41S7TWm

Где про такое самообразоваться? Спасибо.

 

pihter ()

Почему срабатывает блокировка кросс-доменных запросов при попытке прочитать локальный файл?

  1. Есть страничка, я ее гружу прям с диска (в адресной строке file:///bla/bla/bla.htm) делаю XMLHttpRequest на локальный же файл – блокирует CORS-ом. Хотя на заборах пишут что должно работать?

  2. Как этот корс отключить? Ключик при запуске бывает? Opera 36

Спасибо

 ,

pihter ()

Ищу генератор G-кода для рисования PCB-дорожек маркером на 3д принтере

Сабж. Явно же где-то у кого-то есть, я, конечно, свой дописываю, но и от готового не откажусь.

 , ,

pihter ()

AJAX логин-форма предложение о сохранении паролей

В Firefox все работает – практически как ни сделай, а в Хромом – нет. В интернетах предлагают какую-то дичь с невидимыми айфреймами (которая не работает), потом пишут, что это уже не актуально и предлагают js-код, который тоже не работает.

Возможно, проблема в моем самоподписанном сертификате, но это изменить я не в силах.

Кто знает адекватное решение, которое не стыдно и продакшн?

 ,

pihter ()

Прототип Starship Mk1 компании SpaceX взорвался на испытаниях

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

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

В SpaceX заявили, что «результат не стал абсолютной неожиданностью», так как целью испытаний было дать системам корабля максимальную нагрузку. Компания не будет ремонтировать Starship Mk1 и сразу перейдет к созданию более продвинутой версии — Starship Mk3, в которой, вероятно, задействуют оставшуюся головную часть Mk1.

Первый испытательный полет опытной Starship на высоту до 20 км был запланирован на декабрь. Корабль представили в конце сентября, он предназначен для доставки грузов и космонавтов на Луну и Марс. Основатель SpaceX Илон Маск называет Starship самой мощной ракетой в истории компании.

 

pihter ()

Как включить SPI на OrangePi One (armbian)

Идем на https://docs.armbian.com/User-Guide_Allwinner_overlays/#device-tree-overlays и читаем:

1. Check the README.<soc-id>-overlays in /boot/dtb/overlay/ (32-bit SoCs) or /boot/dtb/allwinner/overlay/ (64-bit SoCs) for a list of provided overlays, their required and optional parameters

2. Add names of overlays you want to activate to overlays= line in /boot/armbianEnv.txt, separated with spaces

3. Add required parameters with their values to /boot/armbianEnv.txt, one per line

4. Add optional parameters with their values to /boot/armbianEnv.txt if you want to change the default value, one per line

5. If you didn’t find the required overlay or want to change one of provided overlays, refer to “Using custom overlays” section

6. Reboot

Следуем инструкциям:

/boot/dtb/overlay# ls README.sun4i-a10-overlays sun4i-a10-spdif-out.dtbo sun5i-a13-i2c1.dtbo sun5i-a13-uart3.dtbo sun7i-a20-spdif-out.dtbo sun8i-h3-cir.dtbo sun8i-h3-uart2.dtbo README.sun5i-a13-overlays sun4i-a10-spi-jedec-nor.dtbo sun5i-a13-i2c2.dtbo sun7i-a20-analog-codec.dtbo sun7i-a20-spi-add-cs1.dtbo sun8i-h3-fixup.scr sun8i-h3-uart3.dtbo README.sun7i-a20-overlays sun4i-a10-spi-spidev.dtbo sun5i-a13-nand.dtbo sun7i-a20-can.dtbo sun7i-a20-spi-jedec-nor.dtbo sun8i-h3-i2c0.dtbo sun8i-h3-usbhost0.dtbo README.sun8i-h3-overlays sun4i-a10-uart2.dtbo sun5i-a13-pwm.dtbo sun7i-a20-fixup.scr sun7i-a20-spi-spidev.dtbo sun8i-h3-i2c1.dtbo sun8i-h3-usbhost1.dtbo sun4i-a10-analog-codec.dtbo sun4i-a10-uart3.dtbo sun5i-a13-spi0.dtbo sun7i-a20-i2c1.dtbo sun7i-a20-uart2.dtbo sun8i-h3-i2c2.dtbo sun8i-h3-usbhost2.dtbo sun4i-a10-can.dtbo sun4i-a10-uart4.dtbo sun5i-a13-spi1.dtbo sun7i-a20-i2c2.dtbo sun7i-a20-uart3.dtbo sun8i-h3-pps-gpio.dtbo sun8i-h3-usbhost3.dtbo sun4i-a10-fixup.scr sun4i-a10-uart5.dtbo sun5i-a13-spi2.dtbo sun7i-a20-i2c3.dtbo sun7i-a20-uart4.dtbo sun8i-h3-pwm.dtbo sun8i-h3-w1-gpio.dtbo sun4i-a10-i2c1.dtbo sun4i-a10-uart6.dtbo sun5i-a13-spi-jedec-nor.dtbo sun7i-a20-i2c4.dtbo sun7i-a20-uart5.dtbo sun8i-h3-spdif-out.dtbo sun4i-a10-i2c2.dtbo sun4i-a10-uart7.dtbo sun5i-a13-spi-spidev.dtbo sun7i-a20-mmc2.dtbo sun7i-a20-uart6.dtbo sun8i-h3-spi-add-cs1.dtbo sun4i-a10-nand.dtbo sun4i-a10-w1-gpio.dtbo sun5i-a13-uart0.dtbo sun7i-a20-nand.dtbo sun7i-a20-uart7.dtbo sun8i-h3-spi-jedec-nor.dtbo sun4i-a10-pps-gpio.dtbo sun5i-a13-analog-codec.dtbo sun5i-a13-uart1.dtbo sun7i-a20-pps-gpio.dtbo sun7i-a20-w1-gpio.dtbo sun8i-h3-spi-spidev.dtbo sun4i-a10-pwm.dtbo sun5i-a13-fixup.scr sun5i-a13-uart2.dtbo sun7i-a20-pwm.dtbo sun8i-h3-analog-codec.dtbo sun8i-h3-uart1.dtbo

дальше, я так и не понял что значат эти вот sun8i-h3 и sun4i-a10 вторая часть — это типа кристалл, а первая — архитектура АРМа? Кто в теме, поясните, ибо ЯННП

ну да ладно, не понял — компенсируем отвагой, кастую /proc/cpuinfo, вижу следующее

... еще 3 таких же ядра... processor : 3 model name : ARMv7 Processor rev 5 (v7l) BogoMIPS : 22.85 Features : half thumb fastmult vfp edsp neon vfpv3 tls vfpv4 idiva idivt vfpd32 lpae evtstrm CPU implementer : 0x41 CPU architecture: 7 CPU variant : 0x0 CPU part : 0xc07 CPU revision : 5

Hardware : Allwinner sun8i Family Revision : 0000 Serial : 02c00081f5affcb1

получается у меня sun8i что бы это не значило. продолжаем следовать первоначальной инструкции и читаем что написано в ридми для нужного мне оверлея (что за оверлей?)

# cat /boot/dtb/overlay/README.sun8i-h3-overlays This document describes overlays provided in the kernel packages For generic Armbian overlays documentation please see https://docs.armbian.com/User-Guide_Allwinner_overlays/

### Platform:

sun8i-h3 (Allwinner H3)

### Platform details:

Supported pin banks: PA, PC, PD, PG

Both SPI controllers have only one hardware CS pin exposed, adding fixed software (GPIO) chip selects is possible with a separate overlay

### Provided overlays:

- analog-codec - cir - i2c0 - i2c1 - i2c2 - pps-gpio - pwm - spdif-out - spi-add-cs1 - spi-jedec-nor - spi-spidev - uart1 - uart2 - uart3 - usbhost0 - usbhost1 - usbhost2 - usbhost3 - w1-gpio

### Overlay details:

[...]

### spi-spidev

Activates SPIdev device node (/dev/spidevX.Y) for userspace SPI access, where X is the bus number and Y is the CS number

SPI 0 pins (MOSI, MISO, SCK, CS): PC0, PC1, PC2, PC3 SPI 1 pins (MOSI, MISO, SCK, CS): PA15, PA16, PA14, PA13

Parameters:

param_spidev_spi_bus (int) SPI bus to activate SPIdev support on Required Supported values: 0, 1

param_spidev_spi_cs (int) SPI chip select number Optional Default: 0 Supported values: 0, 1 Using chip select 1 requires using «spi-add-cs1» overlay

param_spidev_max_freq (int) Maximum SPIdev frequency Optional Default: 1000000 Range: 3000 - 100000000

[...]

идем в /boot/armbianEnv.txt и приводим к виду:

# cat /boot/armbianEnv.txt

[...]

overlays=sun8i-h3-spi-spidev param_spidev_spi_bus=0 usbstoragequirks=0x2537:0x1066:u,0x2537:0x1068:u

ребутимся, устройства нет, dmesg молчит

куда смотреть? спасибо, звиняйте за простыню

 , ,

pihter ()

Одна клавиатура на несколько устройств. Как?

Сабж.

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

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

Короче, посоветуйте кто чем может

 

pihter ()

Как пользоваться отладочным интерфейсом SWIM?

Есть радиомодуль, вотакой: http://roboshop.spb.ru/SE8R01 (пока не начал сюда писать и не стал искать фотку, не знал что это не nrf24l01)

Есть usb переходник к нему, вотакой: https://ru.aliexpress.com/item/32834356013.html , удалось нагуглить что настройка контоллера на нем (скорость, канал), осуществляется через SWIM итерфейс. Это я так понял для младших STM-ок такой отладочный интерфейс.

Еще у меня есть программатор ST-Link V2, вотакой: https://ru.aliexpress.com/item/32322884886.html , который, как я понял умеет в этот свим.

Подскажите, кто в курсе, как этим пользоваться? В системе появляется один ttyUSB от переходника и один от прграмматора. Миников в оба порта молчит. Куда копать, кто опытный?

 

pihter ()

Синхронизация локальных файлов на удаленную машину только по SSH

удаленная машина — не компьютер, а железяка с бизибоксом, SSH есть, но rsync-а нет. Там недоступная для записи (без перепрошивки) файловая система, кроме /tmp.

Надо в /tmp/dir в одну сторону синхрить все с локальной папки. До сих пор юзал nfs и не тужил, но на этой конкретно все вусмерть зафаеволено (нфс не коннектится). Хочется что-то типа scp -r, только чтоб не копировал неизмененные и, желательно, чтоб сам ловил момент изменеия.

Я такое могу наколхозить, но уверен в том, что есть готовое.

Спасибо

 , ,

pihter ()

Существует ли язык описания электронных схем в удобном для написания человеком текстовом формате?

Про Verilog и VHDL я слыхал, но это не совсем то.

Хочется что-то типа как в OpenSCAD описывается 3D-модель, оказалось чудовищно удобно (хотя казалось бы, куда уж мышевозней юзкейс)

Что-то вроде:

connector X1 (pins=2, pin1=signal_in, pin2=GND);
resistor R1 (pin1=signal_in, pin2=led_anode);
led LED1 (anode=led_anode, cathode=GND);

чтоб потом можно было отрисовывать красивую схему (подобно тому как OpenSCAD отрисовывает 3д) и транслировать в нетлисты каких-нибудь кикадов

 

pihter ()

Что мешает разрабатывать «свободное железо» на FPGA-хах как свободный софт?

Очевидно, что проблема свободного железа в пороге вхождения: чтоб написать свободную программу нужен только компьютер, а чтоб свободное железо — нужен еще «завод по производству железа»

FPGA-хи, кмк, отчасти решают эту проблему: можно например запилить PCI-видеокарту, которая вполне будет пригодна для работы и практически пригодна для домашнего изготовления, за исключением чипа FPGA который будет прошиваться свободной прошивкой.

Будет ли такое железо свободным?

Есть ли примеры? Почему я повсеместно этого не вижу?

Пятница.

 , ,

pihter ()

Как ЛОРовец отлепляет накрепко прилипшие к столу 3д распечатки?

Сабж.

Я использую PETG и зеркало. Зеркало съемное. Ничего не лью/мажу (иногда оттираю следы старой печати ацетоном) Прилипает намертво, раньше помогала морозилка, но с ростом размеров деталей перестала. Выламывается прямо с кусками зеркала.

Делитесь опытом.

 

pihter ()

Как работает .htpasswd?

Задача: в бекенде shell(BusyBox)-скриптик в качестве CGI-я. Нужна авторизация по .htpasswd, который лежит тут же.

Если я правильно понимаю(что врядли, иначе уже работало б), то в сим файле лежит пара логин:хеш-пароля-функцией-crypt, таким образом, принимаем от пользователя пароль, скармливаем openssl passwd -crypt <пароль_сюда> и получаем хеш. Профит. Только не работает, потому что сия конструкция на один и тот же пароль выдает разные хеши:

$ openssl passwd -crypt 12345678
EpQfRBHNPPBQA
$ openssl passwd -crypt 12345678
s1MnhIvvco/F6
$ openssl passwd -crypt 12345678
JCanIGCpoNv.I

ЧЯДНТ?

 

pihter ()

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