Построение aarch64 образа NVIDIA Jetson Nano в контейнере док-станции x64 с помощью GitLab Runner

Я пытаюсь создать собственный образ NVIDIA Jetson Nano (архитектура aarch64) внутри контейнера Docker (под управлением Ubuntu 20.04 x64). Я пропускаю часть инструментов NVIDIA, потому что я застрял в первой части при создании доказательств. Я использую следующие команды:

apt-get update
apt-get install --no-install-recommends -q -y ca-certificates curl dialog apt-utils bzip2 python gdisk binfmt-support qemu qemu-user-static debootstrap
mkdir -p rootfs
qemu-debootstrap --arch=arm64 --variant=minbase --keyring=/usr/share/keyrings/ubuntu-archive-keyring.gpg focal rootfs

Я также пытался

debootstrap --arch=arm64 --foreign --variant=minbase --keyring=/usr/share/keyrings/ubuntu-archive-keyring.gpg focal rootfs
chroot rootfs qemu-aarch64-static /bin/bash -c '/debootstrap/debootstrap --second-stage'

, но всегда получаю следующую ошибку при выполнении этого с помощью GitLab CI.

I: Running command: chroot test /debootstrap/debootstrap --second-stage
chroot: failed to run command '/debootstrap/debootstrap': Exec format error
ERROR: Job failed: exit code 1

Когда я запускаю это локально в WSL или даже в локальном контейнере Docker, это работает .

Я также пробовал Ubuntu 18.04.4 или вообще пропускал часть "custom rootfs". Тем не мение, Мой скрипт вносит необходимые изменения в файл, но настройки в системе не обновляются. Я предполагаю, что должен сказать KDE повторно ...

Я обновляю конфигурационный файл kde ( ~ / .config / kaccessrc ), используя скрипт.

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

После небольшого исследования я попытался использовать kwriteconfig5 , чтобы изменить файл, что он и делает. , но система все еще сохраняет свое старое поведение. Я надеялся, что kwriteconfig5 вызовет KDE для использования новой конфигурации. kwriteconfig5 , по-видимому, не имеет справочной страницы, и по умолчанию на странице справки об этом ничего не говорится:

Usage: kwriteconfig5 [options] value

Options:
  -h, --help       Displays this help.
  --file <file>    Use <file> instead of global config
  --group <group>  Group to look in. Use repeatedly for nested groups.
  --key <key>      Key to look for
  --type <type>    Type of variable. Use "bool" for a boolean, otherwise it is
                   treated as a string

Arguments:
  value            The value to write. Mandatory, on a shell use '' for empty

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

Я попытался выполнить поиск в Интернете, но не могу найти непосредственно релевантного сценарий.

Чего мне не хватает?

Обновление: Предыстория того, чего я пытаюсь достичь

Я хотел бы иметь скрипт, который переключает «навигацию по клавиатуре» или «MouseKeys». Когда у меня есть сценарий, я хочу связать его клавишей на клавиатуре, чтобы я мог включать и выключать ее по своему желанию. Сейчас я делаю это через диалог настроек системы несколько раз в день.

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

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

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

1
задан 24 July 2020 в 14:44

2 ответа

Mousekeys functionality is provided by the xkeyboard driver, and the easiest way to activate and deactivate mousekeys from the terminal or scripts is to use a program dedicated to that task, such as xkbset.

sudo apt install xkbset
xkbset mousekeys   # enable mousekeys
xkbset -mousekeys  # disable mousekeys

Another utility, xdotool, provides functions to control mouse movement programmatically. This may be useful if you need to control the mouse cursor without any user involvement.


As far as I can tell, kwriteconfig5 activates or deactivates most changed settings immediately. In cases where that doesn't happen, it's usually sufficient to reload whichever program uses the config file in question.

Usually, the problematic programs are plasmashell or kwin, but in this case, reloading either is not helpful because neither uses kaccessrc nor provides the functions you desire.

Reloading kaccess also appears to not work. Normally, the xkeyboard driver is handled by other processes during startup/login. Since there is usually no need, kaccess does not alter xkeyboard settings when loaded.

1
ответ дан 30 July 2020 в 22:06

Попробуйте перезапустить ваш plasmashell

kquitapp5 plasmashell && kstart5 plasmashell &

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

0
ответ дан 30 July 2020 в 22:06

Другие вопросы по тегам:

Похожие вопросы: