树莓派研究笔记(8)-- 编译lakka v2.1源码
Lakka越玩越觉得强大。如果要是能自己修改一下代码,实现自定义的一些操作就更好了。还可以修复字体文件,修复在部分机器上自动更换Mac地址导致ip变化的问题。
所以我们来尝试编译这个系统。这篇文章几乎是用我的血泪史完成的,大量重复的编译失败,解决了无数问题。大家 且看且珍惜。
1. 下载Debian,(本文建立在64位版Debian9 和Lakka 2.1源码)并用虚拟机安装。一定要注意,硬盘分配一定要设置一个大容量硬盘,默认的动态配置只有8G,结果编译后会出现空间不足的问题。不行就固定分配个50G大小。 (编译完成大概需要30G的空间)
df -h
2. 使用Root 登录,默认是不能登录的,需要修改以下两个文件:
/ect/pam.d/gdm-password
/ect/pam.d/gdm-autologin
编辑上面两个文件,先用su 命令切换到root账号后执行以下命令
nano /etc/pam.d/gdm-password
注释掉
#auth required pam_succeed_if.so user!=root quiet_success
保存后,就可以用root登录了。
3. 安装sudo
apt-get install sudo
4. 安装build-essential
sudo apt-get update
sudo apt-get install build-essential
5. 安装 Git
sudo apt-get install git-all
6. 安装Python Libfdt library.
sudo apt-get install swig libpython-dev
7. 安装 libssl-dev
sudo apt-get install libssl-dev
8. 安装g++
sudo apt-get install gcc-multilib
sudo apt-get install g++-multilib
9. 克隆 LibreELEC
git clone https://github.com/libretro/Lakka-LibreELEC
参考文献:
http://www.lakka.tv/doc/Compiling-Lakka/
10.编译时间过长,关闭屏保和休眠
sudo apt-get install caffeine
安装好后执行 caffeine Indicator, 然后再左下角拉出小任务栏,在Caffeine Indicator右键选择Active即可
11. 修改build_all.sh 文件 就可以只编译自己想要的东西了。
执行编译操作:sh build_all.sh
一些文件:
驱动目录:\packages\linux-drivers
默认字体:\packages\mediacenter\kodi\fonts\DejaVuSans.ttf
MAC地址:\packages\sysutils\systemd\scripts\systemd-machine-id-setup
12.编译过程中会出现找不到third_party的dns.resolver模块
因为系统默认会下载最新的版本编译,结果可能是checking的脚本的问题,是无法编译通过的。所以下一个旧的版本。http://www.dnspython.org/kits/ 比如1.0.0.0,解压缩后替换掉原始文件中的第三方包
在\build.Lakka-Allwinner.arm-2.1-devel\samba-4.6.1\third_party\dnspython
如果编译出现错误,那么查看错误原因,有时候会提示hashlib没有sha1 什么的。
可以直接通过注释代码或者新建hash来解决。例如:找不到hashlib.sha1

可以替换为

