想要测试一下samba在普通的嵌入式linux文件系统上能否正常运行,所以要将android的文件系统拿掉,换上busybox制作的文件系统。
但拿掉android文件系统后,kernel启动过程中出现了一些问题,通过传递运行参数,实现了进入busybox shell。参数如下:
CONFIG_CMDLINE="console=ttySAC0,115200 fbcon=rotate:1 init=/linuxrc rdinit=/init8 root=/dev/mtdblock4"
可以直接修改$(kernel)/.config文件,也可以通过make menuconfig来修改本设置。
BSP里默认为console=ttySAC0,115200 增加的:
fbcon=rotate:1 //屏幕旋转90度
init=/linuxrc //指定init项,会赋给$(kernel)/init/main.c->kernel_init()->init_post()里的execute_command部分
rdinit=/init8 //指定Ramdisk初始化文件,会赋给$(kernel)/init/main.c->kernel_init()->init_post()里的
//ramdisk_execute_command部分,这里我赋个不存在的文件,所以ramdisk作废。不然会初始化android。
root=/dev/mtdblock4 //这个就是busybox所烧写的地方了。
生成文件系统映像文件:mkyaffs2image root/ root.img