Использование фильтра x86 CUPS на Raspbian

1

Я пытался использовать фильтр CUPS, скомпилированный для x86 на Raspbian, однако, когда я отправляю задание на печать, я всегда получаю этот ответ.

/ usr / lib / cups / filter / rastertg не удалось

Я хотел бы знать, есть ли способ использовать этот фильтр CUPS, скомпилированный для x86 на Raspbian, который работает на ARM?

Спасибо.

Фабио Антунес
источник

Ответы:

1

На самом деле, нет. Вы не можете запустить исполняемый файл, скомпилированный для одного типа процессора, на другом процессоре.

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

Qemu также можно использовать для эмуляции другого процессора для прозрачного запуска двоичного файла. Там есть учебник по Debian . Я никогда не делал этого, я не знаю, как это легко настроить. Обратите внимание, что большая часть литературы по этой теме будет посвящена запуску arm, mips или ppc на x86, вы делаете противоположное (x86 на arm).

Наиболее практичным решением является компиляция этого фильтра для вашей системы. Вы можете сделать компиляцию на своем Pi или использовать кросс-компилятор на ПК. Существует несколько ABI для ARM, поэтому обязательно используйте кросс-компилятор для Raspbian.

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

жилль
источник
Не могли бы мы минимизировать голод Qemu для ресурсов, используя некоторые ОС Linux, которые имеют только службу CUPS?
Фабиу Антунес,
@ FábioAntunes Вам даже не нужно было запускать CUPS на виртуальной машине x86, только эта rastertgпрограмма.
Жиль
Я новичок в Qemu, не могли бы вы подтвердить правильность этой оперативной процедуры? Я бы начал с установки минимального экземпляра Debian 7 i386 на Qemu. Затем я загружаю его каждый раз, когда хост-система загружается с помощью crontab. Тогда можно было бы с уверенностью предположить, что когда CUPS хоста « rastertgвызовет», ему будет предложено запустить Qemu и работать как положено? Это означает, что если бы я ./i386binaryзагружал терминал после загрузки Qemu, бинарный файл работал бы нормально.
Фабио Антунес,
@ FábioAntunes No: Qemu создает виртуальную машину, вам потребуется немало дополнительной работы для отправки информации в rastertgпроцесс, выполняющийся внутри виртуальной машины, и из него . Также возможно запустить Qemu для запуска одного двоичного файла, и это то, что вам следует сделать здесь, если вы хотите пойти по маршруту Qemu. Там есть учебник по Debian .
Жиль
Спасибо. Я попробую это, как только Распбян закончит компилировать ядро ​​проекта, которое должно быть через два дня.
Фабио Антунес,