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_ — tfddUboot

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