栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 系统运维 > 运维 > Linux

【SemiDrive源码分析】【Yocto源码分析】07 - core-image-base-x9h

Linux 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

【SemiDrive源码分析】【Yocto源码分析】07 - core-image-base-x9h

【SemiDrive源码分析】【Yocto源码分析】07 - core-image-base-x9h_ref_serdes.rootfs.ext4 文件系统是如何生成的
    • 1、core-image-base-x9h_ref_serdes.rootfs.ext4 生成 ext4 格式文件
    • 2、编译 rootfs 相关的log


本 SemiDrive源码分析 之 Yocto源码分析 系列文章汇总如下:

  1. 《【SemiDrive源码分析】【Yocto源码分析】01 - yocto/base目录源码分析(编译环境初始化流程)》
  2. 《【SemiDrive源码分析】【Yocto源码分析】02 - yocto/meta-openembedded目录源码分析》
  3. 《【SemiDrive源码分析】【Yocto源码分析】03 - yocto/meta-semidrive目录及Yocto Kernel编译过程分析(上)》
  4. 《【SemiDrive源码分析】【Yocto源码分析】04 - yocto/meta-semidrive目录及Yocto Kernel编译过程分析(下)》
  5. 《【SemiDrive源码分析】【Yocto源码分析】05 - 找一找Yocto Kernel编译过程中所有Task的源码在哪定义的呢?》
  6. 《【SemiDrive源码分析】【Yocto源码分析】06 - Kernel编译生成的Image.bin、Image_nobt.dtb、modules.tgz 这三个文件分别是如何生成的?》
  7. 《【SemiDrive源码分析】【Yocto源码分析】07 - core-image-base-x9h_ref_serdes.rootfs.ext4 文件系统是如何生成的》
  8. 《【SemiDrive源码分析】【Yocto源码分析】08 - X9平台系统分区修改》
  9. 《【SemiDrive源码分析】【Yocto源码分析】09 - X9平台系统启动流程分析》


经过前面的几篇文章,如果您认真看了,至少我们可以清楚的知道,
Yocto 项目中,Kernel 是如何编译的,以及Kernel 的Image.bin、Image_nobt.dtb、modules.tgz 这三个文件分别又包含了什么内容。

可能您会说,我是清楚了这些,但问题来了,具体项目中Kernel 该怎么配置,怎么修改,怎么调试,我都不知道呀。
对此我想说,是的,别急呀,路要一步一步走,代码也要一行一行来看,我们目前还处于熟悉代码的阶段呢,
我们当前阶段的目标是:对整套代码每个目录都相对熟悉,知道其大概的作用,以及知道后续要使用的相关镜像都是怎么生成的^_^
至于,各模块的代码架构,以及项目中详细的调试方法,哈哈,放心吧,这些后续我会一篇一篇更新的,加油。

我们知道 Yocto的主要好处便在于可以灵活定制 linux kernel 及rootfs文件系统,

那本文,我们就来看看yocto中 rootfs文件系统是怎么生成的,
了解清楚 rootfs文件系统的生成原理 还是比较重要的,因为在实际项目中经常会有修改rootfs文件系统的需求。

好,废话不多说,开始吧^_^


1、core-image-base-x9h_ref_serdes.rootfs.ext4 生成 ext4 格式文件

在log中搜索下,core-image-base-x9h_ref_serdes-20220504093115.rootfs.ext4
完整log如下:

