LINUX.ORG.RU

Сообщения metawishmaster

 

почему может не работать fdisk из скрипта?

добрый вечер!
придумалпытаюсь сделать такую штуку для того, чтобы на флешках DebianLive автоматически при первом запуске создавались партишины для хомяка:

PARTITION="/dev/`lsblk -o name,mountpoint,label,size,uuid | grep LIVEBOOT_HOME | awk '{print $1;}' | sed 's/.-sd\([a-z]\)\([[:digit:]]\)/sd\1\2/g' | sed 's#[^[:alnum:]/]##g'`"
if [ "$PARTITION" = "/dev/" ]; then
    DISK="/dev/`lsblk -o name,mountpoint,label,size,uuid | awk '{if ($2 == "/usr/lib/live/mount/medium") print $1;}'`"
    DISK=${DISK:2:-1}
    PARTITION="${DISK}3"
    if [ ! -e ${PARTITION} ]; then
        (echo n; echo p; echo; echo; echo; echo w) | sudo fdisk ${DISK}
        sync
        reboot
    else
        mkfs.ext4 ${PARTITION}
        e2label ${PARTITION} LIVEBOOT_HOME
        mount ${PARTITION} /mnt
        cp -r /home/* /mnt/
        umount /mnt
        mount ${PARTITION} /home
    fi  
else
    mount ${PARTITION} /home
fi

но строка "(echo n; echo p; echo; echo; echo; echo w) | sudo fdisk ${DISK}" почему-то не отрабатывает

подскажите, плз, где я косячу? или ядру чего-то не хватает? пробовал кастомные сборки 6.1.96 и 6.9.7

p.s. во избежание всяких инсинуаций: стройка "(echo n; echo p; echo; echo; echo; echo w) | sudo fdisk ${DISK}" работает на Devuan4(Debian11), а фигня происходит на Debian12 (Devuan5 не пробовал)
p.s.s. потому что переменная DISK портилась, мой косяк, расходимся :)

 , ,

metawishmaster
()

обясните за c#

Добрый вечер, ЛОР! :)

А поясните за код, плиз

public class Library
{
    [XmlAttribute("id")]
    namespace avstplg
    {
        public uint Id { get; set; }
        public string FileName { get; set; }
    }
}

скажите, плиз, что тут происходит?
а еще что курили авторы и где это достать? %) В смысле, посоветуйте, плз, нормальное руководство, а не «для самых маленьких»(их сотни в инете)?

 

metawishmaster
()

chrome, проблемы с загрукой страниц

доброго вечера!

вчера решил, что полгода без KDEшного desktop-cube это уже достаточно, и откатился на прошлую систему, но гугл хром перестал адекватно работать:
из страничек

  [kernel.org]
  [lkml.org]
  [elixir.bootlin.com]
  [linux.org.ru]

он загрузил только [kernel.org]
chromium проработал номально некоторое время, но уже ничего не грузит, даже kernel.org, но firefox работает.

есть у кого-нит бубен шамана? вообще не представляю, что происходит...

 

metawishmaster
()

частичный OFFTOP : не открывается один сайт

добрый день, ЛОР!
у меня вопрос на засыпку %)

в Ялте не открывается http://www.rzd.ru, но остальные саты открываются - я проверял (через AnyDesk), а у того ERR_TIMED_OUT...

и с телефона со свой домашней сети тоже не получается, только из сети ОпСоСа

похоже на косяк с роутером, но тот - Сяоми с минимумом настроек.

а проблемы могут быть и с MTU/MSS...

есть тут люди из солнечного Крыма? :)

p.s. OFFTOP - потому что ноут с виндой, а частичный - потому что роутер Xiaomi на линуксе, видать...

 

metawishmaster
()

различие между target девайсами

доброй ночи, ЛОР!

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

Конечно, нет ничего понятнее, проще и безкомпромиснее чем параметр модуля, но это я берегу на «принудительное указание».

пока что нашел, что можно с DMI.

#include <linux/init.h>
#include <linux/module.h>
#include <linux/list.h>
#include <linux/dmi.h>
#include <linux/mod_devicetable.h>

static int __init dmiscan_init(void)
{
        int i, n;

        for (i = 1; i < DMI_OEM_STRING - 1; i++)
                printk("%d. %s\n", i, dmi_get_system_info(i));
        return 0;
}

static void __exit dmiscan_exit(void)
{
}

MODULE_LICENSE("GPL");
MODULE_DESCRIPTION("sample dmi scan module.");
MODULE_VERSION("0.01");

module_init(dmiscan_init);
module_exit(dmiscan_exit);

а способа хитрее не существует? // без эвристики, если можно :)

 ,

metawishmaster
()

вопрос про прохождение медкомиссии при получении водительских прав

Всем привет! :)

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

Я сам сдавал на категорию C еще в прошлом тысячелетии, поэтому ситуацию в этой области сейчас не знаю :-\
Может, за 25 лет процедуру с ПНД упростили? К тому же, у нас же «диджитализация» по все стране! :)

 

metawishmaster
()

DEB-зависимости

Доброго (знаю, таких не бывает) утра!

У меня есть набор пакетов pkg-cfg, pkg-drv-kernel-version и pkg-fw. Необходимость в разных пакетах pkg-drv-kernel-version, вызвана тем, что если делать pkg-drv_kernel-version, то на одной машине будет существовать только одна версия pkg-drv, а хочется для всех присутствующих ядер.

И, соответственно, в debian/control пакета pkg-cfg осталась строчка «Depends: pkg-drv», которую по-идее следует преобразовать в «Depends: pkg-drv-kernel-version», но этих pkg-drv-kernel-version может быть несчетное количество и хотелось бы оставить pkg-drv, а системе сказать, что все pkg-drv-kernel-version можно считать за pkg-drv.

Как такое можно сделать?

 ,

metawishmaster
()

поменять версию подпроекта в Makefile

Всем прывет!

Эт снова я с вопросом о Makefile

есть такой Makefile, который собираю командой `sudo make bindeb-pkg`

KERNELDIR := /lib/modules/`uname -r`/build

obj-m += src/soc/

all:
        $(MAKE) -C $(KERNELDIR) M=`pwd` modules
        $(shell INSTALL_MOD_DIR="debian/es8336-avs/lib/modules/`uname -r`/misc"; \
                for f in `find src/soc -name "*.ko"`; do \
                DIR="$${INSTALL_MOD_DIR}/`dirname $$f | sed -e 's#^src/##g'`"; \
                mkdir -p $${DIR}; cp "$$f" $${DIR}/; done)

bindeb-pkg:
        $(shell mkdir -p debian/tmp/lib debian/tmp/DEBIAN)
        $(shell echo "es8336-avs (`uname -r`-`git rev-list HEAD --count`) unstable; urgency=medium" > debian/changelog)
        $(shell echo >> debian/changelog)
        $(shell echo "  * Initial release (Closes: #nnnn)  <nnnn is the bug number of your ITP>" >> debian/changelog)
        $(shell echo >> debian/changelog)
        $(shell echo " -- unknown <build@buildhost>  `date | awk '{printf(\"%s, %s %s %s %s +0300\", $$1, $$2, $$3, $$4, $$5);}'`" >> debian/changelog)
        $(shell echo >> debian/changelog)
        $(shell echo "es8336-avs-firmware (1) unstable; urgency=medium" >> debian/changelog)
        $(shell echo >> debian/changelog)
        $(shell echo "  * Initial release (Closes: #nnnn)  <nnnn is the bug number of your ITP>" >> debian/changelog)
        $(shell echo >> debian/changelog)
        $(shell echo " -- unknown <build@buildhost>  `date | awk '{printf(\"%s, %s %s %s %s +0300\", $$1, $$2, $$3, $$4, $$5);}'`" >> debian/changelog)
        dpkg-buildpackage -b

install: all
        $(MAKE) INSTALL_MOD_DIR=misc -C $(KERNELDIR) M=`pwd` modules_install
        $(shell depmod `uname -r`)
        $(shell ./scripts/mkmodprobe.sh)
#       $(shell ./scripts/mksndconfigs.sh)
        $(shell cp -r ./firmware /lib/)

clean:
        $(MAKE) -C $(KERNELDIR) M=`pwd` clean

Описание проблемы: хочу в одном дереве создавать два проекта (для драйвера и фирмвари) и чтобы версия deb-файла с фирмварью отличалась от `uname -r` и была, скажем «1», а не 6.1.61. Так-то оба проекта собирабтся, но версию вирмварьного подпроекта никак не получается сменить.

Это вообще возможно? или нужно разбивать на два отдельных проекта в разных каталогах?

 

metawishmaster
()

не получается построить Makefile для firmware

доброго вечера!

я тут понял, что забыл как сделать простой deb-пакет с фирмварью
есть Makefile

KERNELDIR := /lib/modules/`uname -r`/build

#obj-$(CONFIG_SND_SOC_SIMPLE_MUX)       += snd-soc-simple-mux.o

obj-m += src/soc/

all:
        $(MAKE) -C $(KERNELDIR) M=`pwd` modules
        $(shell INSTALL_MOD_DIR="debian/es8336-avs/lib/modules/`uname -r`/misc"; \
                for f in `find src/soc -name "*.ko"`; do \
                DIR="$${INSTALL_MOD_DIR}/`dirname $$f | sed -e 's#^src/##g'`"; \
                mkdir -p $${DIR}; cp "$$f" $${DIR}/; done)
        $(shell cp -r ./firmware debian/es8336-avs/lib/)

bindeb-pkg:
        $(shell mkdir -p debian/tmp/lib)
        $(shell cp -r ./firmware debian/tmp/lib/)
        $(shell echo "es8336-avs (`uname -r`-`git rev-list HEAD --count`) unstable; urgency=medium" > debian/changelog)
        $(shell echo >> debian/changelog)
        $(shell echo "  * Initial release (Closes: #nnnn)  <nnnn is the bug number of your ITP>" >> debian/changelog)
        $(shell echo >> debian/changelog)
        $(shell echo " -- unknown <build@buildhost>  `date | awk '{printf(\"%s, %s %s %s %s +0300\", $$1, $$2, $$3, $$4, $$5);}'`" >> debian/changelog)
        dpkg-buildpackage -nc --no-post-clean -b

install: all
        $(MAKE) INSTALL_MOD_DIR=misc -C $(KERNELDIR) M=`pwd` modules_install
        $(shell depmod `uname -r`)
        $(shell ./scripts/mkmodprobe.sh)
        $(shell ./scripts/mksndconfigs.sh)
        $(shell cp -r ./firmware /lib/)

clean:
        $(MAKE) -C $(KERNELDIR) M=`pwd` clean

но `sudo make bindeb-pkg` заканчивается так:
   dh_install
dh_install: warning: Cannot find (any matches for) "lib/firmware/intel/avs/skl/dsp_basefw.bin" (tried in ., debian/tmp)

dh_install: warning: es8336-avs-firmware missing files: lib/firmware/intel/avs/skl/dsp_basefw.bin
dh_install: warning: Cannot find (any matches for) "lib/firmware/intel/avs/hda-8086280b-tplg.bin" (tried in ., debian/tmp)

dh_install: warning: es8336-avs-firmware missing files: lib/firmware/intel/avs/hda-8086280b-tplg.bin
dh_install: warning: Cannot find (any matches for) "lib/firmware/intel/avs/hda-8086280b-tplg.conf" (tried in ., debian/tmp)

dh_install: warning: es8336-avs-firmware missing files: lib/firmware/intel/avs/hda-8086280b-tplg.conf
dh_install: warning: Cannot find (any matches for) "lib/firmware/intel/avs/es8336-tplg.bin" (tried in ., debian/tmp)

dh_install: warning: es8336-avs-firmware missing files: lib/firmware/intel/avs/es8336-tplg.bin
dh_install: warning: Cannot find (any matches for) "lib/firmware/intel/avs/es8336-tplg.conf" (tried in ., debian/tmp)

dh_install: warning: es8336-avs-firmware missing files: lib/firmware/intel/avs/es8336-tplg.conf
dh_install: error: missing files, aborting
make[1]: *** [debian/rules:18: binary] Error 255
make[1]: Leaving directory '/home/sbauer/devel/es8336-avs'
dpkg-buildpackage: error: debian/rules binary subprocess returned exit status 2
make: *** [Makefile:24: bindeb-pkg] Error 2


диспозиция:
sbauer@astra ~/devel/es8336-avs master$ find . -name "*.bin"
./firmware/intel/avs/es8336-tplg.bin
./firmware/intel/avs/hda-8086280b-tplg.bin
./firmware/intel/avs/skl/dsp_basefw.bin
./debian/es8336-avs/lib/firmware/intel/avs/es8336-tplg.bin
./debian/es8336-avs/lib/firmware/intel/avs/hda-8086280b-tplg.bin
./debian/es8336-avs/lib/firmware/intel/avs/skl/dsp_basefw.bin
sbauer@astra ~/devel/es8336-avs master$ ll ./debian/es8336-avs-firmware.install
-rwxr-xr-x 1 sbauer sbauer 280 Nov 12 21:02 ./debian/es8336-avs-firmware.install
sbauer@astra ~/devel/es8336-avs master$ cat ./debian/es8336-avs-firmware.install
#!/usr/bin/dh-exec --with-scripts=filter-arch,filter-build-profiles
lib/firmware/intel/avs/skl/dsp_basefw.bin
lib/firmware/intel/avs/hda-8086280b-tplg.bin
lib/firmware/intel/avs/hda-8086280b-tplg.conf
lib/firmware/intel/avs/es8336-tplg.bin
lib/firmware/intel/avs/es8336-tplg.conf
sbauer@astra ~/devel/es8336-avs master$ ll debian/tmp/
total 0
sbauer@astra ~/devel/es8336-avs master$ 


подскажите, плиз, куда копать?

p.s. пробовал и `dpkg-buildpackage -nc --no-post-clean -b`, но результат тот же
p.p.s `dpkg-buildpackage -nc --no-post-clean -b` не помогает - debian/tmp обнуляется постоянно
p.p.s. пустой «override_dh_clean:» тоже не помог
p.p.p.s. решилось с
override_dh_install:
#       cp -r ./firmware debian/tmp/lib/
        dh_install
        install firmware/intel/avs/skl/dsp_basefw.bin debian/es8336-avs-firmware/lib/firmware/intel/avs/skl/dsp_basefw.bin

в debian/rules

 

metawishmaster
()

devel-пакет от GStreamer в archlinux

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

а кто общался с Archlinux? вещь в себе, нужно сказать, но занятная :)

в целом интересует вопрос, как побороть такую беду:

configure: error: 
      You need to install or upgrade the GStreamer development
      packages on your system. On debian-based systems these are
      libgstreamer1.0-dev; on RPM-based systems gstreamer1.0-devel.
      The minimum version required is 1.0.0.


'sudo sudo pacman -S gstreamer' делал, но, видимо, нужны dev-пакеты...

 ,

metawishmaster
()

линукс на флешке == боль и печаль

всем доброго вечера!
неделю назад решил сделать линукс на внешнем диске, купил внешний SSD, линукс поставился, запускается и работает.
но сегодня тот же «финт ушами» с обычной usb-флешкой не прокатил - линукс (успешно!) поставился, но не запускается и, соответственно, не работает :-\

подскажите, плиз, как нынче модно решать проблему установки сферического линукса (в моем случае - AstraLinux) на флешку?

[upd]
хотя..., но за ценные подсказки буду благодарен! :)
[/upd]

 , ,

metawishmaster
()

debian bookworm sound pops and clicks

Добрый день, ЛОР!

собственно, проблема: звуковушка с драйвером es8336 в убунте-22.04 издавала нехорошие звуки при старте системы и остановке. У меня получилось подредактировать драйвер ядра так, что при старте на убунте жуткий треск стал еле заметным пфыканием, но на debian-12 с тем же модифицированным ядром, треск так и остаетя треском :-\

помогите идеями, пожалуйста, кто может быть виноват в треске? и куда посмотреть в поисках лекарства?

 , ,

metawishmaster
()

не получается в Xlib

/* тему стоило бы назвать как-нить типа «призер олимпиады по
* русскому языку не справился с простейшим вопросом в подворотне
* Южного Бутово», но это было бы не очень информативно
*/

