想要试试arm板上使用selenium是不是可能,发现Firefox什么的不顶用,网上有提供的chrome的安装手顺,但是没有arm版本的对应的chromedriver,只能自己搞了。

这边介绍的方法是直接在raspberry pi上编译,编译时间在36小时左右,编译24 小时,最后的链接时间12小时

前期准备:

1. 移动硬盘可用空间10G以上,swap和代码,以及编译目录都需要放在上面

2. 关闭sdcard上的swap,sdcard上的swap比较慢,会导致emmc hung

3. 在移动硬盘上创建swap(4G以上),并启动

4. 安装打包用的软件debhelper

5. 下载代码和debian打包配置文件

路径:

 

修改编译代码:

1. 在移动硬盘上解压

tar xf chromium-browser_52.0.2743..orig.tar.xz
tar xf chromium-browser_52.0.2743.-~deb8u1.debian.tar.xz mv debian chromium-52.0.2743.116/

2. 修改编译规则

2.1 修改文件 debian/rules, defines中添加

symbol_level=

2.2 修改debian/control, Architecture 都改成all, 除了Package: chromium-dbg, 我们不需要chromium的debug信息

2.3 修改debian/scripts/chromium, 删除下面的内容

osse2="\
The hardware on this system lacks support for the sse2 instruction set.
The upstream chromium project no longer supports this configuration.
For more information, please read and possibly provide input to their
bug tracking system at http://crbug.com/348761." # Check whether this system supports sse2
if test -z "$(grep sse2 /proc/cpuinfo)"; then
xmessage "$nosse2"
exit
fi

因为我们copy的debian 配置文件都是针对x86平台的, arm平台没有sse,这个就不需要了

3. 编译debian pakcage

dpkg-buildpackage

第一次编译会出现dependence的问题,按照提示的要求把缺少的包安装下,然后就继续这条命令

中间有简单的问题调整的话,请使用

fakeroot debian/rules binary

4. 36 小时左右后,就能在上级的目录中看到我们需要的packge了,dpkg -i 安装下就能使用了

总的来说,chromium的编译系统和跨平台做的挺赞的,不存在需要修改chromium代码才能编译的情况。

tips.

可以添加component=shared_library到defines里面,静态链接就会变成动态链接,好处是可以节省很多的链接时间,坏处是相应的你需要修改chromium.install文件,把shared library形式的compenent 添加进去, 同时有几个gyp文件需要修改,这些compnent没有加相应的link flag

[raspberry pi3] 编译安装chromium的更多相关文章

  1. [raspberry pi3] aarch64 mongodb 编译和安装

    raspberry pi3官方支持是32bit的系统,使用mongodb的时候有2G数据库大小的限制,32bit的系统上数据大点基本上就可以认为不能用了,所以要装64bit的opensuse. 安装了 ...

  2. [raspberry pi3] hadoop 编译搭建和配置

    Causion: 只有一个raspberry pi3的就随便玩玩吧,瓶颈不在在cpu, 1 G的内存实在是太少了,跑个hadoop就很辛苦了 下面是瞎折腾的过程: oracle的arm jdk的安装过 ...

  3. RaspBerry Pi3 ~ 内核编译

    RaspBerryPi3-内核编译 转载注明出处:http://www.cnblogs.com/einstein-2014731/p/5985128.html 在有道云笔记的同步分享:http://n ...

  4. Raspberry Pi 3 安装 Lazarus 1.6.2(2017-02-09更新)

    Raspberry Pi3 Lazarus 1.6.2 安装步骤如下: 安装环境:Raspbian Jessie, RPi3 1.安装subversion和unzip Sudo Apt-get upd ...

  5. 在Linux Mint13下编译安装mono运行时

    最近一直想体验下mono在web开发上到底进展到什么程度,挑战一下它对web开发的极限.因为asp.net mvc本身依赖windows平台的东西不太多,所以这些assembly移植到mono/lin ...

  6. ffmpeg源码编译安装(Compile ffmpeg with source) Part 2 : 扩展安装

    在Ubuntu,Debian,Mint上编译ffmpeg 本文主要为在Ubuntu,Debian和Mint上编译安装ffmpeg和库文件以及一些扩展的编解码器.当然这与从源中安装无关. 请首先看一下通 ...

  7. centos6.5下编译安装FFmpeg

    以下安装步骤基本来自官网,做个笔记以方便自己以后查看 http://trac.ffmpeg.org/wiki/CompilationGuide 1.安装依赖包 <span style=" ...

  8. Raspbian 编译安装 PHP 7.2

    原文地址:Raspbian 编译安装 PHP 7.2 0x00 配置 开发板: Raspberry Pi 3B 系统: Raspbian 2019-04-08 stretch 0x01 下载源码 20 ...

  9. Raspberry Pi3驱动Oled ssh1106屏

    Raspberry Pi3可以直接使用GPIO接口驱动OLED屏 一.接线 根据网上随便找的图可以看到树莓派3的GPIO接口引脚顺序 PS:26pin的GPIO为前26针 根据OLED屏的引脚说明,如 ...

随机推荐

  1. RabbitMQ教程总结

    [译]RabbitMQ教程一 主要通过Hello Word对RabbitMQ有初步认识 [译]RabbitMQ教程二 工作队列,即一个生产者对多个消费者 循环分发.消息确认.消息持久.公平分发 [译] ...

  2. 浅析BMP位图文件结构(含Demo)

    浅析BMP位图文件结构(含Demo) 作者:一点一滴的Beer http://beer.cnblogs.com/   关于BMP位图格式在网上可以找到比较详细的相关文档,有兴趣的可以搜索标题为“BMP ...

  3. Linux sed 批量替换多个文件中的字符串【转载】

    原文网址:http://blog.sina.com.cn/s/blog_730edb930100qzz5.html     比如,要将目录/modules下面所有文件中的zhangsan都修改成lis ...

  4. webrtc自带client的视频引擎创建代码走读

    src\webrtc\examples\peerconnection\client\conductor.ccbool Conductor::InitializePeerConnection()1 we ...

  5. Python学习笔记 - MySql的使用

    一.安装MySql模块 Python2.X pip install MySQLdb Python3.X pip install pymysql 二.数据库连接接口 由于Python统一了数据库连接的接 ...

  6. HDU1576(扩展欧几里得)

    A/B Time Limit: 1000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Total Submiss ...

  7. 经典SQL问题: 行转列,列转行

    情景简介 学校里面记录成绩,每个人的选课不一样,而且以后会添加课程,所以不需要把所有课程当作列.数据库grade里面数据如下图,假定每个人姓名都不一样,作为主键.本文以MySQL为基础,其他数据库会有 ...

  8. Python 下载图片的几种方法

    import osos.makedirs('./image/', exist_ok=True)IMAGE_URL = "http://image.nationalgeographic.com ...

  9. C语言学习笔记--多维数组和多维指针

    1. 指向指针的指针 (1)指针的本质是变量,会占用一定的内存空间 (2)可以定义指针的指针来保存指针变量的地址值 (3)指针是个变量,同样也存在传值调用与传址调用 重置动态空间的大小 #includ ...

  10. DAY4-函数进阶

    目录: 一.迭代器 二.生成器 三.面向过程编程 四.三元表达式.列表推导式.生成器表达式 五.第归与二分法 六.匿名函数 七.内置函数 练习 一.迭代器 一.迭代的概念 #迭代器即迭代的工具,那什么 ...