DEBUG: Marking task /home/ciellee/work/code/x9_ptg_3.9.1/buildsystem/yocto/poky/meta/recipes-core/images/core-image-base.bb:do_image_ext4 as buildable
DEBUG: Parsing /home/ciellee/work/code/x9_ptg_3.9.1/buildsystem/yocto/poky/meta/recipes-core/images/core-image-base.bb (full)
DEBUG: Inheriting /home/ciellee/work/code/x9_ptg_3.9.1/buildsystem/yocto/poky/meta/classes/core-image.bbclass (from /home/ciellee/work/code/x9_ptg_3.9.1/buildsystem/yocto/poky/meta/recipes-core/images/core-image-base.bb:8)
DEBUG: Inheriting /home/ciellee/work/code/x9_ptg_3.9.1/buildsystem/yocto/poky/meta/classes/image.bbclass (from /home/ciellee/work/code/x9_ptg_3.9.1/buildsystem/yocto/poky/meta/classes/core-image.bbclass:72)
DEBUG: Inheriting /home/ciellee/work/code/x9_ptg_3.9.1/buildsystem/yocto/poky/meta/classes/rootfs_rpm.bbclass (from /home/ciellee/work/code/x9_ptg_3.9.1/buildsystem/yocto/poky/meta/classes/image.bbclass:1)
DEBUG: Inheriting /home/ciellee/work/code/x9_ptg_3.9.1/buildsystem/yocto/poky/meta/classes/populate_sdk_ext.bbclass (from /home/ciellee/work/code/x9_ptg_3.9.1/buildsystem/yocto/poky/meta/classes/image.bbclass:6)
DEBUG: Inheriting /home/ciellee/work/code/x9_ptg_3.9.1/buildsystem/yocto/poky/meta/classes/populate_sdk_base.bbclass (from /home/ciellee/work/code/x9_ptg_3.9.1/buildsystem/yocto/poky/meta/classes/populate_sdk_ext.bbclass:3)
DEBUG: Inheriting /home/ciellee/work/code/x9_ptg_3.9.1/buildsystem/yocto/poky/meta/classes/meta.bbclass (from /home/ciellee/work/code/x9_ptg_3.9.1/buildsystem/yocto/poky/meta/classes/populate_sdk_base.bbclass:1)
DEBUG: Inheriting /home/ciellee/work/code/x9_ptg_3.9.1/buildsystem/yocto/poky/meta/classes/image_types_wic.bbclass (from /home/ciellee/work/code/x9_ptg_3.9.1/buildsystem/yocto/poky/meta/classes/image.bbclass:145)
DEBUG: Inheriting /home/ciellee/work/code/x9_ptg_3.9.1/buildsystem/yocto/poky/meta/classes/image_types.bbclass (from /home/ciellee/work/code/x9_ptg_3.9.1/buildsystem/yocto/poky/meta/classes/image.bbclass:181)
DEBUG: Inheriting /home/ciellee/work/code/x9_ptg_3.9.1/buildsystem/yocto/poky/meta/classes/siteinfo.bbclass (from /home/ciellee/work/code/x9_ptg_3.9.1/buildsystem/yocto/poky/meta/classes/image_types.bbclass:230)
DEBUG: Inheriting /home/ciellee/work/code/x9_ptg_3.9.1/buildsystem/yocto/poky/meta/classes/kernel-arch.bbclass (from /home/ciellee/work/code/x9_ptg_3.9.1/buildsystem/yocto/poky/meta/classes/image_types.bbclass:230)
DEBUG: Inheriting /home/ciellee/work/code/x9_ptg_3.9.1/buildsystem/yocto/poky/meta/classes/rootfs-postcommands.bbclass (from /home/ciellee/work/code/x9_ptg_3.9.1/buildsystem/yocto/poky/meta/classes/image.bbclass:194)
DEBUG: SITE files ['endian-little', 'bit-64', 'arm-common', 'arm-64', 'common-linux', 'common-glibc', 'aarch64-linux', 'common']
DEBUG: Executing task do_image_ext4
DEBUG: core-image-base-1.0-r0 do_image_ext4: 297304.800000 = 228696 * 1.300000
DEBUG: core-image-base-1.0-r0 do_image_ext4: 297304.800000 = max(297304.800000, 262144)[297304.800000] + 1
DEBUG: core-image-base-1.0-r0 do_image_ext4: 297305.000000 = int(297304.800000)
DEBUG: core-image-base-1.0-r0 do_image_ext4: 297305 = aligned(297305)
DEBUG: core-image-base-1.0-r0 do_image_ext4: returning 297305
+ do_image_ext4
+ oe_mkext234fs ext4 -i 4096 -b 4096
+ fstype=ext4
+ extra_imagecmd=
+ [ 5 -gt 1 ]
+ shift
+ extra_imagecmd=-i 4096 -b 4096
+ eval local COUNT="0"
+ local COUNT=0
+ eval local MIN_COUNT="60"
+ local MIN_COUNT=60
+ [ 297305 -lt 60 ]
+ bbdebug 1 Executing dd if=/dev/zero of=/home/ciellee/work/code/x9_ptg_3.9.1/buildsystem/yocto/build-x9ref/tmp/work/x9h_ref_serdes-sdrv-linux/core-image-base/1.0-r0/deploy-core-image-base-image-complete/core-image-base-x9h_ref_serdes-20220504093115.rootfs.ext4 seek=297305 count=0 bs=1024
+ USAGE=Usage: bbdebug [123] "message"
+ [ 3 -lt 2 ]
+ DBGLVL=1
+ shift

+ echo 1

+ tr -d [:digit:]

+ NONDIGITS=
+ [  ]
+ [ -p /home/ciellee/work/code/x9_ptg_3.9.1/buildsystem/yocto/build-x9ref/tmp/work/x9h_ref_serdes-sdrv-linux/core-image-base/1.0-r0/temp/fifo.104608 ]

DEBUG: core-image-base-1.0-r0 do_image_ext4: Executing dd if=/dev/zero of=/home/ciellee/work/code/x9_ptg_3.9.1/buildsystem/yocto/build-x9ref/tmp/work/x9h_ref_serdes-sdrv-linux/core-image-base/1.0-r0/deploy-core-image-base-image-complete/core-image-base-x9h_ref_serdes-20220504093115.rootfs.ext4 seek=297305 count=0 bs=1024
+ printf %b bbdebug 1 Executing dd if=/dev/zero of=/home/ciellee/work/code/x9_ptg_3.9.1/buildsystem/yocto/build-x9ref/tmp/work/x9h_ref_serdes-sdrv-linux/core-image-base/1.0-r0/deploy-core-image-base-image-complete/core-image-base-x9h_ref_serdes-20220504093115.rootfs.ext4 seek=297305 count=0 bs=1024
+ dd if=/dev/zero of=/home/ciellee/work/code/x9_ptg_3.9.1/buildsystem/yocto/build-x9ref/tmp/work/x9h_ref_serdes-sdrv-linux/core-image-base/1.0-r0/deploy-core-image-base-image-complete/core-image-base-x9h_ref_serdes-20220504093115.rootfs.ext4 seek=297305 count=0 bs=1024

0+0 records in
0+0 records out
0 bytes copied, 9.3011e-05 s, 0.0 kB/s

+ du -s /home/ciellee/work/code/x9_ptg_3.9.1/buildsystem/yocto/build-x9ref/tmp/work/x9h_ref_serdes-sdrv-linux/core-image-base/1.0-r0/rootfs

