想要试试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. 使用Snapdragon Profiler工具分析

    http://blog.csdn.net/cgx090902/article/details/73849202 Snapdragon Profiler(骁龙分析器)是一款性能分析软件,在Windows ...

  2. c++运行时决定数组大小 variable-length array

    本文由Suzzz原创,发布于 http://www.cnblogs.com/Suzzz/p/4117431.html,转载请保留此声明 variable-length array是C99添加的一个特性 ...

  3. MySQL执行计划的讲解

    最近同事在执行线上执行一条MySQL的查询语句,数据的话在9000条左右,但使用左连接的时候查询速度大概在15秒左右~这速度确实是无法接受的~ 经过简单的修改,变为内连接的话,执行速度不到1秒. 下面 ...

  4. UE4模型导入基础教程

    转自:http://www.unrealchina.net/portal.php?mod=view&aid=290

  5. maven依赖的添加

      maven可是个管理jar依赖的好玩意,不用再关心导这个jar包那个jar包,这个jar包是谁家的,和谁有啥关系.有了maven,简简单单就搞定,下面以eclipse为例,在一个springboo ...

  6. javascript——对象的基础知识

    一.javascript作为脚本语言可以完成以下任务: 操纵浏览器对象,如窗口的打开与关闭: 操纵Dom树: 通过XMLHttpRequest对象与服务器端进行异步通信: XML编程,借助于Activ ...

  7. xcopy 命令行

    https://www.cnblogs.com/yang-hao/p/6003308.html xcopy-参数详解   XCOPY——目录复制命令  1.功能:复制指定的目录和目录下的所有文件连同目 ...

  8. leetcode443

    使用两个数组分别记录字符和对应的数字,然后清除原来的vector,重新向里面添加元素.注意判断1个字符时,不将'1'加入vector. int compress(vector<char>& ...

  9. UML在需求分析阶段的应用

    转自:https://www.cnblogs.com/fuhaots2009/p/3430666.html 上一篇博客写了uml在软件开发过程中的应用,这以篇要详细介绍一下UML在需求分析过程中的应用 ...

  10. JS中,split()用法(将字符串按指定符号分割成数组)

    <!DOCTYPE html> <html> <head> <meta charset="{CHARSET}"> <title ...