2014-10-28 44 views
0

我們正在移植最初設計用於在基於x86/x64 Debian的系統上運行的ARM解決方案。在ARMv6上運行x86打印機驅動程序二進制文件

到目前爲止很好,但隨着這個解決方案,我們推出了兼容的打印機,並配備了Linux(x86和x64)的驅動程序,不幸的是製造商沒有ARM驅動程序,也沒有能力編譯一些從源代碼(不知道爲什麼)。

我用CUPS安裝了打印機並使用了x86二進制文件。但當然,每當我發送任務到打印機,ARM的系統不能使用二進制和自然CUPS報告:

/usr/lib中/杯/過濾/ rastertotg2460失敗

我會想知道如何在基於ARM v6的系統上運行x86二進制文件?

ARM操作系統是在Raspberry Pi B +板上運行的Raspbian,並且二進制文件(如果您想要查看)是here

編輯:

我也意識到的主張,以使其能夠運行在ARM系統x86二進制this專有的解決方案,但所有的示威是ARM V7系統,不知道這是否會工作在帶Raspberry Pi B +板的Raspbian。

+0

我不確定它是否有幫助,但QEMU可以爲不同的體系結構運行可執行文件。我使用'qemu-arm'在X86 HW中運行ARM二進制文件,所以應該可以使用'qemu-i386'在ARM中運行x86二進制文件,不是嗎? – rodrigo 2014-10-28 13:58:22

+0

我現在知道了。沒有使用QEMU。但我會研究它。 – 2014-10-28 13:59:22

回答

1

我認爲這將需要一些認真的工作,但最初我錯了。

由於您要驅動打印機,因此您將不得不在CUPS系統的「內部」執行x86仿真。單獨使用x86模擬器是不夠的,因爲這些模擬器旨在爲您提供一個完整的x86系統及外圍硬件和東西。你不需要那個,你只需要驅動打印機。

我可以想象在CUPS「虛擬」驅動程序內使用某種x86仿真庫,然後加載您擁有的x86二進制文件並將其提供給仿真器。然後它需要將預期的CUPS環境暴露給模擬器內的x86代碼。

類似Soft86可能是一個很好的起點。

+0

但是,如果唯一的問題是運行CUPS過濾器,那是一個簡單的程序,它可以輸入/輸出,並且可以用QEMU包裝器來模擬。很多_ifs_,但也許它工作。 – rodrigo 2014-10-28 14:07:43

+0

@FábioAntunesD'oh,我感到困惑,並有錯誤的方式。修正了,謝謝。 – unwind 2014-10-28 15:11:45

+0

我以前從未使用過QEMU。如何通過它運行x86二進制文件? – 2014-10-28 16:07:52

相關問題