+ bbdebug 1 Actual Rootfs size:  228696 /home/ciellee/work/code/x9_ptg_3.9.1/buildsystem/yocto/build-x9ref/tmp/work/x9h_ref_serdes-sdrv-linux/core-image-base/1.0-r0/rootfs
+ USAGE=Usage: bbdebug [123] "message"
+ [ 2 -lt 2 ]
+ DBGLVL=1
+ shift

+ echo 1

+ tr -d [:digit:]

+ NONDIGITS=
+ [  ]
+ [ -p /home/ciellee/work/code/x9_ptg_3.9.1/buildsystem/yocto/build-x9ref/tmp/work/x9h_ref_serdes-sdrv-linux/core-image-base/1.0-r0/temp/fifo.104608 ]
+ printf %b bbdebug 1 Actual Rootfs size:  228696     /home/ciellee/work/code/x9_ptg_3.9.1/buildsystem/yocto/build-x9ref/tmp/work/x9h_ref_serdes-sdrv-linux/core-image-base/1.0-r0/rootfs

DEBUG: core-image-base-1.0-r0 do_image_ext4: Actual Rootfs size:  228696        /home/ciellee/work/code/x9_ptg_3.9.1/buildsystem/yocto/build-x9ref/tmp/work/x9h_ref_serdes-sdrv-linux/core-image-base/1.0-r0/rootfs
+ stat -c %s /home/ciellee/work/code/x9_ptg_3.9.1/buildsystem/yocto/build-x9ref/tmp/work/x9h_ref_serdes-sdrv-linux/core-image-base/1.0-r0/deploy-core-image-base-image-complete/core-image-base-x9h_ref_serdes-20220504093115.rootfs.ext4

+ bbdebug 1 Actual Partion size: 304440320
+ USAGE=Usage: bbdebug [123] "message"
+ [ 2 -lt 2 ]
+ DBGLVL=1
+ shift

+ echo 1

+ tr -d [:digit:]

+ NONDIGITS=
+ [  ]
+ [ -p /home/ciellee/work/code/x9_ptg_3.9.1/buildsystem/yocto/build-x9ref/tmp/work/x9h_ref_serdes-sdrv-linux/core-image-base/1.0-r0/temp/fifo.104608 ]
+ printf %b bbdebug 1 Actual Partion size: 304440320
+ bbdebug 1 Executing mkfs.ext4 -F -i 4096 -b 4096 /home/ciellee/work/code/x9_ptg_3.9.1/buildsystem/yocto/build-x9ref/tmp/work/x9h_ref_serdes-sdrv-linux/core-image-base/1.0-r0/deploy-core-image-base-image-complete/core-image-base-x9h_ref_serdes-20220504093115.rootfs.ext4 -d /home/ciellee/work/code/x9_ptg_3.9.1/buildsystem/yocto/build-x9ref/tmp/work/x9h_ref_serdes-sdrv-linux/core-image-base/1.0-r0/rootfs
+ USAGE=Usage: bbdebug [123] "message"
+ [ 3 -lt 2 ]
+ DBGLVL=1
+ shift

DEBUG: core-image-base-1.0-r0 do_image_ext4: Actual Partion size: 304440320
+ echo 1

+ tr -d [:digit:]

+ NONDIGITS=
+ [  ]
+ [ -p /home/ciellee/work/code/x9_ptg_3.9.1/buildsystem/yocto/build-x9ref/tmp/work/x9h_ref_serdes-sdrv-linux/core-image-base/1.0-r0/temp/fifo.104608 ]

DEBUG: core-image-base-1.0-r0 do_image_ext4: Executing mkfs.ext4 -F -i 4096 -b 4096 /home/ciellee/work/code/x9_ptg_3.9.1/buildsystem/yocto/build-x9ref/tmp/work/x9h_ref_serdes-sdrv-linux/core-image-base/1.0-r0/deploy-core-image-base-image-complete/core-image-base-x9h_ref_serdes-20220504093115.rootfs.ext4 -d /home/ciellee/work/code/x9_ptg_3.9.1/buildsystem/yocto/build-x9ref/tmp/work/x9h_ref_serdes-sdrv-linux/core-image-base/1.0-r0/rootfs
+ printf %b bbdebug 1 Executing mkfs.ext4 -F -i 4096 -b 4096 /home/ciellee/work/code/x9_ptg_3.9.1/buildsystem/yocto/build-x9ref/tmp/work/x9h_ref_serdes-sdrv-linux/core-image-base/1.0-r0/deploy-core-image-base-image-complete/core-image-base-x9h_ref_serdes-20220504093115.rootfs.ext4 -d /home/ciellee/work/code/x9_ptg_3.9.1/buildsystem/yocto/build-x9ref/tmp/work/x9h_ref_serdes-sdrv-linux/core-image-base/1.0-r0/rootfs
+ mkfs.ext4 -F -i 4096 -b 4096 /home/ciellee/work/code/x9_ptg_3.9.1/buildsystem/yocto/build-x9ref/tmp/work/x9h_ref_serdes-sdrv-linux/core-image-base/1.0-r0/deploy-core-image-base-image-complete/core-image-base-x9h_ref_serdes-20220504093115.rootfs.ext4 -d /home/ciellee/work/code/x9_ptg_3.9.1/buildsystem/yocto/build-x9ref/tmp/work/x9h_ref_serdes-sdrv-linux/core-image-base/1.0-r0/rootfs

mke2fs 1.43.8 (1-Jan-2018)

Discarding device blocks: done
Creating filesystem with 74326 4k blocks and 74400 inodes
Filesystem UUID: 2e41b753-17c0-48ed-879d-be14dbd1a3e9
Superblock backups stored on blocks:
        32768