В общем, пытаюсь поймать событие ButtonRelease при *завершении* изменения размера окна, чтобы не ловить постоянно «Window resized to %{newX}x${newY}

#include <stdio.h>
#include <stdlib.h>
#include <stdbool.h>
#include <X11/X.h>
#include <X11/Xlib.h>
#include <X11/Xutil.h>
#include <X11/cursorfont.h>
#include <X11/Xcursor/Xcursor.h>

#define PointerMotionHint (1 << 16)

int main()
{
    Display *display;
    Window rootWindow, selectedWindow, window = None;
    Cursor cursor;
    XWindowAttributes windowCurAttributes;
    XEvent event;
    int prevWidth, prevHeight, rootX, rootY, winX, winY;
    unsigned int mask;
    bool resizing = false;

    display = XOpenDisplay(NULL);
    if (display == NULL) {
        fprintf(stderr, "Cannot open display\n");
        exit(1);
    }

    cursor = XCreateFontCursor(display, XC_hand2);
    XDefineCursor(display, XRootWindow(display, DefaultScreen(display)), cursor);
    XChangeActivePointerGrab(display, PointerMotionMask | ButtonPressMask | ButtonReleaseMask, cursor, CurrentTime);
    XGrabPointer(display, DefaultRootWindow(display), False,
                 ButtonPressMask | ButtonReleaseMask | PointerMotionMask, GrabModeAsync, GrabModeAsync, None, cursor,
                 CurrentTime);

    while (1) {
        XNextEvent(display, &event);
        switch (event.type) {
        case ButtonPress:
            XQueryPointer(display, DefaultRootWindow(display), &rootWindow, &selectedWindow, &rootX,
                          &rootY, &winX, &winY, &mask);
            window = selectedWindow;

            XSelectInput(display, window, StructureNotifyMask | PointerMotionMask | ButtonReleaseMask);
            printf("Selected window with ID 0x%lx\n", window);
            // XGrabPointer(display, DefaultRootWindow(display), False,
            XGrabPointer(display, window, False,
                         ButtonPressMask | ButtonReleaseMask | PointerMotionMask, GrabModeAsync,
                         GrabModeAsync, None, None, CurrentTime);
            XGetWindowAttributes(display, window, &windowCurAttributes);
            prevWidth = windowCurAttributes.width;
            prevHeight = windowCurAttributes.height;
            printf("pointer has been grabbed\n");
            break;
        case ConfigureNotify:
            if (event.xconfigure.window == window) {
                if (1 || resizing) {
                    if (event.xconfigure.width > prevWidth) {
                        printf("Window is being enlarged in width: %dx%d\n",
                               event.xconfigure.width, event.xconfigure.height);
                    }
                    else if (event.xconfigure.width < prevWidth) {
                        printf("Window is being shrunk in width: %dx%d\n",
                               event.xconfigure.width, event.xconfigure.height);
                    }
                    if (event.xconfigure.height > prevHeight) {
                        printf("Window is being enlarged in height: %dx%d\n",
                               event.xconfigure.width, event.xconfigure.height);
                    }
                    else if (event.xconfigure.height < prevHeight) {
                        printf("Window is being shrunk in height: %dx%d\n",
                               event.xconfigure.width, event.xconfigure.height);
                    }
                    prevWidth = event.xconfigure.width;
                    prevHeight = event.xconfigure.height;
                }
            }
            break;
        case MotionNotify:
            if (window != None) {
                int rootX, rootY, winX, winY;
                unsigned int mask;
                XQueryPointer(display, window, &rootWindow, &selectedWindow, &rootX, &rootY, &winX,
                              &winY, &mask);
                int border_size = 5;
                if (winX <= border_size) {
                    if (winY <= border_size) {
                        cursor = XcursorShapeLoadCursor(display, XC_top_left_corner);
                        XChangeActivePointerGrab(display, PointerMotionMask | ButtonReleaseMask,
                                                 cursor, CurrentTime);
                        resizing = true;
                    }
                    else if (winY >= event.xconfigure.height - border_size) {
                        cursor = XcursorShapeLoadCursor(display, XC_bottom_left_corner);
                        XChangeActivePointerGrab(display, PointerMotionMask | ButtonReleaseMask,
                                                 cursor, CurrentTime);
                        resizing = true;
                    }
                    else {
                        XChangeActivePointerGrab(display, PointerMotionMask | ButtonReleaseMask,
                                                 None, CurrentTime);
                        resizing = false;
                    }
                }
                else if (winX >= event.xconfigure.width - border_size) {
                    if (winY <= border_size) {
                        cursor = XcursorShapeLoadCursor(display, XC_top_right_corner);
                        XChangeActivePointerGrab(display, PointerMotionMask | ButtonReleaseMask,
                                                 cursor, CurrentTime);
                        resizing = true;
                    }
                    else if (winY >= event.xconfigure.height - border_size) {
                        cursor = XcursorShapeLoadCursor(display, XC_bottom_right_corner);
                        XChangeActivePointerGrab(display, PointerMotionMask | ButtonReleaseMask,
                                                 cursor, CurrentTime);
                        resizing = true;
                    }
                    else {
                        XChangeActivePointerGrab(display, PointerMotionMask | ButtonReleaseMask,
                                                 None, CurrentTime);
                        resizing = false;
                    }
                }
                else {
                    XChangeActivePointerGrab(display, PointerMotionMask | ButtonReleaseMask,
                                             None, CurrentTime);
                    resizing = false;
                }
            }
            break;
        case ButtonRelease:
            printf("Button released\n");
            if (window != None) {
                XUngrabPointer(display, CurrentTime);
                printf("Pointer ungrabbed\n");
                printf("Window resizing has been finished\n");
            }
            break;
        default:
            break;
        }
        if (event.type == ConfigureNotify) {
            printf("Window resized to %dx%d\n", event.xconfigure.width, event.xconfigure.height);
        }// else
//			printf("event.type == %d\n", event.type);
    }
}

