Exynos4412系统移植总结

简介: Exynos4412系统移植总结

经过了三天的填坑,终于在Exynos4412上移植成功了Uboot2015+Linux4.1.36+Rootfs。


具体的移植操作过程在前文在Exynos4412上使用SD卡烧写Linux已经赘述。本文用于记录经验总结。


问题一:设置的内核地址不正确,uboot无法启动内核


解决办法:


在SSH工具上对SD卡进行hexdump打印前5M的地址数据,保存到.txt文件,然后使用Hex Editor打开uImage文件,可以看到第一个数据是2705,但是实际上这个数据的存放位置是颠倒的,于是在.txt里进行搜索前三组数据,找到偏移地址200000。


image.pngimage.png


在uboot启动的时候会打印出uboot的启动地址是7fe7d000,加上偏移地址得到内核启动时所处的地址8007D000,最后我们设置bootargs里的kerneladdr为0x8007D000,成功启动内核!!


image.png


问题2:无法挂接SD卡,提示找不到bootargs里的块设备


解决办法:


2.1.首先是因为在Kernel打印信息没有sdhci有关的信息,因此意识到Kernel没有添加SD/MMC里的S3C驱动,添加PCI驱动支持,另外防止出现由于内核映像是由虚拟机生成,将Fusion MPT driver和LPC编进内核。


2.2.识别出了SD卡,但是找不到init /linuxrc,由于我错误的将rootfs.ext2直接地移到了文件系统分区,没有解压所以找不到init /linuxrc,直接将Buildroot目录output下target/里的所有文件拷贝到文件系统分区即可找到init /linuxrc。位于在Exynos4412上使用SD卡烧写Linux的最后一步有写具体操作。


2.3.由于拔插SD卡步骤有问题,导致SD卡处于写保护状态,因此需要格式化Rootfs所在的分区,再重新刷入Rootfs。


最后挂接成功。在设置bootargs时可以设置root=179:2,179是SD卡的主设备号,2是SD卡文件系统分区的从设备号,当然也可以设置为root=/dev/mmcblk0p2,0代表SD卡,1代表板子的emmc,p2指第二分区。


image.pngimage.png


欠缺:


/*

*目前LCD功能尚未实现需要修改调试,继续填坑。

*SD卡作为文件系统的可靠性有待提高

*/

相关文章
|
Linux
全志A64 设备树里的gpio应用开发
全志A64 设备树里的gpio应用开发
190 0
|
芯片
基于友善之臂ARM-ContexA9-ADC驱动开发
基于友善之臂ARM-ContexA9-ADC驱动开发
100 0
|
Linux 芯片
嵌入式linux/鸿蒙开发板(IMX6ULL)开发(三十六)GPIO和Pinctrl子系统的使用(上)
嵌入式linux/鸿蒙开发板(IMX6ULL)开发(三十六)GPIO和Pinctrl子系统的使用
313 0
嵌入式linux/鸿蒙开发板(IMX6ULL)开发(三十六)GPIO和Pinctrl子系统的使用(上)
|
Linux 开发工具 git
嵌入式linux/鸿蒙开发板(IMX6ULL)开发(三十六)GPIO和Pinctrl子系统的使用(下)
嵌入式linux/鸿蒙开发板(IMX6ULL)开发(三十六)GPIO和Pinctrl子系统的使用
358 0
嵌入式linux/鸿蒙开发板(IMX6ULL)开发(三十六)GPIO和Pinctrl子系统的使用(下)
|
Ubuntu Linux 编译器
嵌入式linux/鸿蒙开发板(IMX6ULL)开发(二十七)具体单板的LED驱动程序
嵌入式linux/鸿蒙开发板(IMX6ULL)开发(二十七)具体单板的LED驱动程序
206 0
嵌入式linux/鸿蒙开发板(IMX6ULL)开发(二十七)具体单板的LED驱动程序
|
Linux 芯片
zynq操作系统: Linux驱动开发Gpio中断篇
Linux内核中有一套GPIO框架,管理和控制芯片上的GPIO管教,包括配置输入输出,配置电平高低(输出)和获取电平高低(输入),中断管理。只需要通过读取/sys/class/gpio/gpioN/value的值来获取中断。当然也不是简单的read,而是通过epoll、poll、select等这些IO复用函数来控制,对于epoll或者poll,需要监听的事件是EPOLLPRI或POLLPRI,而不是EPOLLIN或POLLIN,对于select,需要将文件描述符放在exceptfds中,而且文件描述符被触发时需要通过调用read读取数据,还要通过lseek将文件流指针置回文件开头。
1228 0
|
存储 Linux Android开发
ZYNQ - 嵌入式Linux开发 -09- Uboot介绍
ZYNQ - 嵌入式Linux开发 -09- Uboot介绍
234 0