小编ART*_*ART的帖子

使用 parted 的可编写脚本的 GPT 分区

我在脚本中使用以下命令对 eMMC 进行分区,

parted /dev/mmcblk0 --script mklabel gpt
parted /dev/mmcblk0 --script mkpart primary ext4 32MB 132MB
parted /dev/mmcblk0 --script mkpart primary ext4 233MB 433MB
parted /dev/mmcblk0 --script mkpart primary ext4 433MB 533MB
parted /dev/mmcblk0 --script mkpart primary ext4 533MB 593MB
parted /dev/mmcblk0 --script mkpart primary ext4 593MB 793MB
parted /dev/mmcblk0 --script mkpart primary ext4 793MB 3800MB
parted /dev/mmcblk0 --script align-check min 1
Run Code Online (Sandbox Code Playgroud)
  1. 这是在脚本中创建分区的正确方法吗?有没有更好的方法?
  2. 创建第一个分区后,我收到以下警告

    警告:生成的分区没有正确对齐以获得最佳性能。

我需要担心吗?我试过了,parted /dev/mmcblk0 --script align-check min 1但不确定那是解决方案。任何指示?
我正在浏览链接,同时还有其他建议吗?

编辑:只是froschutz回复的快速参考,

MiB = …
Run Code Online (Sandbox Code Playgroud)

linux scripting bash partition parted

18
推荐指数
2
解决办法
4万
查看次数

umount 是否调用同步来完成任何挂起的写入

我们有基于 BBB 的定制板,上面运行着内核 3.12。

我对 umount 和 & 同步有疑问。

假设脚本正在卸载分区,是否需要syncumount完成挂起写入之前运行命令。?

ext4 mount linux-kernel

12
推荐指数
1
解决办法
8382
查看次数

使用 bdinfo 了解 SPL 和 U-Boot 内存映射?

我们正在使用基于 beaglebone black 的定制板,我想将一些测试结果从 SPL 写入 RAM 位置,然后读取该日志并将其发送tftpput到主机 PC。

到目前为止,我可以tftpput从 RAM 到主机 PC。但在更安全的方面,我想找到 SPL 和 U-Boot 都不使用的 RAM 位置。

为了找出答案,我需要有关 SPL 和 U-Boot 内存映射的建议。董事会的信息如下所示:

#bdinfo
arch_number = 0x00000E05
boot_params = 0x80000100
DRAM bank   = 0x00000000
-> start    = 0x80000000  ---> RAM Start address
-> size     = 0x10000000  ---> 256 MB
eth0name    = cpsw
ethaddr     = 1c:ba:8c:9d:5f:f0
current eth = cpsw
ip_addr     = 192.168.1.106
baudrate    = 115200 bps
TLB addr    = 0x8FFF0000  ---> AFA i understand its …
Run Code Online (Sandbox Code Playgroud)

compiling gcc linker u-boot

6
推荐指数
1
解决办法
5576
查看次数

如何使分开以 MiB 大小而不是 MB 打印大小

我们使用基于am335x的定制板,我们有eMMC作为辅助存储设备。现在列出我们正在使用parted实用程序的parted分区,但在MB而不是MiB.

有没有办法要求partedMiB单位而不是MB单位打印分区大小?

您可以参考下面的输出,其中显示了 parted 在KBor 中的打印尺寸,MB但不在KiBor 中MiB

# parted --list
Model: MMC MMC04G (sd/mmc)
Disk /dev/mmcblk0: 3842MB
Sector size (logical/physical): 512B/512B
Partition Table: gpt
Disk Flags:

Number  Start   End     Size    File system  Name        Flags
 1      131kB   262kB   131kB                
 2      262kB   393kB   131kB                
 3      393kB   524kB   131kB                
 4      524kB   1573kB  1049kB               
 5      1573kB  2621kB  1049kB …
Run Code Online (Sandbox Code Playgroud)

parted

5
推荐指数
1
解决办法
4750
查看次数

不同 ext4 分区的文件系统块大小不同

我们有基于 BBB 的定制板,带有 256MB RAM 和 4GB eMMC,

我已经使用下面的代码对其进行了分区,

