Эльбрус/rtc/перепаковка: различия между версиями
м (+rtc-megacli) |
м (→statifier: чуть не забыл насчёт /proc в чруте для statifier) |
||
Строка 65: | Строка 65: | ||
<pre> | <pre> | ||
# apt-get install -y statifier | # apt-get install -y statifier | ||
# mount /proc | |||
# export LD_LIBRARY_PATH="/usr/lib/megacli:$LD_LIBRARY_PATH" | # export LD_LIBRARY_PATH="/usr/lib/megacli:$LD_LIBRARY_PATH" | ||
# statifier /usr/lib/megacli/megacli.real /root/megacli | # statifier /usr/lib/megacli/megacli.real /root/megacli | ||
# ldd /root/megacli | |||
</pre> | </pre> | ||
Полученный бинарник без внешних библиотечных зависимостей проверяем | Полученный бинарник без внешних библиотечных зависимостей проверяем на функционирование: {{cmd|/root/megacli -h}}; затем перепаковываем как {{pkg|rtc-megacli}}. | ||
== rtc-megacli.spec == | == rtc-megacli.spec == |
Версия от 17:22, 18 октября 2022
Для запуска 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 # 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