然后进入解压目录后执行命令:
如果系统有python2 和 python3 的两个版本并存,那么尝试两个都安装。
sudo python setup.py install
sudo apt-get install python3-dnspython
如果上面遇到找不到setuptool 的问题,那么就安装一下:
sudo apt-get install -y python-setuptools
sudo apt-get install -y python3-setuptools
13. 如果有代码给更新需要重新编译,那么执行:
git pull
rm -rf target
DISTRO=Lakka PROJECT=RPi ARCH=arm make image
树莓派研究笔记(8)-- 编译lakka v2.1源码的更多相关文章
- 编译python(cpython)的源码及其用途
获取python的源码 3.x及最新版本的源码:https://github.com/python/cpython python2.7分支的源码:https://github.com/python/c ...
- Web电子商务网(三层)V2.0源码
Web电子商务网(三层)V2.0源码 源码描述: 一.源码特点 采用三层架构开发,购物车功能 二.功能介绍 前台集成了产品在线展示,用户注册.在线调查.在线投稿 后台有类别管理\图书管理\订单 ...
- 编译hadoop2.2.0源码时报错
编译hadoop2.2.0源码时, mvn install -DskipTests 报错: [ERROR] COMPILATION ERROR : [INFO] ------------------- ...
- Ubuntu12.04编译Android4.0.1源码全过程-----附wubi安装ubuntu编译android源码硬盘空间不够的问题解决
昨晚在编译源码,make一段时间之后报错如下: # A fatal error has been detected by the Java Runtime Environment: # # SIGSE ...
- vs2008编译FileZilla服务端源码
vs2008编译FileZilla服务端源码 FileZilla服务端下载地址:https://download.filezilla-project.org/server/.FileZilla服务端源 ...
- WebRtc编译好的vs2015源码
一直想看webrtc的源码,苦于FQ能力有限且整个编译过程耗时巨大,故求助于互联网.在互联网寻找许久编译好的Webrtc源码,好多版本下载下来总是报各种错误,很是失落. 皇天不负有心人,终于寻得一版可 ...
- CentOS7.3编译hadoop2.7.3源码
在使用hive或者是kylin时,可以选择文件的压缩格式,但是这个需要有hadoop native库的支持,默认情况下,hadoop官方发布的二进制包中是不包含native库的,所以无法使用一些压缩相 ...
- Win10 VS2015 静态编译Qt5.6.2源码
由于VS2015需要CRT等拓展组件,因此把内部编写的工具软件以静态发布,固需要编译Qt源码.Qt5.6.2版本,VS2015,Win10 1.安装python,perl,下载jom 2.改文件com ...
- 获取并编译最新的Notepad++源码
获取并编译最新的Notepad++源码 http://blog.csdn.net/u012814856/article/details/68947310 Notepad++源码编译及其分析 http: ...
随机推荐
- Scala极速入门
摘要 当面向对象遇到函数式编程,这就是Scala.简练的语言描述与简单的例子相辅相成,希望能够对大家学习Scala有所帮助. scala 入门 定义 Scala语言是一种面向对象语言,同时又结合了命令 ...
- Java 代码复用 —— 泛型
public interface Comparable<T> { public int compareTo(T o); } 1. 接口(Comparable:可比较接口) public s ...
- inndb索引原理
###详解b+树如上图,是一颗b+树,关于b+树的定义可以参见B+树,这里只说一些重点,浅蓝色的块我们称之为一个磁盘块,可以看到每个磁盘块包含几个数据项(深蓝色所示)和指针(黄色所示),如磁盘块1包含 ...
- Springboot演示小Demo
模拟数据库演示springboot小测试 1.编写一个实体类:user package com.wisezone.test; import java.io.Serializable; public c ...
- Oracle的启动过程
在Windows操作系统平台下,可以使用SQL*Plus.OEM和系统服务管理等方式进行数据库的启动与关闭操作.数据库启动分为3个步骤:创建并启动数据库实例.装载数据库和打开数据库.数据库的关闭过程与 ...
- mysql之 Innobackupex(全备+增量)备份恢复
MySQL的热备(物理备份)可以采取全备加增量备份的方式来减轻数据库I/O压力及系统资源的占用.增量备份主要是以全备或增量备份为基础,备份那些变更过的页面.其备份的原理是基于一个不断增长的LSN序列, ...
- JavaScript正则常用知识总结
一.JavaScript正则相关方法 str.match(regexp)与regexp.exec(str)功能类似. str.search(regexp)与regexp.test(str)功能类似. ...
- div 遮罩层 弹窗
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...
- C# DataTable的常用用法讲解
在项目中经常用到DataTable,如果DataTable使用得当,不仅能使程序简洁实用,而且能够提高性能,达到事半功倍的效果,现对DataTable的使用技巧进行一下总结. 一.DataTable简 ...
- java ----获取路径的各种方法(总结)
Java Web开发中路径问题小结 (1) Web开发中路径的几个基本概念 假设在浏览器中访问了如下的页面,如图1所示: 那么针对这个站点的几个基本概念表述如下: 1. web站点的根目录:http: ...