-
Posts
15 -
Joined
-
Last visited
Posts posted by Ярослав
-
-
А какой клиент IPC неможет подключится ?
Просто вариантов достаточно много когда клиент IPC не может создать подключение к IPC серверу.
Hекорректное имя соединения IPC.
Не стартовал сервер который должен принимать IPC соединение.
Нет разрешения на подключение с IPC серверу.
Так же если был бы предоставлен лог работы системы, это упростило бы поиск ошибки.
-
1
-
-
Вообще скрипт cross-build.sh это просто небольшая обертка над командами cmake, и сделана для удобства.
Никто не мешает исправить cross-build.sh под себя или использовать команды cmake напрямую.
-
Покажите лог сборки вашего примера , как собираете и в каком SDK ?
А в qemu ваш пример работает ?
-
Добрый День
Так как Ваша флешка отформатирована в формате ext2. То началный загрузчик не может ее прочитать. И сетевые настройки не считываются.
[1970-01-01T00:00:11.627][Info][kl.drivers.RAMDisk][21:22][BLKPART] Add MBR/EBR partition 'ramdisk0_p0', type: 0x83, offset: 2048, size: 2048 (in sectors) [1970-01-01T00:00:11.640][Error][kl.drivers.RAMDisk][21:22][BLKPART] MBR is not valid, found signature = 0x0 [1970-01-01T00:00:11.650][Error][kl.drivers.RAMDisk][21:22][BLKPART] MBR not found on disk 'ramdisk1'
Попробуйте отформатировать флешку используя скрипт `common/prepare_hdd_img.sh` из состава дистрибутива. -
Kaspersky OS поддерживает, достаточно большой набор CPU (x86, arm, arm64, mips32) так же поддерживается и расширяется набор поддерживаемого оборудования.
Но SDK KasperskyOS Community Edition предназначено для ознакомления и опробования киберимуной системы. Поэтому была выбрана минимальная и доступная аппаратная платформа для тестирования.
-
Добрый день
У Вас не установились дополнительные пакеты, не обходимые для работы SDK.
Можно проверить каких пакетов недостаточно используя командуsudo apt-get checkИ установить не достающие пакеты.
Но лучше устнавливать пакет используя команду
Цитатаsudo apt-get install ./KasperskyOS-Community-Edition_1.1.1.40_en.deb
так сразу установятся все не обходимые зависимости.
-
В 22.09.2023 в 18:06, Segfault сказал:
В программе драйвера (упрощено для теста):
DNetDriver* _DNetDriverEntryTest(void *context) { fprintf(stderr, "_DNetDriverEntryTest()\n"); return(NULL); } int main(void) { fprintf(stderr, "DNetRegisterDriver...\n"); DNetError err = DNetRegisterDriver(_DNetDriverEntryTest, NULL); if(err != DNET_EOK) { fprintf(stderr, "DNetRegisterDriver failed with %u\n", err); } fprintf(stderr, "DNetRegisterDriver passed\n"); // ... }
При запуске DNetRegisterDriver отрабатывает с кодом DNET_EOK, но _DNetDriverEntryTest не вызывается.
Посмотрел этот пример, вижу, что при компиляции добавляется LWEXT4_LIB. Посмотрел библиотеку liblwext4.a, нашел несколько init функций внутри секции initcall_fs_section, нашел упоминание в vfs/fs.h, там же нашелся REGISTER_FILESYSTEM. Поискал аналогичное для сети, но не нашел.
Вроде понял. ))
Что бы создать драйвер для нового устройства и включить его в существующий API KOS(dnet_class), достаточно сложный процесс. Возможно, на уровни представленного SDK даже не получится.
Конечно, писать свой собственный драйвер, без сетевого стека тоже не то.
-
В 22.09.2023 в 18:06, Segfault сказал:
Да, и сам процесс запускается. Файл init.yaml выглядит так:
entities: # Entity "client" - name: ds.Client connections: - target: ds.VfsNet id: {var: _VFS_CONNECTION_ID, include: vfs/defs.h} @INIT_Client_ENTITY_CONNECTIONS+@ - name: ds.VfsNet @INIT_VfsNet_ENTITY_CONNECTIONS@ - name: ds.ModemDriver @INIT_ModemDriver_ENTITY_CONNECTIONS@ @INIT_EXTERNAL_ENTITIES@Это файл init.yaml.in , этот файл преобразуется в init.yaml и вот его лучше посмотреть , init.yaml файл обычно находится в каталоге build/einit/Einit-.../
-
А драйвер прописан в init.yaml ?
В 20.09.2023 в 18:32, Segfault сказал:Вообще, такая схема с vfs, dnet и драйвером в трех разных процессах имеет право на жизнь?
можно
-
В файле политик psl , есть разрешение на запуск этих процессов ?
Так же в файле init.yaml все процессы прописаны и соединены между собой ?
-
Добрый день
Для началной работы с BULK передачей в USB. Достаточно минимално заполнить структура UsbConfig
{.direction = UE_DIR_OUT, (or UE_DIR_IN)
.endpoint = UE_ADDR_ANY,
.type = UE_BULK,
.flags = {.shortTransferOk = 1, .blockPipeOnFailure = 1},
.cbStart = TransferStart (callback ),
.cbSubmit = CBWTransferSubmit (callback),
.cbError = CBWTransferError (callback)},Но перед началом необходимо открыть usb (UsbDeviceOpen), сделать активным (UsbIfaceDriverSetActive)
-
Добрый день!
Локально пользуюсь Ubuntu 20.04. KasperskyOS-Community-Edition устанавливается и работает корректно.
-
1
-
-
Добрый день.
В соответствии с документацией на RPI4 на плате может быть настроено до 6 UART портов на различны gpio пинах. В KasperskyOS настройка gpio пинов на работу с альтернативными функциями происходит через систему BSP основная функция BspSetConfig() (установить нужную конфигурацию) посмотреть какие на плате есть модули и какие конфигурации можно через функции BspEnumModules() BspEnumConfigs().
После настройки BSP на работу с UART в нужной конфигурации, нужно инициализировать UART и открыв нужный порт работать с UART. Пример работы с UART есть в SDK
-
Добрый день
Система apt автамотически устанавливает все необходимые зависимости пакета deb. В пакете KasperskyOS-Community-Edition_1.1.1.13_en.deb зависимость от make уже есть
The following packages have unmet dependencies: kasperskyos-community-edition : Depends: make (>= 3.81) but it is not installableПоэтому пакет make должен устанавливатся. Перед выполнением команды apt install желательно выполнить команду apt update для обновленяи ссылок.
-
2
-
Каков лучший способ сделать условную компиляцию в зависимости от цели qemu или kos-image ?
in KasperskyOS, Разработка
Posted
Вот как раз диалог позволяет новичкам определится. Вы обозначили что в qemu не реализована GPIO подсистема. Поэтому в документации указано что на RPI4 пример будет работать, а на qemu нет, все вроде логично для демо примера. А если Вы создает сложный проект, то делать копипасту не понимая, как это работает, плохая идея.
И здесь, Вы предлагаете улучшить скрипт cross-build.sh ?