美文网首页
R818 Linux自定义分区

R818 Linux自定义分区

作者: 狼少丷 | 来源:发表于2024-06-20 08:35 被阅读0次
1.在 sys_partition.fex 文件里添加分区表信息

device/config/chips/r818/configs/evb1/linux/sys_partition.fex

# sys_partition.fex其中添加
[partition]
    name         = oem
    size         = 512
    downloadfile = "oem_s.fex"
    user_type    = 0x8000
2.在 fstab 里添加挂载配置信息

target/allwinner/r818-evb1/base-files/etc/config/fstab

# fstab相应添加 , 自动挂载
config 'mount'
    option target '/oem'
    option device '/dev/by-name/oem'
    option options 'rw,async'
    option enabled '1'
3.在启动脚本里添加检测操作, 没有挂载的话就格式化再挂载

package/base-files/files/lib/preinit/79_format_partition

# 在启动脚本里添加检测操作, 没有挂载的话就格式化再挂载
# 79_format_partition 在方法do_format_filesystem()中添加
do_format_filesystem()
{
    ....    
+   do_check_format /dev/by-name/oem
    do_check_format /dev/by-name/UDISK
    do_check_format /dev/by-name/rootfs_data
    [ -h /dev/by-name/sec_storage ] && do_check_format /dev/by-name/sec_storage
}
4.在Makefile中添加对应的节点

package/base-files/Makefile

# 在Makefile中添加注册
  mkdir -p $(1)/tmp
+ mkdir -p $(1)/oem
  mkdir -p $(1)/robotdata
  mkdir -p $(1)/usr/lib
5.在 script 目录下的 pack_img.sh 脚本里添加制作需要 download 的文件系统的脚本:

scripts/pack_img.sh

function make_oem_res() {
    mkdir ${PACK_TOPDIR}/out/${TARGET_BOARD}/compile_dir/target/oem
    cd ${ROOT_DIR}/image
    local DATA_PART_NAME=oem
    cp $1 sys_partition_tmp_oem.fex

    sed -i '/^[ \t]*downloadfile/d' sys_partition_tmp_oem.fex
    /bin/busybox unix2dos sys_partition_tmp_oem.fex
    script sys_partition_tmp_oem.fex > /dev/null
    update_mbr sys_partition_tmp_oem.bin 1 sunxi_mbr_tmp_oem.fex > /dev/null

    local DATA_PART_DOWNLOAD_FILE=oem.fex
    local DATA_PART_DOWNLOAD_FILE_SPARSE=oem_s.fex
    local DATA_PART_FILE_PATH=${PACK_TOPDIR}/out/${TARGET_BOARD}/compile_dir/target/oem
    local DATA_PART_SIZE_IN_SECTOR=$(parser_mbr sunxi_mbr_tmp_oem.fex get_size_by_name ${DATA_PART_NAME})
    # local DATA_PART_SIZE_IN_SECTOR=`parser_mbr sunxi_mbr_tmp_oem.fex get_size_by_name ${DATA_PART_NAME}`

    echo "DATA_PART_SIZE_IN_SECTOR = ${DATA_PART_SIZE_IN_SECTOR}"

    if [ x${DATA_PART_DOWNLOAD_FILE} != x'' -a x${DATA_PART_SIZE_IN_SECTOR} != x'0' ]; then
        let DATA_PART_SIZE_IN_K=$DATA_PART_SIZE_IN_SECTOR/2
        #let DATA_PART_SIZE_IN_K=$DATA_PART_SIZE_IN_SECTOR*2
        echo "PACK_TOPDIR = ${PACK_TOPDIR}"
        rm -f ${ROOT_DIR}/image/${DATA_PART_DOWNLOAD_FILE}
        rm -f ${ROOT_DIR}/image/${DATA_PART_DOWNLOAD_FILE_SPARSE}
        ${PACK_TOPDIR}/out/host/bin/make_ext4fs -l ${DATA_PART_SIZE_IN_K}k -b 1024 -m 0 -j 1024 ${ROOT_DIR}/image/${DATA_PART_DOWNLOAD_FILE} ${DATA_PART_FILE_PATH}
        echo "DATA_PART_SIZE_IN_K = ${DATA_PART_SIZE_IN_K}"
        echo "ROOT_DIR = ${ROOT_DIR}"
        echo "DATA_PART_DOWNLOAD_FILE = ${ROOT_DIR}/image/${DATA_PART_DOWNLOAD_FILE}"
        echo "DATA_PART_FILE_PATH = ${DATA_PART_FILE_PATH}"
        sparse_ext4 ${ROOT_DIR}/image/${DATA_PART_DOWNLOAD_FILE} ${ROOT_DIR}/image/${DATA_PART_DOWNLOAD_FILE_SPARSE}
    else
        printf "no oem resource partitions\n"
    fi
    cd - > /dev/null
}

# 函数写完,在下面仿照 make_data_res 添加到
make_swu_res ${ROOT_DIR}/image/sys_partition_nor.fex
make_oem_res ${ROOT_DIR}/image/sys_partition.fex
image.png

相关文章

  • linux必备命令

    1.linux分区必须有根分区/和swap交换分区 2.linux各个分区文件的存储状态 / 根目录 /bin 存...

  • Linux 硬盘格式化、分区、挂载、卸载、删除分区

    Linux 硬盘格式化、分区、挂载、卸载、删除分区 Linux 2.6 kernel以后,linux会将识别到的硬...

  • linux入门常用指令

    ### linux磁盘分区 ![](./resources/a.jpg) #### boot分区 引导分区,存放引...

  • 2018-01-17

    Linux安装 2-4 Linux分区 分区:把大硬盘分为小的逻辑分区 格式化:写入文件系统 分区设备文件名:给每...

  • 键值对RDD数据分区

    前言 Spark目前支持Hash分区、Range分区和用户自定义分区。Hash分区为当前的默认分区。分区器直接决定...

  • SparkCore之键值对RDD数据分区器

    Spark目前支持Hash分区和Range分区,用户也可以自定义分区,Hash分区为当前的默认分区,Spark中分...

  • Linux磁盘分区和挂载点

    在Linux系统中最多只有16个分区。Linux 规定了主分区(或者扩展分区)占用 1 至 16 号码中的前 4 ...

  • Ubuntu 乌班图系统使用

    1,Ubuntu Linux 永久挂载(mount)分区 1)挂载分区 sudo fdisk -l 查看所有分区 ...

  • linux 学习整理

    一、各硬件在 linux中的文件名 二、硬盘分区 三、开机流程与主引导分区 (MBR) 四、linux安装磁盘分区...

  • 新增SWAP分区

    如何在Linux系统过程中新增swap分区,我们都知道在安装Linux系统时在分区时可以分配swap分区,而系统安...

网友评论

      本文标题:R818 Linux自定义分区

      本文链接:https://www.haomeiwen.com/subject/axoqcjtx.html