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源码的更多相关文章

  1. 编译python(cpython)的源码及其用途

    获取python的源码 3.x及最新版本的源码:https://github.com/python/cpython python2.7分支的源码:https://github.com/python/c ...

  2. Web电子商务网(三层)V2.0源码

    Web电子商务网(三层)V2.0源码 源码描述: 一.源码特点     采用三层架构开发,购物车功能 二.功能介绍 前台集成了产品在线展示,用户注册.在线调查.在线投稿 后台有类别管理\图书管理\订单 ...

  3. 编译hadoop2.2.0源码时报错

    编译hadoop2.2.0源码时, mvn install -DskipTests 报错: [ERROR] COMPILATION ERROR : [INFO] ------------------- ...

  4. Ubuntu12.04编译Android4.0.1源码全过程-----附wubi安装ubuntu编译android源码硬盘空间不够的问题解决

    昨晚在编译源码,make一段时间之后报错如下: # A fatal error has been detected by the Java Runtime Environment: # # SIGSE ...

  5. vs2008编译FileZilla服务端源码

    vs2008编译FileZilla服务端源码 FileZilla服务端下载地址:https://download.filezilla-project.org/server/.FileZilla服务端源 ...

  6. WebRtc编译好的vs2015源码

    一直想看webrtc的源码,苦于FQ能力有限且整个编译过程耗时巨大,故求助于互联网.在互联网寻找许久编译好的Webrtc源码,好多版本下载下来总是报各种错误,很是失落. 皇天不负有心人,终于寻得一版可 ...

  7. CentOS7.3编译hadoop2.7.3源码

    在使用hive或者是kylin时,可以选择文件的压缩格式,但是这个需要有hadoop native库的支持,默认情况下,hadoop官方发布的二进制包中是不包含native库的,所以无法使用一些压缩相 ...

  8. Win10 VS2015 静态编译Qt5.6.2源码

    由于VS2015需要CRT等拓展组件,因此把内部编写的工具软件以静态发布,固需要编译Qt源码.Qt5.6.2版本,VS2015,Win10 1.安装python,perl,下载jom 2.改文件com ...

  9. 获取并编译最新的Notepad++源码

    获取并编译最新的Notepad++源码 http://blog.csdn.net/u012814856/article/details/68947310 Notepad++源码编译及其分析 http: ...

随机推荐

  1. C#中DEV控件,XtraTabPage得小方法

    DEV控件设计窗体程序,XtraTabPage用到的小方法,欢迎大家评论,分享技术! //DEV中的选项卡 private bool TabCtlPageExist(string pageName) ...

  2. python_安装python2.7.7和easy_install

    [环境]: WIN7 + 32位 [要求]: 安装python2.7.7, easy_install 1. 下载并安装python2.7.7 首先访问http://www.python.org/dow ...

  3. shell变量扩展技巧

    SHELL中有一些变量扩展的技巧,做下归纳总结 1.取字符串slice规则一:${变量名:位置起点}含义:由指定的位置起点开始,截取子字符串到字符串结束例如: var="/etc/passw ...

  4. PHP 判断字符的编码 并输出想要的编码格式字符 (转)

    /** * 判断字符编码  并输出想要的编码 * Enter description here ... * @param unknown_type $string * @param unknown_t ...

  5. 8、Selenium+python安装HTMLTestRunner插件

    1.打开网址:http://tungwaiyip.info/software/HTMLTestRunner.html,下载HTMLTestRunner.py 2.copy其HTMLTestRunner ...

  6. 树结构ztree的 ajax交互的简单使用

    今天做前端页面要用到树结构,用了第三方插件ztree,搞了好久不过终于弄出来了,, 一点小心得.(用的版本 V3 ) 首先看下载的文件结构: 一:将要用到的CSS 和 JS 拷贝到工程中,我这里在工程 ...

  7. 浅谈Java中的对象和对象引用

    浅谈Java中的对象和对象引用 在Java中,有一组名词经常一起出现,它们就是“对象和对象引用”,很多朋友在初学Java的时候可能经常会混淆这2个概念,觉得它们是一回事,事实上则不然.今天我们就来一起 ...

  8. popd命令

    popd命令用于删除目录栈中的记录:如果popd命令不加任何参数,则会先删除目录栈最上面的记录,然后切换到删除过后的目录栈中的最上面的目录. 语法 pushd(选项)(参数) 选项 +N:将第N个目录 ...

  9. IC卡和RFID卡的区别(网上说的都不准确)

    其实IC卡是卡类型的称呼,IC卡和RFID卡不应该在一起对比的,和IC卡在一起对比的应该是ID卡. RFID卡是其实是对卡技术类型称呼. IC为卡类型称呼(Integrated Circuit Car ...

  10. [转]浅谈javascript函数劫持

    转自:Ph4nt0m Security Team 这么多年了,现在学习依然还是有很多收货,向前辈致敬.转载一方面是自己存档一份,另一方面是让更多喜欢安全的人一同学习. ================ ...