如果你用的打印机foo2zjs已支持,可以不使用cups,直接用foo2zjs将pbm文件转换成打印机支持的流,传入打印机即可打印。

以惠普的hp1020为例,交叉编译步骤如下:

#! /bin/sh
#
# foo2zjs: Linux环境下的打印机驱动
## 1.下载源码
wget http://foo2zjs.rkkda.com/foo2zjs.tar.gz &&# 2.解压源码
tar zxvf foo2zjs.tar.gz &&# 3.分别拷贝为PC版本和ARM版本
cp foo2zjs foo2zjs-arm -r &&
mv foo2zjs foo2zjs-x86 &&# 4.编译PC版本
cd foo2zjs-x86 &&
make &&
cd ../ &&# 5.编译ARM版本
cd foo2zjs-arm &&
make CC=arm-linux-gnueabihf-gcc &&# 6.使用编译出来的getweb程序, 得到对应打印机的固件程序: sihp1020.img
./getweb 1020 &&# 7.用x86 gcc编译的arm2hpdl工具将sihp1020.img转化为sihp1020.dl
cd ../foo2zjs-x86 &&
./arm2hpdl ../foo2zjs-arm/sihp1020.img > ../foo2zjs-arm/sihp1020.dl &&
cd ../ &&# 8.将生成的sihp1020.dl和foo2zjs拷贝至目标板的文件系统中
cp foo2zjs-arm/sihp1020.dl /rootfs/usr/share/cups/sihp1020.dl &&
cp foo2zjs-arm/foo2zjs /rootfs/usr/share/cups/foo2zjs &&# 9.完成
echo "build ok!"
echo
echo

启动目标板,将固件写入打印机, 打印pbm格式文件:

cat sihp1020.dl /dev/usb/lp0
./foo2zjs -z1 -p9 -r600x600 test.pbm > /dev/usb/lp0

如果是HP LaserJet Professional P1606dn,因固件已经固化在机器的FlashROM中,直接写入pbm文件即可打印:

./foo2zjs -P -z2 -L0 -p9 -r600x600 test.pbm >/dev/usb/lp0

#EOF

交叉编译 foo2zjs相关推荐

  1. java调用打印机打印excel linux_手把手教你嵌入式Linux系统驱动hp1020打印机

    一.开发环境 硬件环境:am3354 打印机型号:hp1020plus 虚假机系统:Ubuntu12.04 交叉编译工具版本:arm-linux-gcc version 4.5.1 二.详细步骤 1. ...

  2. arm linux打印机驱动编译方法,嵌入式linux驱动打印机HP系列

    arm linux打印机驱动编译方法和过程记录(2017.03.15): 改动添加概述: 添加foo2zjs工具(用于发送数据到打印机进行打印): 添加gohstscript工具(用于转换文档格式到打 ...

  3. 基于ARM的多终端自助打印系统

    这是以前做的一个创新项目.基于ARM的多终端自助打印系统.和仪器与电子学院的培松同学和计算机与控制工程学院的建斌同学一起做的. 最后产品可以完成微信客户端扫码打印.感觉构思不错.现在把开发过程记录一下 ...

  4. Golang的交叉编译问题

    参考:Golang交叉编译各个平台的二进制文件 - Go语言中文网 - Golang中文社区 (studygolang.com).也谈Go的可移植性 | Tony Bai 今天准备将一个在Mac上开发 ...

  5. Linux 交叉编译简介

    Linux 交叉编译简介 主机,目标,交叉编译器 主机与目标 编译器是将源代码转换为可执行代码的程序.像所有程序一样,编译器运行在特定类型的计算机上,输出的新程序也运行在特定类型的计算机上. 运行编译 ...

  6. TVM交叉编译和远程RPC

    TVM交叉编译和远程RPC 本文介绍了TVM中使用RPC的交叉编译和远程设备执行. 使用交叉编译和RPC,可以在本地计算机上编译程序,然后在远程设备上运行它.当远程设备资源受到限制时(如Raspber ...

  7. 用TensorRT针对AArch64用户的交叉编译示例

    用TensorRT针对AArch64用户的交叉编译示例 以下介绍如何在x86_64linux下为AArch64 QNX和Linux平台交叉编译TensorRT示例. 2.1. Prerequisite ...

  8. Go 学习笔记(37)— 标准命令(go build 跨平台编译、交叉编译、go clean、go run、go fmt、go install、go get)

    1. 标准命令简述 Go 本身包含来大量用于处理 Go 程序的命令和工具. 命令 作用 build 用于编译指定的代码包或 Go 语言源码文件.命令源码文件会被编译成可执行文件,并存放到命令执行的目录 ...

  9. linux wifi-tools,Linux下WiFi工具wireless_tools交叉编译,及其支持生成iwconfig使用的内核配置...

    内核的配置: General setup  ---> Kernel compression mode (LZMA)  --->LZMA [*] Networking support  -- ...

最新文章

  1. Spring Cloud第十四篇: 服务注册(consul)
  2. 5.2基于JWT的令牌生成和定制「深入浅出ASP.NET Core系列」
  3. 第二届中国云计算应用论坛圆满落幕
  4. 微信平台开发者:桥梁上的运动员
  5. java中debug使用
  6. commons-lang3:DateUtils
  7. 自营型电商和平台型电商的行业秘密是什么?
  8. Firefox 5 公开测试下载
  9. java当前月份减一个月_Java获取当前时间的上一个月和下一个月,第一天和最后一天,任意时间的第一天和最后一天,任意时间上一个月和下一个月...
  10. Web后端学习笔记 Flask(10)CSRF攻击原理
  11. 宽带远端服务器无响应什么意思,宽带远程服务器无响应
  12. 职业等级计算机操作员,计算机操作员是什么职业?
  13. LTE之3GPP_协议下载_协议命名
  14. 一些特殊区域的全纯自同构群
  15. uniapp点击生成商品海报、下载海报、分享海报
  16. apm软件仿真+QGC地面站 环境搭建
  17. Exchange Web Service(EWS) 协议同步邮件
  18. 将应用程序添加到鼠标右键发送到
  19. scrapy 项目实战(一)----爬取雅昌艺术网数据
  20. Hadoop 空间不足怎么办?

热门文章

  1. java queue toarray_Java PriorityBlockingQueue toArray()用法及代码示例
  2. 项目实战之旅游网(一)项目介绍 项目搭建
  3. 为什么要背诵新概念英语?
  4. html中怎样做成相册的效果,CSS相册简单实现方法(功能分析及代码)
  5. python安装报错error: pybind11 2.10+ requires MSVC 2017 or newer
  6. Django - installing mysqlclient error: mysqlclient 1.4.0 or newer is required; you have 0.9.3
  7. Strong Convexity
  8. java utc时间_Java获得UTC时间
  9. jdk8 list Stream groupingBy 分组之后 利用 reducing 求和 BigDecimal
  10. 2500个常用汉字(用来练普通话的)