2023年11月25日发(作者:)
全志F1C100SF1C200S学习笔记(2)——TFSD卡分区及系统构建烧录
TF卡分区
在TF卡上构建系统之前,需要将TF卡进⾏分区与格式化;
sudo fdisk -l # TF /dev/sdb1,/dev/sdb1
⾸先查看电脑上已插⼊的卡的设备号(⼀般为下⾯以为例)
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 /dev/sdb1 # FAT
将第⼀分区格式化成
sudo 4 /dev/sdb2 # EXT4
将第⼀分区格式化成
#
格式说明
# EXT4Linux
:只⽤于系统的内部磁盘
# NTFSWindows
:与共⽤的磁盘
# FAT
:所有系统和设备共⽤的侧畔
注意: 如果写⼊⽂件系统报错:,则是TF卡未格式化。
umount: /dev/sdb2: not mounted
之前使⽤的2G的TF卡,发现格式化成格式显⽰成功,但是⽆法使⽤,格式可以⽤。
ext4fat
打开该分区报错如图:
不要怀疑其他的,这个卡⽆法格式化成格式使⽤,我换了另外⼀张32G的卡同样操作没问题。
ext4
脚本实现:
#
创建脚本
vim create_
#
给予权限
chmod u+x create_
#
执⾏脚本
#!/bin/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
#
格式化两个分区
sleep 2
sudo partx -u "$1"
sudo "$1"1 &&
sudo 4 "$1"2
if [ $? -ne 0 ]
then
echo "error in creating partitions"
第⼆分区
根⽂件系统内容
分区及烧录脚本
具体分区操作参考github上的 脚本,该处有所有的烧录脚本参考。
(包含各种资料、SDK、镜像、烧录脚本等)
分区操作脚本:
write_ — 为tf卡创建全套内容`使⽤:write_ /dev/sdX (sdX修改为tf设备号)`
write_ — 为spi-flash写⼊全套内容
write_ — 以dd镜像的⽅式写⼊全套内容(规定了分区信息)(⽣成⽅式见下⼀节)
write_ — 向tf卡dd进Uboot
write_ — 单纯的为两个分区进⾏硬盘格式化
write_ — 单纯的向第⼀分区写⼊设备树内核等
write_ — 单纯的向第⼆分区写⼊rootfs
clear_ — 擦除分区表
write_ — 写⼊分区表
write_ — 增加swap
镜像⽣成 脚本:
# tftfdd
镜像⽣成最简单的⽅法是借助卡,⼿动或使⽤脚本向写⼊完结构,再出来
# loop
能够判断镜像⼤⼩是否符合启动要求,且借助模拟创建设备,快速⾼效。
# ./image
⽣成的镜像在⽬录下
sh pack_tf_ — ⽣成TF卡镜像
sh pack_flash_ — ⽣成SPI-FLASH镜像
⾃建脚本[分区及烧录]
将⽂件夹放在、、同级⽬录。
programubootlinuxbuildroot
chmod -R 777 program/
./configs/cp_ # ubootkerneldtbrootfs
拷贝、、、、
./create_ #
建⽴分区
./p-tf/write_ /dev/sdb # uboot
烧录
./p-tf/write_ /dev/sdb #
烧录分区⼀
./p-tf/write_ /dev/sdb #
烧录分区⼆
附:操作参数表:
fdisk
DOS (MBR)
a 开关 可启动 标志
b 编辑嵌套的 BSD 磁盘标签
c 开关 dos 兼容性标志
常规
d 删除分区
F 列出未分区的空闲区
l 列出已知分区类型
n 添加新分区
p 打印分区表
t 更改分区类型
v 检查分区表
i 打印某个分区的相关信息
杂项
m 打印此菜单
u 更改 显⽰/记录 单位
x 更多功能(仅限专业⼈员)
脚本
I 从 sfdisk 脚本⽂件加载磁盘布局
O 将磁盘布局转储为 sfdisk 脚本⽂件
保存并退出
w 将分区表写⼊磁盘并退出
q 退出⽽不保存更改
新建空磁盘标签
g 新建⼀份 GPT 分区表
G 新建⼀份空 GPT (IRIX) 分区表
o 新建⼀份的空 DOS 分区表
s 新建⼀份空 Sun 分区表


发布评论