Как запустить аут в линуксе?

Вопрос в том, как выполнить бинарный файл вне формата (я имею в виду старый формат, который, например, использовался во FreeBSD до того, как он мигрировал в ELF) в системе Linux. Есть ли возможность сделать это без дополнительного кодирования (есть ли какое-то существующее решение)? Вероятно, это должен быть модуль ядра или патч для ядра Linux. Другим решением может быть средство запуска в пользовательском пространстве (может быть даже компоновщик времени выполнения). Я искал что-то подобное, но не смог найти что-то. Я еще не проверял разницу в интерфейсах системных вызовов, если у вас есть какие-либо комментарии по этому поводу, вы можете их предоставить.

P.S. Я знаю, что написать пусковую установку в пользовательском пространстве для статического двоичного файла довольно тривиально, но вопрос касается какого-то существующего решения.


person Vagran    schedule 03.02.2011    source источник
comment
Когда я компилировал свои собственные ядра, я вспомнил опцию ядра, позволяющую включить поддержку двоичного формата aout в ядре. Однако я не знаю, было ли это удалено за это время.   -  person Joachim Sauer    schedule 03.02.2011
comment
Если вы хотите добавить обновления или разъяснения, просто отредактируйте свой вопрос.   -  person Tim Post♦    schedule 05.02.2011


Ответы (2)


Проверьте наличие CONFIG_BINFMT_AOUT в конфигурации вашего ядра.

Если в вашем ядре есть файл /proc/config.gz:

zgrep CONFIG_BINFMT_AOUT /proc/config.gz

В Ubuntu и подобных:

grep CONFIG_BINFMT_AOUT /boot/config-$(uname -r)
person chris    schedule 03.02.2011

Параметр ядра был CONFIG_BINFMT_AOUT, не уверен, что он все еще существует или необходим.

person dustinl4m3    schedule 03.02.2011