[raspberry pi3] 编译安装chromium
想要试试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的更多相关文章
- [raspberry pi3] aarch64 mongodb 编译和安装
raspberry pi3官方支持是32bit的系统,使用mongodb的时候有2G数据库大小的限制,32bit的系统上数据大点基本上就可以认为不能用了,所以要装64bit的opensuse. 安装了 ...
- [raspberry pi3] hadoop 编译搭建和配置
Causion: 只有一个raspberry pi3的就随便玩玩吧,瓶颈不在在cpu, 1 G的内存实在是太少了,跑个hadoop就很辛苦了 下面是瞎折腾的过程: oracle的arm jdk的安装过 ...
- RaspBerry Pi3 ~ 内核编译
RaspBerryPi3-内核编译 转载注明出处:http://www.cnblogs.com/einstein-2014731/p/5985128.html 在有道云笔记的同步分享:http://n ...
- 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 ...
- 在Linux Mint13下编译安装mono运行时
最近一直想体验下mono在web开发上到底进展到什么程度,挑战一下它对web开发的极限.因为asp.net mvc本身依赖windows平台的东西不太多,所以这些assembly移植到mono/lin ...
- ffmpeg源码编译安装(Compile ffmpeg with source) Part 2 : 扩展安装
在Ubuntu,Debian,Mint上编译ffmpeg 本文主要为在Ubuntu,Debian和Mint上编译安装ffmpeg和库文件以及一些扩展的编解码器.当然这与从源中安装无关. 请首先看一下通 ...
- centos6.5下编译安装FFmpeg
以下安装步骤基本来自官网,做个笔记以方便自己以后查看 http://trac.ffmpeg.org/wiki/CompilationGuide 1.安装依赖包 <span style=" ...
- Raspbian 编译安装 PHP 7.2
原文地址:Raspbian 编译安装 PHP 7.2 0x00 配置 开发板: Raspberry Pi 3B 系统: Raspbian 2019-04-08 stretch 0x01 下载源码 20 ...
- Raspberry Pi3驱动Oled ssh1106屏
Raspberry Pi3可以直接使用GPIO接口驱动OLED屏 一.接线 根据网上随便找的图可以看到树莓派3的GPIO接口引脚顺序 PS:26pin的GPIO为前26针 根据OLED屏的引脚说明,如 ...
随机推荐
- shell实现文件内容查询如输入姓名结果显示电话号码等信息
#!/bin/awk -f BEGIN{FS=","; if(ARGC>2){name=ARGV[1];delete ARGV[1]} else{ echo "pl ...
- xftp连接不上阿里云服务器
打开xftp默认是使用FTP协议,要连接到云服务器,需要将协议改为SFTP 连接成功
- Mac上制作Centos7系统U盘安装盘
Centos7 下载地址: http://101.110.118.47/isoredirect.centos.org/centos/7/isos/x86_64/CentOS-7-x86_64-DVD- ...
- 使用 DOM对象,控制HTML元素 来制作的一个简单的表格
制作一个表格,显示班级的学生信息. 要求: 1. 鼠标移到不同行上时背景色改为色值为 red,移开鼠标时则恢复为原背景色 white 2. 点击添加按钮,能动态在最后添加一行 3. 点击删除按钮,则删 ...
- laravel redis的使用
学习源头: https://www.cnblogs.com/redirect/p/6185228.html
- 引用 WCF 服务后,没有生成任何 .datasource?
如题WCF服务生成成功,在添加服务引用的时候也不报错,但是添加完成之后不能正常调用服务借口. 在重新引用服务的时候,或者是是更新引用服务的时候,点“高级”按钮,在服务引用设置对话框中,将“重新使用引用 ...
- JAVA方法中的参数用final来修饰的效果
很多人都说在JAVA中用final来修饰方法参数的原因是防止方法参数在调用时被篡改,其实也就是这个原因,但理解起来可能会有歧义,我们需要注意的是,在final修饰的方法参数中,如果修饰的是基本类型,那 ...
- Git 之Windows环境下学习系列
Git .SVN .TFS 相同点 不同点 Git 版本控制 优点: 分布式版本控制.无需联网就能版本提交 开源 缺点 入门学习难度高 SVN 优点: 集中式版本控制. 个人开源 缺点 ...
- How to recover destroyed ZFS storage pools
root@sol11ai:~# zpool status tank pool: tank state: ONLINE scan: resilvered 91K in 0h0m with 0 e ...
- When install ”matplotlib” with ”pip”, if you get the following error, it means the “freetype” and “png” libraries needed by matplotlib are not installed:
============================================================================ * The following require ...