长话短说,我需要在启动(嵌入式系统)时自动执行这一切。
我们的工程师会将图像闪存到生产设备。这些图像将包含一个小的分区表。在启动时,我需要自动扩展最后一个分区 (#3) 以使用磁盘上的所有可用空间。
这是我查看磁盘上的可用空间时得到的结果。
> parted /dev/sda print free
Model: Lexar JumpDrive (scsi)
Disk /dev/sda: 32.0GB
Sector size (logical/physical): 512B/512B
Partition Table: gpt
Disk Flags:
Number Start End Size File system Name Flags
17.4kB 1049kB 1031kB Free Space
1 1049kB 25.3MB 24.2MB fat16 primary legacy_boot
25.3MB 26.2MB 922kB Free Space
2 26.2MB 475MB 449MB ext4 primary
3 475MB 1549MB 1074MB ext4 primary
1549MB 32.0GB 30.5GB Free Space
Run Code Online (Sandbox Code Playgroud)
我需要将分区 3 扩展 N (30.5GB) 字节数
如何在没有提示的情况下自动执行此步骤?这需要在第三个分区之后使用动态大小的可用空间。
命令
pamtester -v auth pknopf authenticate
pamtester: invoking pam_start(auth, pknopf, ...)
pamtester: performing operation - authenticate
Password:
pamtester: Authentication failure
Run Code Online (Sandbox Code Playgroud)
期刊
Feb 06 13:22:17 PAULS-ARCH unix_chkpwd[31998]: check pass; user unknown
Feb 06 13:22:17 PAULS-ARCH unix_chkpwd[31998]: password check failed for user (pknopf)
Feb 06 13:22:17 PAULS-ARCH pamtester[31997]: pam_unix(auth:auth): authentication failure; logname= uid=1000 euid=1000 tty= ruser= rhost= user=pknopf
Run Code Online (Sandbox Code Playgroud)
就目前而言,每个锁屏都会阻止我“解锁”(KDE 锁屏i3lock等)。
如果我开始i3lock的sudo,然后我就可以适当地在输入根密码来解锁屏幕。但是,如果我以普通用户身份运行它,则无法使用普通用户或root密码解锁。
这是我的 PAM 配置i3lock。
#
# PAM configuration file for the i3lock …Run Code Online (Sandbox Code Playgroud) 我正在创建一个空文件...
dd if=/dev/zero of=${SDCARD} bs=1 count=0 seek=$(expr 1024 \* ${SDCARD_SIZE})
Run Code Online (Sandbox Code Playgroud)
...然后将其转换为驱动器映像...
parted -s ${SDCARD} mklabel msdos
Run Code Online (Sandbox Code Playgroud)
...并在其上创建分区
parted -s ${SDCARD} unit KiB mkpart primary fat32 ${IMAGE_ROOTFS_ALIGNMENT} $(expr ${IMAGE_ROOTFS_ALIGNMENT} \+ ${BOOT_SPACE_ALIGNED})
parted -s ${SDCARD} unit KiB mkpart primary $(expr ${IMAGE_ROOTFS_ALIGNMENT} \+ ${BOOT_SPACE_ALIGNED}) $(expr ${IMAGE_ROOTFS_ALIGNMENT} \+ ${BOOT_SPACE_ALIGNED} \+ $ROOTFS_SIZE)
Run Code Online (Sandbox Code Playgroud)
如何使用mkfs.ext和mkfs.vfat 不安装此图像?