но получается только один раз при выборе окна:
$ ./scnotify 
Selected window with ID 0x170917c
pointer has been grabbed
Button released
Pointer ungrabbed
Window resizing has been finished
Window is being enlarged in width: 1310x780
Window resized to 1310x780
Window is being enlarged in width: 1311x780
Window resized to 1311x780
Window is being enlarged in width: 1312x780
Window resized to 1312x780
^C     # а ожидался "Button released"

У нас остались люди сведущие в Xlib? Где я косячу?

 

metawishmaster
()

свой драйвер в убунте

всем доброго вечера!

пытаюсь вставить свой драйвер в ubuntu, но получаю такой dmesg:

user@localhost:~$ sudo dmesg | grep snd
[    6.886423] snd_soc_avs_et: loading out-of-tree module taints kernel.
[    6.886556] snd_soc_avs_et: module verification failed: signature and/or required key missing - tainting kernel
[    6.889554] snd_soc_avs_et 0000:00:1f.3: DSP detected with PCI class/subclass/prog-if info 0x040100

причем мне говорят, что модули подписаны:
$ sudo make install
make -C /usr/src/linux-headers-6.1.0-1012-oem/ M=`pwd` modules_install
make[1]: Entering directory '/usr/src/linux-headers-6.1.0-1012-oem'
  INSTALL /lib/modules/6.1.0-1012-oem/extra/snd-soc-avs-es8336-et.ko
  SIGN    /lib/modules/6.1.0-1012-oem/extra/snd-soc-avs-es8336-et.ko
  INSTALL /lib/modules/6.1.0-1012-oem/extra/snd-soc-avs-et.ko
  SIGN    /lib/modules/6.1.0-1012-oem/extra/snd-soc-avs-et.ko
  INSTALL /lib/modules/6.1.0-1012-oem/extra/snd-soc-es8316-et.ko
  SIGN    /lib/modules/6.1.0-1012-oem/extra/snd-soc-es8316-et.ko
  DEPMOD  /lib/modules/6.1.0-1012-oem
