1、由于之前提到过使用的USB转网口虽然能用,但是在笔记本上会显示红叉,所以不能保证这个会不会给调试带来更多的不确定性,而且刚开始移植用的kernel是kernel.org的,所以在未开启以及添加对应的网络驱动之前,想要直接使用NFS去挂载根文件系统是不大现实的,所以只能选择ramdisk方式(因为ram是uboot阶段就初始化好的),但是《12-Linux内核-initramfs文件系统介绍》没有介绍到busybox底下如何打包成initrd.img.gz,虽然后面也硬着头皮制作出来了一个了,但是需要有一个uboot和kernel都已经正常运行的情况才能验证,所以后面直接移植并修改完了三星的那份uboot和kernel出来用来跑这个根文件系统。
2、通过ramdisk方式挂载上根文件系统之后,出现下图所示错误提示(不是指截图第一行的那个MMC错误,这个错误的上一行提到的是ext_csd出现错误,真要提这个错误的话就要去改内核里ext_csd的判断条件,这个应该在uboot移植中有见到过),回到下面图里的这个错误,需要将inittab文件的tty2::askfirst:-/bin/sh改成console::askfirst:-/bin/sh。
3、从开发板这侧能ping通ubuntu,但是tftp下载却失败,可是之前测试uboot时下载uImage镜像是可用的,经过重新安装(其实不用担心麻烦,因为已经安装过的内容会首先检查是否需要更新,如果是最新的系统就不会继续安装),然后检查tftp设置共享目录的配置,逐条比对发现共享目录路径有错误,这时想起了前一阵子由于规整文件及文件夹内容,所以调了一下原先tftp的共享目录放到了与原先位置同层的另一个文件夹下面,所以就出现了如今不能下载文件的问题。
4、出现以下错误是由于缺少对某些文件的读权限,改为使用sudo执行即可。
5、解决掉了uboot底下无法通过NFS下载文件到DDR,从网上找到的解决办法如下图。
6、yaffs2源码包编译错误,第一个是关于TIME_T未定义的问题,第二个是关于右移溢出的问题(这里需要注意的是强转需要在数据未进行右移之前,也就是要写成((u64)s->st_size) >> 32,即强转的是st_size本身,而不能写成(u64)(s->st_size>>32),这样就是对右移之后的数据进行强转,写成后面这种还是会报错的)。