Эльбрус/rtc/перепаковка
Для запуска x86-приложений на e2k под бинарным транслятором необходимо подготовить окружение, достаточное для выполнения целевого приложения; в случае динамически скомпонованного исполняемого файла это обычно чрут с нужными библиотеками, а вот для статического бинарника без особых файлов конфигурации может ничего и не понадобиться, запуск осуществляется командой вида rtc --path_prefix / -- /путь/к/программе
rtc-storcli
Пример упакечивания статического x86-бинарника для запуска под rtc:
Name: rtc-storcli Version: 1704 Release: alt1.E2K.1 Summary: storcli repackaged for use with rtc License: proprietary Group: System/Configuration/Hardware Source: storcli64 AutoReqProv: no Requires: rtc >= 4.1-alt1.E2K.5 %define scdir %prefix/libexec %add_debuginfo_skiplist %scdir %set_verify_elf_method none %description %summary %prep %build cat > storcli64.sh << EOF #!/bin/sh exec rtc64 --path_prefix / -- %scdir/storcli64 "\$@" EOF %install install -pDm755 %SOURCE0 %buildroot%scdir/storcli64 install -pDm755 storcli64.sh %buildroot%_sbindir/storcli64 %files %_sbindir/* %scdir/storcli64 %changelog * Fri Oct 14 2022 Michael Shigorin <mike@altlinux.org> 1704-alt1.E2K.1 - initial repackage
Запуск: /usr/sbin/storcli64
rtc-megacli
Пример перепаковки динамического x86-бинарника со специфической библиотекой для запуска под rtc.
statifier
Для начала приготовим статический бинарник из динамического (см. тж. howto).
На x86 готовим чрут из p10, помещаем в него целевой megacli, смотрим:
# cat /usr/sbin/megacli #!/bin/sh LD_LIBRARY_PATH="/usr/lib/megacli:$LD_LIBRARY_PATH" /usr/lib/megacli/megacli.real "$@"
Такое же окружение понадобится и для запуска statifier из одноименного пакета:
# apt-get install -y statifier # mount /proc # export LD_LIBRARY_PATH="/usr/lib/megacli:$LD_LIBRARY_PATH" # statifier /usr/lib/megacli/megacli.real /root/megacli # umount /proc # ldd /root/megacli
Полученный бинарник без внешних библиотечных зависимостей проверяем на функционирование: /root/megacli -h; затем перепаковываем как rtc-megacli.
rtc-megacli.spec
Name: rtc-megacli Version: 8.07.14 Release: alt1.E2K.1 Summary: megacli repackaged for use with rtc License: proprietary Group: System/Configuration/Hardware Source: megacli AutoReqProv: no Requires: rtc >= 4.1-alt1.E2K.5 %define mcdir %prefix/libexec %add_debuginfo_skiplist %mcdir %set_verify_elf_method none %description %summary %prep %build cat > megacli.sh << EOF #!/bin/sh exec rtc64 --path_prefix / -- %mcdir/megacli "\$@" EOF %install install -pDm755 %SOURCE0 %buildroot%mcdir/megacli install -pDm755 megacli.sh %buildroot%_sbindir/megacli %files %_sbindir/* %mcdir/megacli %changelog * Tue Oct 18 2022 Michael Shigorin <mike@altlinux.org> 8.07.14-alt1.E2K.1 - initial repackage
Запуск: /usr/sbin/megacli