Warning: modules_install: missing 'System.map' file. Skipping depmod.
make[1]: Leaving directory '/usr/src/linux-headers-6.1.0-1012-oem'

тут вроде как и подписывает, но по-факту:
$ modinfo snd-soc-avs-es8336-et
filename:       /lib/modules/6.1.0-1013-oem/kernel/sound/soc/intel/avs/boards/snd-soc-avs-es8336-et.ko
alias:          platform:avs_es8336
license:        GPL
srcversion:     BDCB0FEB781261C072248E2
depends:        snd-soc-core,snd
retpoline:      Y
name:           snd_soc_avs_es8336_et
vermagic:       6.1.0-1013-oem SMP preempt mod_unload modversions

WTF???, в смысле, что происходит??

p.s. звука, соответственно, нет, хотя lsmod говорит, что модули на месте
p.p.s. с обычным (скачаным с kernel.org) ядром звук есть, но там я подписи не требую...

 signing, ,

metawishmaster
()

debian-live и свое ядро

всем доброго дня!

а раскажите мне, пожалуйста, историю успеха с добавлением своего ядра в *установочный* образ debian live.
добавление параметров "--mirror-binary http://localhost:8000/repo/
--linux-packages linux-image-6.1.29-custom --linux-flavours amd64" к lb config не спасает :-\

 ,

