"); //-->
1 获取 Debian 源码
Ubuntu、Linuxqt 和 debian 系统共用一套源码,获取 debian 源码具体参考“13.1.1 获取 Linux 源码”
2 安装 Debian 源码依赖包
如果您使用的是搭建好编译环境的 Ubuntu16.04 虚拟机镜像, Debian 源码依赖包已经安装好了,不重复安装。
使用如下命令安装所需的软件包:
1、sudo apt-get update
2、安装 kernel 及 uboot 编译需要依赖的软件包
sudo apt-get install git-core gnupg flex bison gperf build-essential zip
sudo apt-get install curl zlib1g-dev gcc-multilib g++-multilib libc6-dev-i386
sudo apt-get install lib32ncurses5-dev x11proto-core-dev libx11-dev lib32z1-dev ccache libgl1-mesa-dev
sudo apt-get install xsltproc unzip device-tree-compiler liblz4-tool libxml2-utils
3 编译 Debian 源码
13.3.3.1 指定屏幕
打开 linux 的源码,进入
/home/topeet/rk3399_linux_sdk_v2.0/kernel/arch/arm64/boot/dts/rockchip/itop-3399_linux-lvds.dts 目录下,打开 itop-3399_linux-lvds.dts 设备树文件,如下图所示,默认源码里面指定屏幕是 hdmi 屏幕,如果我们想源码里面指定屏幕是其他尺寸,将指定屏幕的宏定义生效就好了。
例如,我想指定屏幕为 7 寸屏,修改设备树,如下图所示:
3.1 整体编译
使用 cd 命令进入到 rk3399_linux_sdk_v2.0_190805 文件夹。
编译分两个命令
./build.sh BoardConfig.mk
/build.sh debian
最终在 rocdev 目录下生成镜像文件 update.img。update.img 镜像大约 3G
3.2 单独编译
命令./build.sh -h 查看可选参数
单独编译 uboot:./build.sh uboot
在 uboot 目录下生成 u-boot.bin。
单独编译 kernel:./build.sh kernel
在 kernel 目录下生成 boot.img
3.3 定制 Debian 文件系统
在“3.3.1 整体编译”的章节,编译的 debian 系统是已将打包好的 debain 文件系统。用户可以修改定制自己的 debian 文件系统。
注意:定制 debian 文件系统,需要确保 Ubuntu 环境能够联网。
3.3.1 安装软件依赖包
如果您使用的是搭建好编译环境的 Ubuntu16.04 虚拟机镜像,软件依赖包已经安装好了,不必重复安装。
sudo apt-get install repo git-core gitk git-gui gcc-arm-linux-gnueabihf u-boot-tools
sudo apt-get install device-tree-compiler gcc-aarch64-linux-gnu mtools parted libudev-dev
sudo apt-get install libusb-1.0-0-dev python-linaro-image-tools linaro-image-tools
sudo apt-get install gcc-4.8-multilib-arm-linux-gnueabihf gcc-arm-linux-gnueabihf libssl-dev
sudo apt-get install gcc-aarch64-linux-gnu g+conf autotools-dev libsigsegv2 m4 intltool libdrm-dev curl
sudo apt-get install sed make binutils build-essential gcc g++ bash patch gzip bzip2 perl tar cpio python unzip
sudo apt-get install rsync file bc wget libncurses5 libqt4-dev libglib2.0-dev libgtk2.0-dev libglade2-dev
sudo apt-get install cvs git mercurial rsync openssh-client subversion asciidoc w3m
sudo apt-get install dblatex graphviz python-matplotlib libc6:i386 libssl-dev texinfo liblz4-tool genext2fs
sudo apt-get install binfmt-support qemu-user-static live-build
3.3.2 编译 Debian rootfs
1 进入debian 目录:cd rk3399_linux_sdk_v2.0_191209/debian如图所示:
2 执行命令,编译 64 位的 debian:
RELEASE=stretch TARGET=desktop ARCH=arm64 ./mk-base-debian.sh
3 编译完成会在 debian/生成:linaro-stretch-alip-xxxxx-1.tar.gz(xxxxx 表示生成时间戳)。如图:
4 返回 rk3399_linux_sdk_v2.0_191209/目录下,修改编译脚本 build.sh,打开编译脚本 vim build.sh,修改 206行,将“#”符号去掉。保存退出。
5 在 rk3399_linux_sdk_v2.0_191209/目录下,执行命令:./build.sh debian
6 编译完成。如图所示:
7 编译完成,会生成 debian/binary 目录,binary 目录下为 debian 文件系统文件,可在此目录下安装需求进行修改。如图:
8 在 binary 目录下修改完成后,在 rk3399_linux_sdk_v2.0_191209/目录下,重新执行命令:./build.sh debian。会在 rockdev 目录下生成 update.img 镜像文件。
9 定制的 debian 文件系统已经制作完毕。在 debian 目录下有制作好的 linaro-rootfs.img。重新编译不需要修改 debian 镜像时,可以将编译脚本 build.sh 中的 206 行注释掉。再次执行命令:./build.sh debian 时。不在重新打包 debian 文件系统,直接将之前生成的 linaro-rootfs.img 和 uboot、kerenl 一起打包生成update.img 镜像。
专栏文章内容及配图由作者撰写发布,仅供工程师学习之用,如有侵权或者其他违规问题,请联系本站处理。 联系我们
相关推荐
3G高分辨率平板开发板设计方案
Microchip PIC24FJ256DA210开发板在图形显示上的应用
莱迪思联手英伟达推出 Sensor Bridge 方案 加速边缘 AI 产品落地
CFUMEVK-KIT开发板设计方案
米尔-瑞萨RZ/G2L核心板开发板的系统启动时间优化应用笔记
Jobs芯科EFR32xG24 Dev Kit开发板开箱视频
Badge USB OCD 与 78F0513D 使用演示视频
51单片机开发板
单片机开发板
GWEVB_XC蓝牙设备开发板
SL811HS开发板原理图.rar
AM3359支持WINCE7.0
出一个全新正点原子STM32战舰开发板,全新板二手价
(已送出,结贴)送一块51开发板,你出邮费
建议王总组织个开发板的捐赠活动
Kinetis K60系列MCU开发板CFUMEVK-KIT
米尔出席openEuler Summit 2024,携全志T536和RK3562核心模组亮相
利用PIC24F Curiosity开发板简化设计
6TOPS算力驱动30亿参数LLM,米尔RK3576部署端侧多模态多轮对话
米尔出席2025安路科技FPGA技术沙龙
AN2131开发板原理图.rar
CY7C68013开发板原理图.rar
12路1080P高清视频流,米尔RK3576开发板重塑视频处理极限
ARM嵌入式系统开发板三星S3C44B0X的完整Protel电路图.rar
在米尔FPGA上实现Tiny YOLO V4,助力AIoT应用
拆解:树莓派5 8 GB AI 套件
NEC MCU 78F0513D开发板使用教程
慕尼黑电子展上展出的开发板(还有3D 打印机等~)
国产FPGA SoC芯选择,米尔安路飞龙核心板重磅发布
当6 TOPS不再是极限:米尔RK3576 + Hailo-8,让高帧率摄像头真正“实时”