Arm-linux 跳过输入密码及用户名
1.省略密码输入
sudo vim /etc/passwd
把 root:x:0:0:root:/root:/bin/bash修改为
root::0:0:root:/root:/bin/bash
2.省略输入用户名
autologin.c:
#include <unistd.h>
int main()
{
execlp("login","login","-f","root",0);
return 0;
}
编译autologin
export CROSS_COMPILE=aarch64-linux-gnu-
export ARCH=arm64
export PATH=$PATH:/home/xywu/DCM_git/gcc-linaro-6.3.1-2017.05-x86_64_aarch64-linux-gnu/bin
aarch64-linux-gnu-gcc autologin.c -o autologin
将autologin 拷贝到/sbin,并赋予其可执行权限
inittab 原有版本
S0:12345:respawn:/sbin/getty -L 115200 ttyS0
S1:12345:respawn:/sbin/getty -L 115200 ttyS1
AMA0:12345:respawn:/sbin/getty -L 115200 ttyAMA0
修改如下:
sudo vim /etc/inittab
S0:12345:respawn:/sbin/getty -n -l /sbin/autologin 115200 ttyS0
- 1
- 2
由于本文需要将配置烧写进内核,所以有以下额外操作:
sudo gunzip ramdisk_rootfs_arm64.ext4.gz
sudo mount ramdisk_rootfs_arm64.ext4 TEMP/
.....
sudo gzip -9 ramdisk_rootfs_arm64.ext4
cp ramdisk_rootfs_arm64.ext4.gz ~/DCM_git/linux
mv ramdisk_rootfs_arm64.ext4.gz fsl-image-core-ls1043ardb.ext2.gz
export ARCH=arm64
export CROSS_COMPILE=aarch64-linux-gnu-
export PATH=$PATH:/home/xywu/DCM_git/gcc-linaro-6.3.1-2017.05-x86_64_aarch64-linux-gnu/bin
make clean
make defconfig
make lsdk.config
make -j8
../u-boot/tools/mkimage -f kernel-ls1043a-rdb.its kernel-ls1043a-rdb.itb
sudo dd if=kernel-ls1043a-rdb.itb of=/dev/sdb bs=512 seek=32768
sudo umount /dev/sdb1
sudo umount /dev/sdb2
sudo umount /dev/sdb3