metawishmaster
()

разброд и шатание в именах сетевых интерфейсов у udev

доброго всем вечера!

решил на ночь глядя поменяnm названия eth5<=>eth1

/etc/udev/rules.d/70-persistent-net.rules:

SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="1c:1b:0d:ca:97:68", ATTR{dev_id}=="0x0", ATTR{type}=="1", KERNEL=="eth*", NAME="eth0"
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="68:05:ca:a2:ee:78", ATTR{dev_id}=="0x0", ATTR{type}=="1", KERNEL=="eth*", NAME="eth1"

SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="00:90:54:5c:9b:92", ATTR{dev_id}=="0x0", ATTR{type}=="1", KERNEL=="eth*", NAME="eth5"
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="68:05:ca:a2:ea:84", ATTR{dev_id}=="0x0", ATTR{type}=="1", KERNEL=="eth*", NAME="eth6"
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="00:80:0f:74:31:00", ATTR{dev_id}=="0x0", ATTR{type}=="1", KERNEL=="eth*", NAME="eth7"


но некоторые интерфейсы как-то сдвинулись:
sbauer@metamini ~$ lsif
dev              |  state  | ip_addr         |   hw_addr         | driver
            eth0 (      up )      172.29.2.5 [ 1c:1b:0d:ca:97:68 ] r8169
            eth3 (      up )      172.29.3.5 [ 68:05:ca:a2:ee:78 ] e1000e
            eth6 (      up )    192.168.11.1 [ 68:05:ca:a2:ea:84 ] e1000e
            eth8 (      up )                 [ 68:05:ca:69:93:87 ] e1000e