Allocating group tables: done
Writing inode tables: done

Creating journal (4096 blocks):
done
Copying files into the device:
done
Writing superblocks and filesystem accounting information: done


+ fsck.ext4 -pvfD /home/ciellee/work/code/x9_ptg_3.9.1/buildsystem/yocto/build-x9ref/tmp/work/x9h_ref_serdes-sdrv-linux/core-image-base/1.0-r0/deploy-core-image-base-image-complete/core-image-base-x9h_ref_serdes-20220504093115.rootfs.ext4


        3971 inodes used (5.34%, out of 74400)
           0 non-contiguous files (0.0%)
           5 non-contiguous directories (0.1%)
             # of inodes with ind/dind/tind blocks: 0/0/0
             Extent depth histogram: 3350
       63538 blocks used (85.49%, out of 74326)
           0 bad blocks
           1 large file

        2812 regular files
         254 directories
           0 character device files
           0 block device files
           0 fifos
           7 links
         896 symbolic links (613 fast symbolic links)
           0 sockets
------------
        3969 files

+ cd /home/ciellee/work/code/x9_ptg_3.9.1/buildsystem/yocto/build-x9ref/tmp/work/x9h_ref_serdes-sdrv-linux/core-image-base/1.0-r0/deploy-core-image-base-image-complete
+ ret=0
+ trap  0
+ exit 0


我们过滤出重要的log:

dd if=/dev/zero of=~/yocto/build-x9ref/tmp/work/x9h_ref_serdes-sdrv-linux/core-image-base/1.0-r0/deploy-core-image-base-image-complete/core-image-base-x9h_ref_serdes-20220504093115.rootfs.ext4 seek=297305 count=0 bs=1024

stat -c %s ~/yocto/build-x9ref/tmp/work/x9h_ref_serdes-sdrv-linux/core-image-base/1.0-r0/deploy-core-image-base-image-complete/core-image-base-x9h_ref_serdes-20220504093115.rootfs.ext4

mkfs.ext4 -F -i 4096 -b 4096 ~/yocto/build-x9ref/tmp/work/x9h_ref_serdes-sdrv-linux/core-image-base/1.0-r0/deploy-core-image-base-image-complete/core-image-base-x9h_ref_serdes-20220504093115.rootfs.ext4 -d ~/yocto/build-x9ref/tmp/work/x9h_ref_serdes-sdrv-linux/core-image-base/1.0-r0/rootfs

fsck.ext4 -pvfD ~/yocto/build-x9ref/tmp/work/x9h_ref_serdes-sdrv-linux/core-image-base/1.0-r0/deploy-core-image-base-image-complete/core-image-base-x9h_ref_serdes-20220504093115.rootfs.ext4

我们来简化下上面的命令:

# 1. dd命令将从zero设备中创建一个内容为0,大小为 297305kb 的文件 core-image-base-x9h_ref_serdes-20220504093115.rootfs.ext4
dd if=/dev/zero of=core-image-base-x9h_ref_serdes-20220504093115.rootfs.ext4 seek=297305 count=0 bs=1024

# 2. 获取文件大小为 304440320 字节
stat -c %s core-image-base-x9h_ref_serdes-20220504093115.rootfs.ext4

# 3. -F 强制格式化 -i 每个inode 4096字节  -b block_size 4096字节 
mkfs.ext4 -F -i 4096 -b 4096 core-image-base-x9h_ref_serdes-20220504093115.rootfs.ext4 -d ~/yocto/build-x9ref/tmp/work/x9h_ref_serdes-sdrv-linux/core-image-base/1.0-r0/rootfs

# 4. 自已检查修复为 ext4的文件系统类型
fsck.ext4 -pvfD core-image-base-x9h_ref_serdes-20220504093115.rootfs.ext4

前面几条指令都好理解,问题来了,第三条,mkfs.ext4 xxx -d xxxx 这个我真没理解,没看到有 -d 这个参数呀。

结果使用代码中编译好的mkfs.ext4 --help 看了下,还真有 -d ,指定 root-directory 的意思,牛逼了

ciellee@ubuntu:~/work/code/x9_ptg_3.9.1/buildsystem/yocto$ ./build-x9ref_bak/tmp/work/all-sdrv-linux/packagegroup-core-ssh-openssh/1.0-r1/recipe-sysroot-native/sbin/mkfs.ext4 --help
/home/ciellee/work/code/x9_ptg_3.9.1/buildsystem/yocto/build-x9ref_bak/tmp/work/all-sdrv-linux/packagegroup-core-ssh-openssh/1.0-r1/recipe-sysroot-native/sbin/mkfs.ext4: invalid option -- '-'
Usage: mkfs.ext4 [-c|-l filename] [-b block-size] [-C cluster-size]
	[-i bytes-per-inode] [-I inode-size] [-J journal-options]
	[-G flex-group-size] [-N number-of-inodes] [-d root-directory]
	[-m reserved-blocks-percentage] [-o creator-os]
	[-g blocks-per-group] [-L volume-label] [-M last-mounted-directory]
	[-O feature[,...]] [-r fs-revision] [-E extended-option[,...]]
	[-t fs-type] [-T usage-type ] [-U UUID] [-e errors_behavior][-z undo_file]
	[-jnqvDFSV] device [blocks-count]

这就很好理解了,先用 mkfs.ext4 对core-image-base-x9h_ref_serdes-20220504093115.rootfs.ext4 强制进行格式化,然后再将rootfs中的文件按 ext4格式放到根目录上