parted --script -a optimal /dev/mmcblk0 \
  mklabel gpt \
  mkpart primary 128KiB 255KiB \
  mkpart primary 256KiB 383KiB \
  mkpart primary 384KiB 511KiB \
  mkpart primary 1MiB 2MiB \
  mkpart primary 2MiB 3MiB \ 
  mkpart primary 3MiB 4MiB \
  mkpart primary 4MiB 5MiB \ 
  mkpart primary 5MiB 10MiB \
  mkpart primary 10MiB 15MiB \
  mkpart primary 15MiB 20MiB \
  mkpart primary 20MiB 21MiB \
  mkpart primary 21MiB 22MiB \
  mkpart primary …
Run Code Online (Sandbox Code Playgroud)

linux partition gpt mkfs e2fsprogs

5
推荐指数
1
解决办法
2633
查看次数

如何根据MAC ID查找与PC连接在同一网络上的设备的IP地址

PC 和嵌入式 Linux 设备连接在同一个本地网络上。(我们没有 DHCP 服务器访问权限,IT 管理员可以访问)。我们也无法在嵌入式 Linux 板上调试 UART。

我们确实知道设备的 MAC-id。那么有没有办法根据MAC-id获取设备的IP呢?

注意:PC 运行的是 Windows 7。

linux networking ip ethernet mac-address

4
推荐指数
2
解决办法
4万
查看次数

有没有办法在 eMMC 上以原子方式将文件和目录从 tempfs 移动到 ext4 分区

我们有基于 beaglebone 黑色的定制板,具有 256MB RAM 和 4GB eMMC。主板运行 Linux 内核 4.9

我们遇到了一种情况,我们在其中创建了一个文件tempfs,然后在验证之后,我们必须将它移动到 eMMC 的 ext4 分区。只归档一个certificate

在某些情况下,我们在一个目录中有多个证书,因此我们必须将整个目录从 tempfs 移动到 eMMC 上的 ext4 分区。

所以,我们所担心的问题之一是atomicitymv(移动)操作。

根据rename系统调用 Linux 手册页重命名文件是一个原子操作。 http://man7.org/linux/man-pages/man2/rename.2.html

但是我们不确定重命名操作是否涉及在两个文件系统之间移动文件,原子性仍然可用。所以问题是将文件从原子移动tmpfsext4原子吗?

显然,一种可能的解决方案是将文件保存在同一分区上的不同文件夹中(显然在同一文件系统上)并使用mv. 对于使用以下重命名方法的目录

SRC_dir  --> TMP_DEST_dir
DEST_dir --> BAK_DEST_dir
TMP_DEST_dir --> DEST_dir
delete BAK_DEST_dir
Run Code Online (Sandbox Code Playgroud)

对替代品的任何建议?

编辑
在我得到回复后,我尝试在板上遵循测试代码,

#include <stdio.h>
#include <errno.h>

int main()
{
    int retcode = 0;

    system("touch /tmp/rename_test");

    retcode = rename("/tmp/rename_test", "/home/fs_rename_test");

    if ( retcode …
Run Code Online (Sandbox Code Playgroud)

linux embedded ext4 rename tmpfs

3
推荐指数
1
解决办法
1824
查看次数

如何实现 emmc 分区的最佳对齐?

我们有包含 eMMC 的基于 bbb 的定制板。
我们创建了如下分区,

parted --script -a minimal /dev/mmcblk0 \
  mklabel gpt \
  mkpart primary 131072B 262143B \
  mkpart primary 262144B 393215B \
  mkpart primary 393216B 524287B \
  mkpart primary 524288B 1572863B \
  mkpart primary 1572864B 2621439B \ 
  mkpart primary 2621440B 3145727B \
  mkpart primary 3145728B 3276799B \ 
  mkpart primary 3276800B 8519679B \
  mkpart primary 8519680B 13762559B \
  mkpart primary 13762560B 19005439B \
  mkpart primary 19005440B 19267583B \
  mkpart primary 19267584B 19529727B \
  mkpart primary 19529728B 19791871B \ …
Run Code Online (Sandbox Code Playgroud)

linux parted gpt uefi

2
推荐指数
1
解决办法
5539
查看次数