в чем может быть причина? кроме той, что я не пользуюсь systemd? %)

p.s. админам: ошибся темой! :-/ перенесите, пожалуйста в general

 ,

metawishmaster
()

сетевая карта с несколькими PHY

все доброго дня!

мне для теста программы понадобился subj, порекомендуйте, пожалуйста, оптимальный вариант. хочется (для самоосознания, наверное) карточку с 4-мя PHY, но 20 штук отдавать ради, пусть даже, недельного теста рука не поднимается :)

 

metawishmaster
()

dpkg(_builpackage) не удаляет пакеты предыдущей версии

Доброго вечера!

Решил вечер занять своркой модифицированной версии VLC, все собралось, «dpkg-buildpackage -b» построил пакетик, но при его установке, он не удаляет пачку пакетов версии 3.0.16-че-то-там

в debian/control:

Source: vlc
Section: unknown
Priority: optional
Maintainer: sbauer <sbauer@unknown>
Build-Depends: debhelper-compat (= 13), autotools-dev
Standards-Version: 4.6.0
Homepage: <insert the upstream URL, if relevant>
#Vcs-Browser: https://salsa.debian.org/debian/vlc
#Vcs-Git: https://salsa.debian.org/debian/vlc.git
Rules-Requires-Root: no

Package: vlc
Architecture: any
Depends: ${shlibs:Depends}, ${misc:Depends}
Replaces: vlc (<< 3.0.18-1), libvlc-bin (<< 3.0.18-1), libvlc-dev (<< 3.0.18-1), libvlc5 (<< 3.0.18-1), libvlccore-dev (<< 3.0.18-1), libvlccore9 (<< 3.0.18-1), vlc-bin (<< 3.0.18-1), vlc-data (<< 3.0.18-1), vlc-l10n (<< 3.0.18-1), vlc-plugin-access-extra (<< 3.0.18-1), vlc-plugin-base (<< 3.0.18-1), vlc-plugin-fluidsynth (<< 3.0.18-1), vlc-plugin-jack (<< 3.0.18-1), vlc-plugin-notify (<< 3.0.18-1), vlc-plugin-qt (<< 3.0.18-1), vlc-plugin-samba (<< 3.0.18-1), vlc-plugin-skins2 (<< 3.0.18-1), vlc-plugin-svg (<< 3.0.18-1), vlc-plugin-video-output (<< 3.0.18-1), vlc-plugin-video-splitter (<< 3.0.18-1), vlc-plugin-visualization (<< 3.0.18-1), vlc-plugin-bittorrent (<< 3.0.18-1), vlc-plugin-pipewire (<< 3.0.18-1)
Description: <insert up to 60 chars description>
 <insert long description, indented with spaces>


