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 mkfs.vfat /dev/sdb1 # 将第一分区格式化成FAT
sudo mkfs.ext4 /dev/sdb2 # 将第一分区格式化成EXT4
# 格式说明
# EXT4:只用于Linux系统的内部磁盘
# NTFS:与Windows共用的磁盘
# FAT:所有系统和设备共用的侧畔
注:ファイルシステムへの書き込み中にエラーが報告された場合:
umount: /dev/sdb2: not mounted
、TFカードはフォーマットされていません。
以前に使用した2GTFカードは、フォーマットにext4
フォーマットされて正常に表示されたことがわかりましたが、使用できませんでした。fat
フォーマットは使用できます。
図に示すように、パーティションを開いてエラーを報告します。
他のカードを疑うことはありません。このカードはext4
使用できる形式にフォーマットできません。別の32Gカードを変更しましたが、操作は正常でした。
スクリプトの実装:
# 创建脚本
vim create_partion.sh
# 给予权限
chmod u+x create_partion.sh
# 执行脚本
./create_partion.sh
create_partion.sh
#!/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 mkfs.vfat "$1"1 &&\
sudo mkfs.ext4 "$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
2番目のパーティション
- ルートファイルシステムの内容
パーティションと書き込みスクリプト
特定のパーティション操作については、githubのwrite_all.shスクリプトを参照してください。ここには、すべての書き込みスクリプトのリファレンスがあります。
Nanoワンクリックで画像パッケージアドレス(さまざまなマテリアル、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
動作パラメータ表:
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 分区表