zoukankan      html  css  js  c++  java
  • 树莓派研究笔记(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

    一些文件:

    驱动目录:packageslinux-drivers
    默认字体:packagesmediacenterkodifontsDejaVuSans.ttf
    MAC地址:packagessysutilssystemdscriptssystemd-machine-id-setup

    12.编译过程中会出现找不到third_party的dns.resolver模块

    因为系统默认会下载最新的版本编译,结果可能是checking的脚本的问题,是无法编译通过的。所以下一个旧的版本。http://www.dnspython.org/kits/ 比如1.0.0.0,解压缩后替换掉原始文件中的第三方包

    在uild.Lakka-Allwinner.arm-2.1-develsamba-4.6.1 hird_partydnspython

    如果编译出现错误,那么查看错误原因,有时候会提示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

     

  • 相关阅读:
    mysql怎么导入大文件的sql文件
    php函数研究
    php实现实现代码多主从,切换,轮询,健康检查
    php实现单个用户禁止重复登录,防止同一用户同时登陆
    php使用p3p实现cookies跨域设置 实现单点登录,全站登录
    实现页面浏览统计
    遍历目录删除指定MD5值的文件
    boot.img的修改
    “逃离大厦”游戏的破解
    Android漏洞——将Android恶意代码隐藏在图片中
  • 原文地址:https://www.cnblogs.com/chengchen/p/8408896.html
Copyright © 2011-2022 走看看