全志F1C100SF1C200S学习笔记(2)——TFSD卡分区及系统构建烧录

全志F1C100SF1C200S学习笔记(2)——TFSD卡分区及系统构建烧录TF卡分区
在TF卡上构建系统之前,需要将TF卡进⾏分区与格式化;
sudo fdisk -l      # ⾸先查看电脑上已插⼊的TF卡的设备号(⼀般为 /dev/sdb1,下⾯以/dev/sdb1为例)tf2o
sudo umount /dev/sdb1  # 若⾃动挂载了TF设备,请先卸载(有多个分区则全部卸载)
sudo fdisk /dev/sdb    # 进⾏分区操作
> 操作步骤如下 >
# 若已存分区即按 d 删除各个分区
# 通过 n 新建分区,第⼀分区暂且申请为16M(f1c100s)、32M(v3s),剩下的空间都给第⼆分区
# 第⼀分区操作:n p 1 2048 +16M
# p 主分区、默认 1 分区、默认2048、+16M
# 第⼆分区操作:n 后⾯全部回车默认即可
# p 主分区、默认 2 分区、默认2048、默认剩下的全部空间
# w 保存写⼊并退出
# p 查询分区表确定是否分区成功
>>>>####
sudo mkfs.vfat /dev/sdb1 # 将第⼀分区格式化成FAT
4 /dev/sdb2 # 将第⼀分区格式化成EXT4
# 格式说明
# EXT4:只⽤于Linux系统的内部磁盘
# NTFS:与Windows共⽤的磁盘
# FAT:所有系统和设备共⽤的侧畔
注意: 如果写⼊⽂件系统报错:umount: /dev/sdb2: not mounted,则是TF卡未格式化。
之前使⽤的2G的TF卡,发现格式化成ext4格式显⽰成功,但是⽆法使⽤,fat格式可以⽤。
打开该分区报错如图:
不要怀疑其他的,这个卡⽆法格式化成ext4格式使⽤,我换了另外⼀张32G的卡同样操作没问题。
# 创建脚本
vim create_partion.sh
# 给予权限
chmod u+x create_partion.sh # 执⾏脚本
./create_partion.sh <;设备号>例:./create_partion.sh /dev/sdb
create_partion.sh
# PJW
# 创建TF卡分区表
# PJW
# 删除分区
sudo umount"$1"1
sudo umount"$1"2
echo$11
sudo fdisk$1<<EOF
溶角蛋白酶d
1
d
2
d
3
d
4
w
p
q
EOF
sync
# 新建两个分区
sudo fdisk$1<<EOF
n
p
1
+32M
n
p
2
p
w
q
EOF
# 格式化两个分区
sleep2除铁
sudo partx -u "$1"
sudo mkfs.vfat "$1"1&&\
4 "$1"2
if[$? -ne 0]
then
echo"error in creating partitions"
>/dev/null 2>&1&&exit
fi
TF卡内容存放
第⼀分区
boot.scr
zImage
suniv-f1c100s-licheepi-nano.dtb
根⽂件系统内容
分区及烧录脚本
具体分区操作参考github上的 脚本,该处有所有的烧录脚本参考。
(包含各种资料、SDK、镜像、烧录脚本等)
分区操作脚本:
write_all.sh — 为tf卡创建全套内容`使⽤:write_all.sh /dev/sdX (sdX修改为tf设备号)` write_flash.sh — 为spi-flash写⼊全套内容
write_dd.sh — 以dd镜像的⽅式写⼊全套内容(规定了分区信息)(⽣成⽅式见下⼀节)write_boot.sh — 向tf卡dd进Uboot
write_mkfs.sh — 单纯的为两个分区进⾏硬盘格式化
write_p1.sh — 单纯的向第⼀分区写⼊设备树内核等
write_p2.sh — 单纯的向第⼆分区写⼊rootfs
clear_partion.sh — 擦除分区表
write_partion.sh — 写⼊分区表
write_swap.sh — 增加swap
镜像⽣成 脚本:
# 镜像⽣成最简单的⽅法是借助tf卡,⼿动或使⽤脚本向tf写⼊完结构,再dd出来
# 能够判断镜像⼤⼩是否符合启动要求,且借助loop模拟创建设备,快速⾼效。
# ⽣成的镜像在 ./image ⽬录下
sh pack_tf_img.sh — ⽣成TF卡镜像
sh pack_flash_img.sh — ⽣成SPI-FLASH镜像
⾃建脚本[分区及烧录]
将program⽂件夹放在uboot、linux、buildroot同级⽬录。
chmod -R 777 program/
./configs/cp_files.sh    # 拷贝uboot、kernel、dtb、rootfs、boot.scr
./create_partion.sh    # 建⽴分区
./p-tf/write_uboot.sh /dev/sdb  # 烧录uboot
./p-tf/write_partion1.sh /dev/sdb # 烧录分区⼀
./p-tf/write_partion2.sh /dev/sdb # 烧录分区⼆
附:fdisk操作参数表:
a  开关可启动标志
b  编辑嵌套的 BSD 磁盘标签
c  开关 dos 兼容性标志
常规
d  删除分区
F  列出未分区的空闲区
l  列出已知分区类型
超音频电源
n  添加新分区
p  打印分区表
t  更改分区类型
66ssss
v检查分区表
i  打印某个分区的相关信息
杂项
m  打印此菜单
u  更改显⽰/记录单位
x  更多功能(仅限专业⼈员)
脚本
I  从 sfdisk 脚本⽂件加载磁盘布局
O  将磁盘布局转储为 sfdisk 脚本⽂件
保存并退出
喷香器
w  将分区表写⼊磁盘并退出
q  退出⽽不保存更改
新建空磁盘标签
g  新建⼀份 GPT 分区表
G  新建⼀份空 GPT (IRIX)分区表
o  新建⼀份的空 DOS 分区表
s  新建⼀份空 Sun 分区表

本文发布于:2024-09-24 01:22:48,感谢您对本站的认可!

本文链接:https://www.17tex.com/tex/4/335164.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:分区   设备   脚本   默认
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2024 Comsenz Inc.Powered by © 易纺专利技术学习网 豫ICP备2022007602号 豫公网安备41160202000603 站长QQ:729038198 关于我们 投诉建议