好了,截止目前,我们算是看懂了,core-image-base-x9h_ref_serdes-20220504093115.rootfs.ext4 这个文件怎么来的。

其代码位于:

# poky/meta/classes/image_types.bbclass
oe_mkext234fs () {
        fstype=$1
        extra_imagecmd=""

        if [ $# -gt 1 ]; then
                shift
                extra_imagecmd=$@
        fi

        # If generating an empty image the size of the sparse block should be large
        # enough to allocate an ext4 filesystem using 4096 bytes per inode, this is
        # about 60K, so dd needs a minimum count of 60, with bs=1024 (bytes per IO)
        eval local COUNT="0"
        eval local MIN_COUNT="60"
        if [ $ROOTFS_SIZE -lt $MIN_COUNT ]; then
                eval COUNT="$MIN_COUNT"
        fi
        # Create a sparse image block
        bbdebug 1 Executing "dd if=/dev/zero of=${IMGDEPLOYDIR}/${IMAGE_NAME}${IMAGE_NAME_SUFFIX}.$fstype seek=$ROOTFS_SIZE count=$COUNT bs=1024"
        dd if=/dev/zero of=${IMGDEPLOYDIR}/${IMAGE_NAME}${IMAGE_NAME_SUFFIX}.$fstype seek=$ROOTFS_SIZE count=$COUNT bs=1024
        bbdebug 1 "Actual Rootfs size:  `du -s ${IMAGE_ROOTFS}`"
        bbdebug 1 "Actual Partion size: `stat -c '%s' ${IMGDEPLOYDIR}/${IMAGE_NAME}${IMAGE_NAME_SUFFIX}.$fstype`"
        bbdebug 1 Executing "mkfs.$fstype -F $extra_imagecmd ${IMGDEPLOYDIR}/${IMAGE_NAME}${IMAGE_NAME_SUFFIX}.$fstype -d ${IMAGE_ROOTFS}"
        mkfs.$fstype -F $extra_imagecmd ${IMGDEPLOYDIR}/${IMAGE_NAME}${IMAGE_NAME_SUFFIX}.$fstype -d ${IMAGE_ROOTFS}
        # Error codes 0-3 indicate successfull operation of fsck (no errors or errors corrected)
        fsck.$fstype -pvfD ${IMGDEPLOYDIR}/${IMAGE_NAME}${IMAGE_NAME_SUFFIX}.$fstype || [ $? -le 3 ]
}

IMAGE_CMD_ext4 = "oe_mkext234fs ext4 ${EXTRA_IMAGECMD}"



2、编译 rootfs 相关的log
DEBUG: Marking task ~/yocto/poky/meta/recipes-core/images/core-image-minimal.bb:do_rootfs as buildable
DEBUG: Marking task ~/yocto/meta-qt5/recipes-qt/qt5/qtquickcontrols2_git.bb:do_build as buildable
DEBUG: Parsing ~/yocto/poky/meta/recipes-core/images/core-image-minimal.bb (full)
DEBUG: Inheriting ~/yocto/poky/meta/classes/core-image.bbclass (from ~/yocto/poky/meta/recipes-core/images/core-image-minimal.bb:9)
DEBUG: Inheriting ~/yocto/poky/meta/classes/image.bbclass (from ~/yocto/poky/meta/classes/core-image.bbclass:72)
DEBUG: Inheriting ~/yocto/poky/meta/classes/rootfs_rpm.bbclass (from ~/yocto/poky/meta/classes/image.bbclass:1)
DEBUG: Inheriting ~/yocto/poky/meta/classes/populate_sdk_ext.bbclass (from ~/yocto/poky/meta/classes/image.bbclass:6)
DEBUG: Inheriting ~/yocto/poky/meta/classes/populate_sdk_base.bbclass (from ~/yocto/poky/meta/classes/populate_sdk_ext.bbclass:3)
DEBUG: Inheriting ~/yocto/poky/meta/classes/meta.bbclass (from ~/yocto/poky/meta/classes/populate_sdk_base.bbclass:1)
DEBUG: Inheriting ~/yocto/poky/meta/classes/image_types_wic.bbclass (from ~/yocto/poky/meta/classes/image.bbclass:145)
DEBUG: Inheriting ~/yocto/poky/meta/classes/image_types.bbclass (from ~/yocto/poky/meta/classes/image.bbclass:181)
DEBUG: Inheriting ~/yocto/poky/meta/classes/siteinfo.bbclass (from ~/yocto/poky/meta/classes/image_types.bbclass:230)
DEBUG: Inheriting ~/yocto/poky/meta/classes/kernel-arch.bbclass (from ~/yocto/poky/meta/classes/image_types.bbclass:230)
DEBUG: Inheriting ~/yocto/poky/meta/classes/rootfs-postcommands.bbclass (from ~/yocto/poky/meta/classes/image.bbclass:194)
DEBUG: SITE files ['endian-little', 'bit-64', 'arm-common', 'arm-64', 'common-linux', 'common-glibc', 'aarch64-linux', 'common']
DEBUG: Executing task do_rootfs
+ ssh_allow_empty_password
+ [ -e ~/yocto/build-x9ref/tmp/work/x9h_ref_serdes-sdrv-linux/core-image-minimal/1.0-r0/rootfs/etc/ssh/sshd_config ]
+ sed -i s/^[#[:space:]]*PermitRootLogin.*/PermitRootLogin yes/ ~/yocto/build-x9ref/tmp/work/x9h_ref_serdes-sdrv-linux/core-image-minimal/1.0-r0/rootfs/etc/ssh/sshd_config

+ sed -i s/^[#[:space:]]*PermitEmptyPasswords.*/PermitEmptyPasswords yes/ ~/yocto/build-x9ref/tmp/work/x9h_ref_serdes-sdrv-linux/core-image-minimal/1.0-r0/rootfs/etc/ssh/sshd_config

+ [ -e ~/yocto/build-x9ref/tmp/work/x9h_ref_serdes-sdrv-linux/core-image-minimal/1.0-r0/rootfs/etc/ssh/sshd_config_readonly ]
+ sed -i s/^[#[:space:]]*PermitRootLogin.*/PermitRootLogin yes/ ~/yocto/build-x9ref/tmp/work/x9h_ref_serdes-sdrv-linux/core-image-minimal/1.0-r0/rootfs/etc/ssh/sshd_config_readonly

+ sed -i s/^[#[:space:]]*PermitEmptyPasswords.*/PermitEmptyPasswords yes/ ~/yocto/build-x9ref/tmp/work/x9h_ref_serdes-sdrv-linux/core-image-minimal/1.0-r0/rootfs/etc/ssh/sshd_config_readonly

+ [ -e ~/yocto/build-x9ref/tmp/work/x9h_ref_serdes-sdrv-linux/core-image-minimal/1.0-r0/rootfs/usr/sbin/dropbear ]
+ [ -d ~/yocto/build-x9ref/tmp/work/x9h_ref_serdes-sdrv-linux/core-image-minimal/1.0-r0/rootfs/etc/pam.d ]
+ ret=0
+ trap  0
+ exit 0

+ postinst_enable_logging
+ mkdir -p ~/yocto/build-x9ref/tmp/work/x9h_ref_serdes-sdrv-linux/core-image-minimal/1.0-r0/rootfs/etc/default

+ echo POSTINST_LOGGING=1
+ echo LOGFILE=/var/log/postinstall.log
+ ret=0
+ trap  0
+ exit 0

+ rootfs_update_timestamp
+ [  !=  ]

+ date -u +%4Y%2m%2d%2H%2M%2S

+ sformatted=20220507152827
+ echo 20220507152827

+ bbnote rootfs_update_timestamp: set /etc/timestamp to 20220507152827
+ [ -p ~/yocto/build-x9ref/tmp/work/x9h_ref_serdes-sdrv-linux/core-image-minimal/1.0-r0/temp/fifo.4772 ]
+ printf %b bbnote rootfs_update_timestamp: set /etc/timestamp to 20220507152827
+ ret=0
+ trap  0
+ exit 0

+ read_only_rootfs_hook
+ [ -f ~/yocto/build-x9ref/tmp/work/x9h_ref_serdes-sdrv-linux/core-image-minimal/1.0-r0/rootfs/etc/fstab ]
+ sed -i -e /^[#[:space:]]*/dev/root/{s/defaults/ro/;s/([[:space:]]*[[:digit:]])([[:space:]]*)[[:digit:]]$/120/} ~/yocto/build-x9ref/tmp/work/x9h_ref_serdes-sdrv-linux/core-image-minimal/1.0-r0/rootfs/etc/fstab

+ [ -d ~/yocto/build-x9ref/tmp/work/x9h_ref_serdes-sdrv-linux/core-image-minimal/1.0-r0/rootfs/etc/ssh ]
+ [ -e ~/yocto/build-x9ref/tmp/work/x9h_ref_serdes-sdrv-linux/core-image-minimal/1.0-r0/rootfs/etc/ssh/ssh_host_rsa_key ]

+ echo SYSCONFDIR=${SYSCONFDIR:-/var/run/ssh}
+ echo SSHD_OPTS='-f /etc/ssh/sshd_config_readonly'
+ [ -d ~/yocto/build-x9ref/tmp/work/x9h_ref_serdes-sdrv-linux/core-image-minimal/1.0-r0/rootfs/etc/dropbear ]
+ true
+ [ -e ~/yocto/build-x9ref/tmp/work/x9h_ref_serdes-sdrv-linux/core-image-minimal/1.0-r0/rootfs/etc/default/rcS ]

+ sed -i s/ROOTFS_READ_ONLY=no/ROOTFS_READ_ONLY=yes/ ~/yocto/build-x9ref/tmp/work/x9h_ref_serdes-sdrv-linux/core-image-minimal/1.0-r0/rootfs/etc/default/rcS

+ [ -x ~/yocto/build-x9ref/tmp/work/x9h_ref_serdes-sdrv-linux/core-image-minimal/1.0-r0/rootfs/etc/init.d/populate-volatile.sh ]
+ ~/yocto/build-x9ref/tmp/work/x9h_ref_serdes-sdrv-linux/core-image-minimal/1.0-r0/rootfs/etc/init.d/populate-volatile.sh

+ ret=0
+ trap  0
+ exit 0

+ empty_var_volatile
+ [ -e ~/yocto/build-x9ref/tmp/work/x9h_ref_serdes-sdrv-linux/core-image-minimal/1.0-r0/rootfs/etc/fstab ]

+ awk $1 !~ "#" && $2 ~ //var/volatile/{print $2} ~/yocto/build-x9ref/tmp/work/x9h_ref_serdes-sdrv-linux/core-image-minimal/1.0-r0/rootfs/etc/fstab

+ match=/var/volatile
+ [ -n /var/volatile ]
+ find ~/yocto/build-x9ref/tmp/work/x9h_ref_serdes-sdrv-linux/core-image-minimal/1.0-r0/rootfs/var/volatile -mindepth 1 -delete

+ ret=0
+ trap  0
+ exit 0

+ set_user_group
+ user_group_settings=useradd -P 000000 user1;
+ export PSEUDO=PSEUDO_PREFIX=~/yocto/build-x9ref/tmp/sysroots-components/x86_64/pseudo-native/usr PSEUDO_LOCALSTATEDIR=~/yocto/build-x9ref/tmp/work/x9h_ref_serdes-sdrv-linux/core-image-minimal/1.0-r0/pseudo/ PSEUDO_PASSWD=~/yocto/build-x9ref/tmp/work/x9h_ref_serdes-sdrv-linux/core-image-minimal/1.0-r0/rootfs:~/yocto/build-x9ref/tmp/work/x9h_ref_serdes-sdrv-linux/core-image-minimal/1.0-r0/recipe-sysroot-native PSEUDO_NOSYMLINKEXP=1 PSEUDO_DISABLED=0 ~/yocto/build-x9ref/tmp/work/x9h_ref_serdes-sdrv-linux/core-image-minimal/1.0-r0/recipe-sysroot-native/usr/bin/pseudo

+ echo useradd -P 000000 user1;

+ cut -d ; -f1

+ setting=useradd -P 000000 user1

+ echo useradd -P 000000 user1;

+ cut -d ; -f2-

+ remaining=
+ test xuseradd -P 000000 user1 != x

+ echo useradd -P 000000 user1

+ cut -d   -f1

+ cmd=useradd

+ echo useradd -P 000000 user1

+ cut -d   -f2-

+ opts=-P 000000 user1
+ perform_useradd ~/yocto/build-x9ref/tmp/work/x9h_ref_serdes-sdrv-linux/core-image-minimal/1.0-r0/rootfs -R ~/yocto/build-x9ref/tmp/work/x9h_ref_serdes-sdrv-linux/core-image-minimal/1.0-r0/rootfs -P 000000 user1
+ local rootdir=~/yocto/build-x9ref/tmp/work/x9h_ref_serdes-sdrv-linux/core-image-minimal/1.0-r0/rootfs
+ local opts=-R ~/yocto/build-x9ref/tmp/work/x9h_ref_serdes-sdrv-linux/core-image-minimal/1.0-r0/rootfs -P 000000 user1
+ bbnote core-image-minimal: Performing useradd with [-R ~/yocto/build-x9ref/tmp/work/x9h_ref_serdes-sdrv-linux/core-image-minimal/1.0-r0/rootfs -P 000000 user1]
+ [ -p ~/yocto/build-x9ref/tmp/work/x9h_ref_serdes-sdrv-linux/core-image-minimal/1.0-r0/temp/fifo.4772 ]

+ printf %b bbnote core-image-minimal: Performing useradd with [-R ~/yocto/build-x9ref/tmp/work/x9h_ref_serdes-sdrv-linux/core-image-minimal/1.0-r0/rootfs -P 000000 user1]
+ echo -R ~/yocto/build-x9ref/tmp/work/x9h_ref_serdes-sdrv-linux/core-image-minimal/1.0-r0/rootfs -P 000000 user1

+ awk { print $NF }

+ local username=user1

+ grep ^user1: ~/yocto/build-x9ref/tmp/work/x9h_ref_serdes-sdrv-linux/core-image-minimal/1.0-r0/rootfs/etc/passwd

+ true

+ local user_exists=
+ test x = x
+ eval flock -x ~/yocto/build-x9ref/tmp/work/x9h_ref_serdes-sdrv-linux/core-image-minimal/1.0-r0/rootfs/etc -c "PSEUDO_PREFIX=~/yocto/build-x9ref/tmp/sysroots-components/x86_64/pseudo-native/usr PSEUDO_LOCALSTATEDIR=~/yocto/build-x9ref/tmp/work/x9h_ref_serdes-sdrv-linux/core-image-minimal/1.0-r0/pseudo/ PSEUDO_PASSWD=~/yocto/build-x9ref/tmp/work/x9h_ref_serdes-sdrv-linux/core-image-minimal/1.0-r0/rootfs:~/yocto/build-x9ref/tmp/work/x9h_ref_serdes-sdrv-linux/core-image-minimal/1.0-r0/recipe-sysroot-native PSEUDO_NOSYMLINKEXP=1 PSEUDO_DISABLED=0 ~/yocto/build-x9ref/tmp/work/x9h_ref_serdes-sdrv-linux/core-image-minimal/1.0-r0/recipe-sysroot-native/usr/bin/pseudo useradd $opts"
+ flock -x ~/yocto/build-x9ref/tmp/work/x9h_ref_serdes-sdrv-linux/core-image-minimal/1.0-r0/rootfs/etc -c PSEUDO_PREFIX=~/yocto/build-x9ref/tmp/sysroots-components/x86_64/pseudo-native/usr PSEUDO_LOCALSTATEDIR=~/yocto/build-x9ref/tmp/work/x9h_ref_serdes-sdrv-linux/core-image-minimal/1.0-r0/pseudo/ PSEUDO_PASSWD=~/yocto/build-x9ref/tmp/work/x9h_ref_serdes-sdrv-linux/core-image-minimal/1.0-r0/rootfs:~/yocto/build-x9ref/tmp/work/x9h_ref_serdes-sdrv-linux/core-image-minimal/1.0-r0/recipe-sysroot-native PSEUDO_NOSYMLINKEXP=1 PSEUDO_DISABLED=0 ~/yocto/build-x9ref/tmp/work/x9h_ref_serdes-sdrv-linux/core-image-minimal/1.0-r0/recipe-sysroot-native/usr/bin/pseudo useradd -R ~/yocto/build-x9ref/tmp/work/x9h_ref_serdes-sdrv-linux/core-image-minimal/1.0-r0/rootfs -P 000000 user1

+ grep ^user1: ~/yocto/build-x9ref/tmp/work/x9h_ref_serdes-sdrv-linux/core-image-minimal/1.0-r0/rootfs/etc/passwd

+ user_exists=user1:x:1000:1000::/home/user1:/bin/sh
+ test xuser1:x:1000:1000::/home/user1:/bin/sh = x
+ [ useradd -P 000000 user1 =  ]

+ echo

+ cut -d ; -f1

+ setting=

+ echo

+ cut -d ; -f2-

+ remaining=
+ test x != x
+ ret=0
+ trap  0
+ exit 0

+ rootfs_reproducible
+ [  !=  ]
+ ret=0
+ trap  0
+ exit 0

+ buildhistory_get_image_installed
+ [ 1 = 0 ]
+ buildhistory_get_installed ~/yocto/build-x9ref/buildhistory/images/x9h_ref_serdes/glibc/core-image-minimal
+ mkdir -p ~/yocto/build-x9ref/buildhistory/images/x9h_ref_serdes/glibc/core-image-minimal

+ pkgcache=~/yocto/build-x9ref/buildhistory/images/x9h_ref_serdes/glibc/core-image-minimal/installed-packages.tmp

+ cat ~/yocto/build-x9ref/tmp/work/x9h_ref_serdes-sdrv-linux/core-image-minimal/1.0-r0/bh_installed_pkgs.txt

+ sort

+ rm ~/yocto/build-x9ref/tmp/work/x9h_ref_serdes-sdrv-linux/core-image-minimal/1.0-r0/bh_installed_pkgs.txt

+ cat ~/yocto/build-x9ref/buildhistory/images/x9h_ref_serdes/glibc/core-image-minimal/installed-packages.tmp

+ awk { print $1 }

+ [ -s ~/yocto/build-x9ref/buildhistory/images/x9h_ref_serdes/glibc/core-image-minimal/installed-packages.tmp ]

+ cat ~/yocto/build-x9ref/buildhistory/images/x9h_ref_serdes/glibc/core-image-minimal/installed-packages.tmp

+ awk { print $2 }

+ xargs -n1 basename

+ sed s:([^| ]*):"1":g ~/yocto/build-x9ref/tmp/work/x9h_ref_serdes-sdrv-linux/core-image-minimal/1.0-r0/bh_installed_pkgs_deps.txt

+ rm ~/yocto/build-x9ref/tmp/work/x9h_ref_serdes-sdrv-linux/core-image-minimal/1.0-r0/bh_installed_pkgs_deps.txt

+ sed -i -e /rpmlib(/d -e /config(/d -e s:|: -> : -e s:"[REC]":[style=dotted]: -e s:"([<>=]+)" "([^"]*)":[label="1 2"]: ~/yocto/build-x9ref/buildhistory/images/x9h_ref_serdes/glibc/core-image-minimal/depends.tmp

+ printf digraph depends {n    node [shape=plaintext]n

+ cat ~/yocto/build-x9ref/buildhistory/images/x9h_ref_serdes/glibc/core-image-minimal/depends.tmp

+ sort -u

+ echo }
+ rm ~/yocto/build-x9ref/buildhistory/images/x9h_ref_serdes/glibc/core-image-minimal/depends.tmp

+ oe-pkgdata-util -p ~/yocto/build-x9ref/tmp/pkgdata/x9h_ref_serdes read-value PKGSIZE -n -f ~/yocto/build-x9ref/buildhistory/images/x9h_ref_serdes/glibc/core-image-minimal/installed-packages.tmp

+ cat ~/yocto/build-x9ref/buildhistory/images/x9h_ref_serdes/glibc/core-image-minimal/installed-package-sizes.tmp

+ awk {print $2 "tKiBt" $1}

+ sort -n -r

+ rm ~/yocto/build-x9ref/buildhistory/images/x9h_ref_serdes/glibc/core-image-minimal/installed-package-sizes.tmp

+ rm ~/yocto/build-x9ref/buildhistory/images/x9h_ref_serdes/glibc/core-image-minimal/installed-packages.tmp

+ [  != sdk ]

+ grep -v kernel-image ~/yocto/build-x9ref/buildhistory/images/x9h_ref_serdes/glibc/core-image-minimal/depends.dot
+ grep -v kernel-3

+ grep -v kernel-4

+ grep -v libc6 ~/yocto/build-x9ref/buildhistory/images/x9h_ref_serdes/glibc/core-image-minimal/depends-nokernel.dot

+ grep -v libgcc

+ grep -v update- ~/yocto/build-x9ref/buildhistory/images/x9h_ref_serdes/glibc/core-image-minimal/depends-nokernel-nolibc.dot

+ grep -v kernel-module ~/yocto/build-x9ref/buildhistory/images/x9h_ref_serdes/glibc/core-image-minimal/depends-nokernel-nolibc-noupdate.dot

+ [ -e ~/yocto/build-x9ref/tmp/work/x9h_ref_serdes-sdrv-linux/core-image-minimal/1.0-r0/complementary_pkgs.txt ]
+ ret=0
+ trap  0
+ exit 0
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/867584.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号