подскажите, плиз, в чем может быть загвоздка?

 ,

metawishmaster
()

не получается с RTSP-потоком и VLC

добрый вечер, ЛОР! все выходные «стеснялся» задать тупой вопрос, но тем не менее:

создаю RTSP-сервер:

rtspServer=172.29.3.5:rtsp://172.29.3.5:8554/webCamStream ../../rtsp-simple-server

затем включаю поток:
ffmpeg -f v4l2 -framerate 24 -video_size 480x480 -i /dev/video0 -f rtsp -rtsp_transport tcp rtsp://172.29.3.5:8554/webCamStream

и все казалось бы зашибись: 'ffplay rtsp://172.29.3.5:8554/webCamStream' его замечательно проигрывает, mplayer тоже, хоть и притормаживает, а вот vlc - ни в какую! пишет

Your input can't be opened:
VLC is unable to open the MRL 'rtsp://172.29.3.5:8554/webCamStream'. Check the log for details.


подскажите, пожалуйста, что я делаю не так?

p.s. камера самая обычная - LifeCam HD-3000

 ,

metawishmaster
()

падает debian-live-config

доброго всем вечера!
уже второй (или третий?) день не получается подружить kubuntu и debian с помощью debian-live-config

в кубунте скачал из git'a debian-live-config, сделал такие изменения, но сборка заканчивается печально:

