>>>>####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 分区表