imx8开发之~源码编译

首先要下载相关的工具链

In addition to the packages requested on the Android website, the following packages are also needed:
$ sudo apt-get install uuid uuid-dev
$ sudo apt-get install zlib1g-dev liblz-dev
$ sudo apt-get install liblzo2-2 liblzo2-dev
$ sudo apt-get install lzop
$ sudo apt-get install git-core curl
$ sudo apt-get install u-boot-tools
$ sudo apt-get install mtd-utils
$ sudo apt-get install android-tools-fsutils
$ sudo apt-get install openjdk-8-jdk
$ sudo apt-get install device-tree-compiler
$ sudo apt-get install gdisk

注意的是如果Ubuntu 系统中已经安装了java7 ,现在编译imx8 需要java8.记得java要切换到java 8.
编译Android system

$ source build/envsetup.sh

$ lunch mek_8q-userdebug

$ make 2>&1 | tee build-log.txt

如果电脑配置不好,编译时间比较漫长 ,大概5小时。如果又任何错误 可以查看 build-log.txt 获得详细信息
编译完成后 生成img 文件如下:
在这里插入图片描述
编译 ota 升级版命令 ,生成升级包就是上图的标红的文件

make otapackage

编译uboot

You can use this command to generate u-boot.imx under the Android environment:
# U-Boot image for i.MX 8QuadMax/8QuadXPlus MEK board:
$ cd ${MY_ANDROID}
$ source build/envsetup.sh
$ lunch mek_8q-userdebug
$ make bootloader -j4

生成kernelimg

Kernel image is automatically built when building the Android root file system.
The following are the default Android build commands to build the kernel image:
$ cd ${MY_ANDROID}/vendor/nxp-opensource/kernel_imx
$ echo $ARCH && echo $CROSS_COMPILE
Make sure that you have those two environment variables set. If the two variables are not set, set them as follows:
$ export ARCH=arm64
$ export CROSS_COMPILE=${MY_ANDROID}/prebuilts/gcc/linux-x86/aarch64/aarch64-linuxandroid-
4.9/bin/aarch64-linux-android-
android_defconfig.
# to build the kernel zImage for i.MX 8QuadMax/8QuadXPlus
$ make android_defconfig
$ make KCFLAGS=-mno-android
# to build the zImage which is used in MfgTOOL
# zImage is under mfgtools\Profiles\Linux\OS Firmware\firmware\
$ make defconfig
$ make KCFLAGS=-mno-android -j4
The kernel images are found in ${MY_ANDROID}/out/target/product/mek_8q/obj/KERNEL_OBJ/arch/arm64/boot/Image.

最后生成bootimage

# Boot image for i.MX 8MQuad EVK board
$ source build/envsetup.sh
$ lunch mek_8q-userdebug
$ make bootimage

Building dtbo.img

Dtbo image holds the board's device tree binary.
Use the following commands to generate dtbo.img under the Android environment:
# dtbo image for the i.MX 8QuadMax/8QuadXPlus MEK board
$ cd ${MY_ANDROID}
$ source build/envsetup.sh
$ lunch mek_8q-userdebug
$ make dtboimage -j4
*************************** Freescale i.MX8QM MEK board *************************** This file documents the Buildroot support for the NXP i.MX8QM MEK board. You will find a reference to the board on nxp.com: https://www.nxp.com/design/development-boards/i.mx-evaluation-and-development-boards/i.mx-8quadmax-multisensory-enablement-kit-mek:MCIMX8QM-CPU You can also find the get started guide here: https://www.nxp.com/document/guide/get-started-with-the-i.mx-8quadmax-mek:GS-iMX-8QM-MEK Build ===== First, configure Buildroot for the i.MX8QM MEK board: $ make freescale_imx8qmmek_defconfig Build all components: $ make You will find in output/images/ the following files: - ahab-container.img - bl31.bin - boot.vfat - fsl-imx8qm-mek.dtb - Image - imx8-boot-sd.bin - mkimg.commit - mx8qm-mek-scfw-tcm.bin - mx8qm-val-scfw-tcm.bin - mx8qm-a0-ddr4-scfw-tcm.bin - mx8qm-a0-mek-scfw-tcm.bin - mx8qm-a0-val-scfw-tcm.bin - mx8qm-ddr4-scfw-tcm.bin - rootfs.ext2 - rootfs.ext4 - rootfs.tar - sdcard.img - u-boot-atf.bin - u-boot.bin - u-boot-hash.bin Create a bootable SD card ========================= To determine the device associated to the SD card have a look in the /proc/partitions file: cat /proc/partitions Buildroot prepares a bootable "sdcard.img" image in the output/images/ directory, ready to be dumped on a SD card. Launch the following command as root: dd if=output/images/sdcard.img of=/dev/ *** WARNING! This will destroy all the card content. Use with care! *** For details about the medium image layout, see the definition in board/freescale/common/imx/genimage.cfg.template_imx8. Boot the i.MX8QM MEK board ========================== To boot your newly created system: - insert the SD card in the SD slot of the board; - Configure the boot switch as follows: SW2: OFF OFF ON ON OFF OFF - put a micro USB cable into the Debug USB Port and connect using a terminal emulator at 115200 bps, 8n1; - power on the b
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

九霄的爸爸

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值