By: fu linux
E-mail: fulinux@sina.com
Blog: https://blog.csdn.net/fulinus
喜欢的盆友欢迎点赞和订阅!
你的喜欢就是我写作的动力!
啰嗦几句
今天开始记录我在一个干净的yocto项目中添加高通的msm8909的过程。
在 http://git.yoctoproject.org/ 中有这样的一个meta-qcom/,这个是高通公司开发的一个为适配yocto开发的一个meta layer,但是并没有msm8909的平台内容,可能有一点参考意义。
msm启动流程小述
我手上已经有了一个可以正常运行的msm8909,简单讲下msm启动的一个过程:
本着从易到难的步骤,结合自身的知识储备,我先从添加linux kernel开始入手,后期我还好讲到如何添加aboot。内核可以从android平台或者其他方式获得(请别管我要哦),我的意思是不需要提及移植和修改内核的过程了~
我的msm8909启动设备是emmc,有多个分区,分别放置上述的镜像文件,还有多个文件系统和BP的一些分区内容。
准备工作
首先,就是参考
yocto-第1篇-开始qemux86-64虚拟机的构建
下载自己的yocto项目
省略一些步骤,将其切换到对应的版本
~$ cd poky/
poky]$ git pull
poky]$ git tag
...
yocto-3.2.2 #最新的版本了
...
poky]$ git checkout tags/yocto-3.2.2 -b my-yocto-3.2.2
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
当然,目前并不能保证最新的版本能否和这个linux内核适配,主要是gcc版本和linux兼容问题。在内核的Documentation/Changes文件中只告诉了gcc版本最低的版本要求,对于高版本的会有什么问题实在无从查证。
Gnu C 3.2 # gcc --version
Gnu make 3.80 # make --version
- 1
- 2
创建meta layer
因为linux、lk、驱动等都属于BSP层,因此这次的layer取名叫meta-mybsp吧~
poky]$ source oe-init-build-env #使能是为了使用yocto提供的命令
build]$ bitbake-layers create-layer ../meta-mybsp
NOTE: Starting bitbake server...
Add your new layer with 'bitbake-layers add-layer ../meta-mybsp'
- 1
- 2
- 3
- 4
确认下bblayers.conf内容:
cat build/conf/bblayers.conf
# POKY_BBLAYERS_CONF_VERSION is increased each time build/conf/bblayers.conf
# changes incompatibly
POKY_BBLAYERS_CONF_VERSION = "2"
BBPATH = "${TOPDIR}"
BBFILES ?= ""
BBLAYERS ?= " \
/home/peeta/poky/meta \
/home/peeta/poky/meta-poky \
/home/peeta/poky/meta-yocto-bsp \
/home/peeta/poky/meta-mybsp \
"
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
完成上面的步骤就OK~
如果以前创建过meta-mylayer的盆友可能会出现问题,参考下这个 yocto-第49篇-编译问题汇总及解决方案 里面有没有解决方案
创建machine和配置
先创建一个目录和配置文件:
meta-mybsp]$ mkdir -p conf/machine
meta-mybsp]$ vim conf/machine/msm8909.conf #名字可以自由发挥
- 1
- 2
在配置文件中先不做复杂的工作,先慢慢逐项添加一些核心的东西,然后后面遇到问题再修改。
首先给linux kernel指定串口控制台:
SERIAL_CONSOLES ?= "115200;ttyHSL0"
SERIAL_CONSOLES_CHECK = "${SERIAL_CONSOLES}"
- 1
- 2
再给他指定内核的recipe和版本
PREFERRED_PROVIDER_virtual/kernel ?= "linux-msm"
PREFERRED_VERSION_linux-msm ?= "3.18"
- 1
- 2
第一项告知我们的kernel的的bb文件名是linux-msm,第二项告知我们的版本号。目前msm8909在android代码中有两个版本3.18和4.9,我先用3.18版本。综上可以规定我们的linux kernel的bb文件名为:
linux-msm_3.18.bb
- 1
有了第一项内容,我们在编译内核的时候,不用关系linux内核的recipe名究竟是什么了,直接使用:
bitbake virtual/kernel
- 1
别急,现在我们还不能编译我们的内核哦,因为还没有添加对应的recipe。
因为我们的平台是armv7架构的,同时支持hard float,在armv7-A体系架构上基本采用了neon技术,指定的TUNE为:
DEFAULTTUNE ?= "armv7ahf-neon"
include conf/machine/include/tune-cortexa7.inc
- 1
- 2
同时需要保护cortexa7相关的头文件:meta/conf/machine/include/tune-cortexa7.inc
指定构建的内核类型,默认为zImage,可以不设置,该变量会传给make:
KERNEL_IMAGETYPE = "zImage"
- 1
添加与机器相关的包的列表:
MACHINE_EXTRA_RRECOMMENDS = "kernel-modules kernel-devicetree"
- 1
这些包对启动来说不是必需的。
添加机器具有哪些特性功能:
MACHINE_FEATURES = "usbgadget usbhost vfat alsa"
- 1
添加kernel的recipe
OK,开始添加kernel的recipe(tips: 很多人不知道recipe和bb的关系,可以这么理解,meta目录下有很多的recipe,recipe目录下可以有一个或者多个bb文件,通常都是按类分的)
meta-mybsp]$ mkdir -p recipes-kernel/linux-msm
meta-mybsp]$ cd recipes-kernel/linux-msm/
- 1
- 2
将内核源码拷贝到当前目录下面,为了区分以后的4.9版本内核,linux kernel的源码目录就用版本号代替吧:
linux-msm]$ cp ~/linux-msm-3.18/ 3.18 -rf #内核源码自备哈
linux-msm]$ ls
3.18/
- 1
- 2
- 3
紧接着创建一个bb文件:
linux-msm]$ vim linux-msm_3.18.bb
- 1
现在在linux-msm_3.18.bb文件中添加内容:
DESCRIPTION = "Linux Kernel of msm8909" #bb文件的描述信息
LICENSE = "CLOSED" #关闭license校验
- 1
- 2
添加继承kernel和kernel-yocto两个类(大部分内核编译使用的函数都集成在这两个类里):
inherit kernel kernel-yocto
- 1
指定linux版本:
LINUX_VERSION_msm8909 = "3.18" # _msm8909也可以省略哈
PV = "${LINUX_VERSION}"
- 1
- 2
设置linux内核源码的路径:
FILESEXTRAPATHS_prepend := "${THISDIR}/:"
SRC_DIR = "${PV}"
SRC_URI = "file://${PV}/"
S = "${WORKDIR}/${PV}"
- 1
- 2
- 3
- 4
因为源码不是git仓库,没有分支,也不需执行git checkout,故:
KBRANCH = ""
do_kernel_checkout[noexec] = "1" #不执行的意思
- 1
- 2
kernel config相关的配置:
KMETA = "kernel-meta"
- 1
这个通常与config生成有些关系,缺少这个可能导致一些问题,通常会在下面这个目录下生成一些配置信息:
poky $ ls build/tmp-glibc/work-shared/${MACHINE}/kernel-source/.kernel-meta/
bsp_definition cfg config.queue configs meta-series non-hardware_frags.txt series
- 1
- 2
设置机器名:
KMACHINE ?= "${MACHINE}"
- 1
选择对应的config文件:
KBUILD_DEFCONFIG ?= "msm8909_defconfig"
- 1
修改local.conf
这个文件source环境是会根据里面的Machine参数找到对应的配置文件:
poky]$ vim build/conf/local.conf
- 1
屏蔽里面所有的MACHINE变量设置,改成:
MACHINE = "msm8909"
TMPDIR = "${TOPDIR}/tmp-msm8909" #这个是我定义了一个新的tmp目录,因为之前编译qemux86-64的时候已经有了一个tmp,不去动它了。当然你也可以buildclean清除掉所有的编译内容。
- 1
- 2
OK~ 开始编译验证,有问题再后续慢慢解决:
poky]$ source oe-init-build-env
build]$ bitbake virtual/kernel
Build Configuration:
BB_VERSION = "1.48.0"
BUILD_SYS = "x86_64-linux"
NATIVELSBSTRING = "ubuntu-16.04"
TARGET_SYS = "arm-poky-linux-gnueabi"
MACHINE = "msm8909"
DISTRO = "poky"
DISTRO_VERSION = "3.2.2"
TUNE_FEATURES = "arm armv7a vfp neon callconvention-hard"
TARGET_FPU = "hard"
meta
meta-poky
meta-yocto-bsp
meta-mybsp = "my-yocto-3.2.2:d5d6286a66f46f4523e35e0e3f20cd7396195fdc"
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
编译过程报错了,错误信息如下:
ERROR: linux-msm-3.18-r0 do_kernel_version_sanity_check: Package Version (3.18) does not match of kernel being built (3.18.71). Please update the PV variable to match the kernel source or set KERNEL_VERSION_SANITY_SKIP="1" in your recipe.
ERROR: linux-msm-3.18-r0 do_kernel_version_sanity_check: '_sre.SRE_Match' object is not subscriptable
ERROR: Logfile of failure stored in: /home/peeta/poky/build/tmp-msm8909/work/msm8909-poky-linux-gnueabi/linux-msm/3.18-r0/temp/log.do_kernel_version_sanity_check.8236
ERROR: Task (/home/peeta/poky/meta-mybsp/recipes-kernel/linux-msm/linux-msm_3.18.bb:do_kernel_version_sanity_check) failed with exit code '1'
- 1
- 2
- 3
- 4
看问题说是内核版本检查的时候与PV不匹配,这是由于我们省略了修订号。因此有两个解决方案:
meta-mybsp]$ vim recipes-kernel/linux-msm/linux-msm_3.18.bb
LINUX_VERSION_msm8909 = "3.18.71" #改这个,改了这个源码的子目录要从3.18改成3.18.71,或者源码设置的时候不用PV变量
PV = "${LINUX_VERSION}"
#or
KERNEL_VERSION_SANITY_SKIP="1" #或者加这个,两个同时加上应该也没关系
- 1
- 2
- 3
- 4
- 5
我修改了内核源码的目录名:
poky/meta-mybsp/recipes-kernel/linux-msm/3.18/ 改成 poky/meta-mybsp/recipes-kernel/linux-msm/3.18.71/
- 1
继续编译,报如下错误:
<font color=red> ERROR: linux-libc-headers-5.8-r0 do_package_write_rpm: Error executing a python function in exec_python_func() autogenerated:
...
Provides: linux-libc-headers-dev = 5.8-r0
Requires(rpmlib): rpmlib(CompressedFileNames) <= 3.0.4-1 rpmlib(FileDigests) <= 4.6.0-1 rpmlib(PayloadFilesHavePrefix) <= 4.0-1
</font>
- 1
- 2
- 3
- 4
- 5
具体原因不详,可能是ubuntu和该版本的yocto有点不兼容。不过我知道解决方法:
build]$ vim conf/local.conf
#修改下面的rpm为ipk
PACKAGE_CLASSES ?= "package_ipk"
- 1
- 2
- 3
这个主要是某个项目独立的安装包,相当于PC上给你一个软件包可以独立安装一样,目前没有这个需求。
poky]$ source oe-init-build-env
build]$ bitbake virtual/kernel
- 1
- 2
现在内核编译保存了:
ERROR: linux-msm-3.18.71-r0 do_compile: oe_runmake failed
...
| LD usr/built-in.o
| CC arch/arm/kernel/elf.o
| CC arch/arm/mm/dma-mapping.o
| AS arch/arm/vfp/entry.o
| CC arch/arm/mm/extable.o
| AS arch/arm/vfp/vfphw.o
| CC arch/arm/vfp/vfpsingle.o
| CC arch/arm/vfp/vfpdouble.o
| AS arch/arm/kernel/entry-common.o
| CC arch/arm/kernel/irq.o
| /home/peeta/poky/build/tmp-msm8909/work-shared/msm8909/kernel-source/arch/arm/mm/dma-mapping.c: In function 'arm_dma_unremap':
| /home/peeta/poky/build/tmp-msm8909/work-shared/msm8909/kernel-source/arch/arm/mm/dma-mapping.c:808:23: error: 'VM_ARM_DMA_CONSISTENT' undeclared (first use in this function); did you mean 'DMA_ATTR_NON_CONSISTENT'?
| 808 | unsigned int flags = VM_ARM_DMA_CONSISTENT | VM_USERMAP;
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
此时,先别荒,进入下面的目录:
poky]$ cd build/tmp-msm8909/work/msm8909-poky-linux-gnueabi/linux-msm/3.18.71-r0/
3.18.71-r0]$ ls
3.18.71 defconfig license-destdir recipe-sysroot-native temp
build deploy-source-date-epoch recipe-sysroot source-date-epoch
- 1
- 2
- 3
- 4
比较两个defconfig文件是否一致:
3.18.71-r0]$ vim -d defconfig 3.18.71/arch/arm/configs/msm8909_defconfig
#是一致的
- 1
- 2
我们比较下android和yocto编译出来的.config文件是否一致:
vim -d build/.config <android path>/.config
- 1
差异还是很大的,先解决看看为啥编译出来的.config为什么差异这么大。
折腾后发现加这个,就可以解决.config不一致的问题:
KCONFIG_MODE = "--alldefconfig"
- 1
如图:
有些小的差异主要是还有其他的config配置(*.cfg)文件。
但是!修复.config差异后又出现了如下问题,不知道是不是GNU gcc的版本与linux kernel版本差距太大导致的,花费了有些时间了,看样子是汇编编译出来问题,有经验的小伙伴请赐教,但是依旧搞不好
问题log部分:
。
| CC block/blk-ioc.o
| /tmp/ccm42xxP.s: Assembler messages:
| /tmp/ccm42xxP.s:1374: Error: .err encountered
| /home/peeta/poky/build/tmp-msm8909/work-shared/msm8909/kernel-source/scripts/Makefile.build:257: recipe for target 'kernel/sysctl.o' failed
| make[3]: *** [kernel/sysctl.o] Error 1
| /home/peeta/poky/build/tmp-msm8909/work-shared/msm8909/kernel-source/Makefile:962: recipe for target 'kernel' failed
| make[2]: *** [kernel] Error 2
| make[2]: *** Waiting for unfinished jobs....
| CC block/blk-map.o
| CC block/blk-exec.o
| CC block/blk-merge.o
| /tmp/ccfRQEIn.s: Assembler messages:
| /tmp/ccfRQEIn.s:2078: Error: .err encountered
| /tmp/ccfRQEIn.s:2252: Error: .err encountered
| /tmp/ccfRQEIn.s:2636: Error: .err encountered
| /tmp/ccfRQEIn.s:8759: Error: .err encountered
| /home/peeta/poky/build/tmp-msm8909/work-shared/msm8909/kernel-source/scripts/Makefile.build:257: recipe for target 'fs/fat/dir.o' failed
| make[4]: *** [fs/fat/dir.o] Error 1
| /home/peeta/poky/build/tmp-msm8909/work-shared/msm8909/kernel-source/scripts/Makefile.build:402: recipe for target 'fs/fat' failed
| make[3]: *** [fs/fat] Error 2
| /home/peeta/poky/build/tmp-msm8909/work-shared/msm8909/kernel-source/Makefile:962: recipe for target 'fs' failed
| make[2]: *** [fs] Error 2
| CC block/blk-softirq.o
| CC block/blk-timeout.o
| CC block/blk-iopoll.o
| CC block/blk-lib.o
| CC block/blk-mq.o
| CC block/blk-mq-tag.o
| CC block/blk-mq-sysfs.o
| CC block/blk-mq-cpu.o
| CC block/blk-mq-cpumap.o
| CC block/ioctl.o
| CC block/genhd.o
| CC block/scsi_ioctl.o
| CC block/partition-generic.o
| CC block/ioprio.o
| CC block/partitions/check.o
| CC block/bounce.o
| CC block/partitions/msdos.o
| /tmp/ccGOGEEa.s: Assembler messages:
| /tmp/ccGOGEEa.s:3983: Error: .err encountered
| /tmp/ccGOGEEa.s:4400: Error: .err encountered
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
- 33
- 34
- 35
- 36
- 37
- 38
- 39
- 40
- 41
- 42
最终msm8909.conf配置如下:
meta-mybsp]$ cat conf/machine/msm8909.conf
# msm8909
SERIAL_CONSOLES ?= "115200;ttyHSL0"
SERIAL_CONSOLES_CHECK = "${SERIAL_CONSOLES}"
PREFERRED_PROVIDER_virtual/kernel ?= "linux-msm"
PREFERRED_VERSION_linux-msm ?= "3.18"
#PREFERRED_VERSION_gcc ?= "6.4"
DEFAULTTUNE ?= "armv7ahf-neon"
include conf/machine/include/tune-cortexa7.inc
KERNEL_IMAGETYPE = "zImage"
KERNEL_CMD_PARAMS = "noinitrd console=ttyHSL0,115200,n8 androidboot.hardware=qcom ehci-hcd.park=3 msm_rtb.filter=0x37 lpm_levels.sleep_disabled=1 rootwait androidboot.bootdevice=7824900.sdhci"
MACHINE_EXTRA_RRECOMMENDS = "kernel-modules kernel-devicetree"
MACHINE_FEATURES = "usbgadget usbhost vfat alsa"
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
最终kernel的bb文件内容如下:
# linux-msm's bb file
DESCRIPTION = "Linux Kernel of msm8909"
LICENSE = "CLOSED"
inherit kernel kernel-yocto
LINUX_VERSION_msm8909 = "3.18.71"
PV = "${LINUX_VERSION}"
#or
KERNEL_VERSION_SANITY_SKIP="1"
FILESEXTRAPATHS_prepend := "${THISDIR}/:"
SRC_DIR = "${PV}"
SRC_URI = "file://${PV}/"
S = "${WORKDIR}/${PV}"
KBRANCH = ""
do_kernel_checkout[noexec] = "1"
KMETA = "kernel-meta"
KMACHINE ?= "${MACHINE}"
KBUILD_DEFCONFIG ?= "msm8909_defconfig"
KCONFIG_MODE = "--alldefconfig"
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
后面只能考虑将yocto的版本降低些,慢慢降,看看那个版本匹配。
N天后
发邮件给yocto开发人员咨询该问题,人家回复如下:
you are compiling an old kernel with relatively new compiler perhaps
you are hitting thishttps://gcc.gnu.org/bugzilla/show_bug.cgi?id=85745
i would suggest to remove const from below lines in kernel
register const typeof( (&msg->msg_namelen)) __r2 asm(“r2”) = (110);
register const typeof( (&msg->msg_namelen)) *__p asm(“r0”) = __tmp_p;
根据链接说明gcc-8也有相同的问题。尝试按照补丁修改编译看看。
奇迹!果然编译通过了
:
build]$ bitbake virtual/kernel -c cleanall
Loading cache: 100% |################################################################################| Time: 0:00:00
Loaded 1356 entries from dependency cache.
Parsing recipes: 100% |##############################################################################| Time: 0:00:00
Parsing of 786 .bb files complete (785 cached, 1 parsed). 1356 targets, 68 skipped, 0 masked, 0 errors.
NOTE: preferred version 3.18 of linux-msm not available (for item virtual/kernel)
NOTE: versions of linux-msm available: 3.18.71
NOTE: Resolving any missing task queue dependencies
Build Configuration:
BB_VERSION = "1.48.0"
BUILD_SYS = "x86_64-linux"
NATIVELSBSTRING = "universal"
TARGET_SYS = "arm-poky-linux-gnueabi"
MACHINE = "msm8909"
DISTRO = "poky"
DISTRO_VERSION = "3.2.2"
TUNE_FEATURES = "arm armv7a vfp neon callconvention-hard"
TARGET_FPU = "hard"
meta
meta-poky
meta-yocto-bsp
meta-mybsp = "my-yocto-3.2.2:d5d6286a66f46f4523e35e0e3f20cd7396195fdc"
Initialising tasks: 100% |###########################################################################| Time: 0:00:00
Sstate summary: Wanted 0 Found 0 Missed 0 Current 0 (0% match, 0% complete)
NOTE: No setscene tasks
NOTE: Executing Tasks
NOTE: Tasks Summary: Attempted 4 tasks of which 0 didn't need to be rerun and all succeeded.
[peeta@peeta-OptiPlex-7050 build]$ bitbake virtual/kernel
Loading cache: 100% |################################################################################| Time: 0:00:00
Loaded 1356 entries from dependency cache.
NOTE: preferred version 3.18 of linux-msm not available (for item virtual/kernel)
NOTE: versions of linux-msm available: 3.18.71
NOTE: Resolving any missing task queue dependencies
Build Configuration:
BB_VERSION = "1.48.0"
BUILD_SYS = "x86_64-linux"
NATIVELSBSTRING = "universal"
TARGET_SYS = "arm-poky-linux-gnueabi"
MACHINE = "msm8909"
DISTRO = "poky"
DISTRO_VERSION = "3.2.2"
TUNE_FEATURES = "arm armv7a vfp neon callconvention-hard"
TARGET_FPU = "hard"
meta
meta-poky
meta-yocto-bsp
meta-mybsp = "my-yocto-3.2.2:d5d6286a66f46f4523e35e0e3f20cd7396195fdc"
Initialising tasks: 100% |###########################################################################| Time: 0:00:09
Sstate summary: Wanted 9 Found 0 Missed 9 Current 110 (0% match, 92% complete)
NOTE: Executing Tasks
NOTE: Tasks Summary: Attempted 512 tasks of which 483 didn't need to be rerun and all succeeded.
[peeta@peeta-OptiPlex-7050 build]$
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
- 33
- 34
- 35
- 36
- 37
- 38
- 39
- 40
- 41
- 42
- 43
- 44
- 45
- 46
- 47
- 48
- 49
- 50
- 51
- 52
- 53
- 54
- 55
- 56
解决方案
参考链接中提及的补丁:
commit 20dfb4d2eb648bd947adbb729d963f78df75ffee
Author: Bernd Edlinger <bernd.edlinger@hotmail.de>
Date: Fri May 11 18:51:03 2018 +0200
Fix compilation with gcc-8
diff --git a/arch/arm/include/asm/uaccess.h b/arch/arm/include/asm/uaccess.h
index 74b17d0..dc64fa2 100644
--- a/arch/arm/include/asm/uaccess.h
+++ b/arch/arm/include/asm/uaccess.h
@@ -220,7 +220,7 @@ extern int __put_user_8(void *, unsigned long long);
({ \
unsigned long __limit = current_thread_info()->addr_limit - 1; \
const typeof(*(p)) __user *__tmp_p = (p); \
- register const typeof(*(p)) __r2 asm("r2") = (x); \
+ register typeof(*(p)) __r2 asm("r2") = (x); \
register const typeof(*(p)) __user *__p asm("r0") = __tmp_p; \
register unsigned long __l asm("r1") = __limit; \
register int __e asm("r0"); \
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
来吧!展示:
poky]$ ls -l build/tmp-msm8909/work/msm8909-poky-linux-gnueabi/linux-msm/3.18.71-r0/image/boot/
total 199484
-rw-r--r-- 1 peeta peeta 117376 3月 30 19:45 config-3.18.71
-rw-r--r-- 1 peeta peeta 473906 3月 30 19:45 Module.symvers-3.18.71
-rw-r--r-- 1 peeta peeta 4234810 3月 30 19:45 System.map-3.18.71
-rw-r--r-- 1 peeta peeta 190884772 3月 30 19:45 vmlinux-3.18.71
-rw-r--r-- 1 peeta peeta 8730824 3月 30 19:45 zImage-3.18.71
poky]$ ls -l build/tmp-msm8909/deploy/images/msm8909/
total 10216
-rw-rw-r-- 2 peeta peeta 1728418 3月 30 19:46 modules--3.18.71-r0-msm8909-20210330114111.tgz
lrwxrwxrwx 2 peeta peeta 46 3月 30 19:46 modules-msm8909.tgz -> modules--3.18.71-r0-msm8909-20210330114111.tgz
lrwxrwxrwx 2 peeta peeta 45 3月 30 19:46 zImage -> zImage--3.18.71-r0-msm8909-20210330114111.bin
-rw-r--r-- 2 peeta peeta 8730824 3月 30 19:46 zImage--3.18.71-r0-msm8909-20210330114111.bin
lrwxrwxrwx 2 peeta peeta 45 3月 30 19:46 zImage-msm8909.bin -> zImage--3.18.71-r0-msm8909-20210330114111.bin
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
下次开始使用zImage制作boot.img文件,刷板子跑一跑
给我点个赞加个关注呗!万分感谢!