$ make
...
Fetched 45.7 MB in 8s (6024 kB/s)
Reading package lists...
W: GPG error: http://ru.archive.ubuntu.com/ubuntu jammy InRelease: The following signatures couldn't be verified because the public key is not available: NO_PUBKEY 871920D1991BC93C
W: GPG error: http://ru.archive.ubuntu.com/ubuntu jammy-updates InRelease: The following signatures couldn't be verified because the public key is not available: NO_PUBKEY 871920D1991BC93C
W: GPG error: http://ru.archive.ubuntu.com/ubuntu jammy-backports InRelease: The following signatures couldn't be verified because the public key is not available: NO_PUBKEY 871920D1991BC93C
W: GPG error: http://security.ubuntu.com/ubuntu jammy-security InRelease: The following signatures couldn't be verified because the public key is not available: NO_PUBKEY 871920D1991BC93C
Reading package lists...
Building dependency tree...
The following packages will be upgraded:
  debian-archive-keyring
1 upgraded, 0 newly installed, 0 to remove and 148 not upgraded.
                                                                Need to get 0 B/90.6 kB of archives.
                                                                                                    After this operation, 61.4 kB disk space will be freed.
                                                                                                                                                           /usr/bin/dpkg: /lib/x86_64-linux-gnu/libc.so.6: version `GLIBC_2.33' not found (required by /usr/bin/dpkg)
/usr/bin/dpkg: /lib/x86_64-linux-gnu/libc.so.6: version `GLIBC_2.34' not found (required by /usr/bin/dpkg)
E: Sub-process /usr/bin/dpkg returned an error code (1)
E: An unexpected failure occurred, exiting...
P: Begin unmounting filesystems...
P: Saving caches...
Reading package lists...
Building dependency tree...
Reading state information...


я бы понял, что я идиот, но
$ objdump -T /usr/bin/dpkg | grep GLIBC | sed 's/.*GLIBC_\([.0-9]*\).*/\1/g' | sort -Vu
2.2.5
2.3
2.3.4
2.4
2.6
2.7
2.8
2.11
2.14
2.33
2.34


помогите, плиз, понять и осознать :)

[upd]
забыл сказать чего пытаюсь добиться, а хочу я выпилить графический установщих и заменить его текстовым, типа как в дебиане, но это только попытка «прощупать» вариант, может так и не получится :-\
[/upd]

 debian-live-config,

metawishmaster
()

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