origin: http://blog.csdn.net/kickxxx/article/details/15341079

最初是想把整个ubuntu移植到MX51开发板,因为项目不需要运行桌面系统,所以只移植了一个基本的ubuntu core系统

1. 下载ubuntu core rootfs,关于ubuntu core参考https://wiki.ubuntu.com/Core

http://cdimage.ubuntu.com/ubuntu-core/releases/12.04/release/ubuntu-core-12.04.3-core-armhf.tar.gz

这个镜像就是一个rootfs,可以作为根文件系统使用。

2. 把镜像烧写到开发板的一个分区上

adb shell进入开发板,busyBox mkfs.ext2 /dev/block/mmcblk0p1

adb shell进入开发板,mount -t ext2 /dev/block/mmcblk0p1 /mnt

adb push ubuntu-core-12.04.3-core-armhf.tar.gz /mnt/

adb shell进入开发板,cd /mnt; busyBox tar ubuntu-core-12.04.3-core-armhf.tar.gz. 在/dev/block/mmcblk0p1这个分区上建立了一个完整的rootfs,文件系统类型为ext2

3. 我的arm开发板是mx51,修改uboot启动参数如下:

set bootargs_android 'setenv bootargs ${bootargs_base} init=/init rdinit=asdf root=b301 rootfs=ext2 di0_primary video=mxcdi0fb:RGB24,CLAA-WVGA'

粗体是我增加的参数,解释下增加的几个参数:

rdinit=asdf,rdinit=后的asdf是胡乱写的,这样会设置ramdisk_execute_command为asdf,就导致内核代码

if(sys_access((constchar__user*)ramdisk_execute_command,0)!=0){ sys_access访问失败,调用prepare_namespace 从mmcblk0p1安装根文件系统

root=b301,是/dev/block/mmcblk0p1的16进制主设备号b3和从设备号01

rootfs=ext2,文件系统类型

4. 启动开发板,会打印出如下信息:

VFS:Mountedroot(ext2filesystem)ondevice179:1.

表示已经mount 根文件系统成功。

这一步可能会出现如下错误:

udevd[123]:unabletoreceivectrlconnection:Functionnotimplemented

udevd[123]:unabletoreceivectrlconnection:Functionnotimplemented

udevd[123]:unabletoreceivectrlconnection:Functionnotimplemented

udevd[123]:unabletoreceivectrlconnection:Functionnotimplemented

udevd[123]:unabletoreceivectrlconnection:Functionnotimplemented

udevd[123]:unabletoreceivectrlconnection:Functionnotimplemented 如果你出现了,那么执行第5步

5. 按链接给的patch,修改内核

https://github.com/genesi/Linux-legacy/commit/a84fac75f38de592e530a2f9f982d7aafec6c288

6. 编译内核并烧写到开发板上,重启系统后,不会再打印step4的错误

7. 支持LCD console,修改内核配置文件如下

@@-1228,8+1228,14@@CONFIG_FB_MXC_SYNC_PANEL=y

#Consoledisplaydriversupport

#

#CONFIG_VGA_CONSOLEisnotset

+#CONFIG_VGACON_SOFT_SCROLLBACKisnotset

CONFIG_DUMMY_CONSOLE=y

-#CONFIG_FRAMEBUFFER_CONSOLEisnotset

+CONFIG_FRAMEBUFFER_CONSOLE=y

+#CONFIG_FRAMEBUFFER_CONSOLE_DETECT_PRIMARYisnotset

+#CONFIG_FRAMEBUFFER_CONSOLE_ROTATIONisnotset

+#CONFIG_FONTSisnotset

+CONFIG_FONT_8x8=y

+CONFIG_FONT_8x16=y

重新编译内核,重启系统后,可在LCD看到ubuntu的登录console

8 支持serial console,我的开发板没有usbhost,不能接usb键盘,所以需要用serial console控制

在/etc/init.d增加文件/etc/init/ttymxc.conf

#console-getty

#

#Thisservicemaintainsagettyonconsolefromthepointthesystemis

#starteduntilitisshutdownagain.

startonstoppedrcRUNLEVEL=[2345]andcontainerCONTAINER=lxc

stoponrunlevel[!2345]

respawn

exec/sbin/getty-L115200ttymxc0vt102

修改rootfs的文件/etc/rc.local,如下

#!/bin/sh-e

#

#rc.local

#

#Thisscriptisexecutedattheendofeachmultiuserrunlevel.

#Makesurethatthescriptwill"exit0"onsuccessoranyother

#valueonerror.

#

#Inordertoenableordisablethisscriptjustchangetheexecution

#bits.

#

#Bydefaultthisscriptdoesnothing.

startttymxc0

exit0

重新启动后,即可在串口得到控制台信息。

总结

如果觉得编程之家网站内容还不错,欢迎将编程之家网站推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。

小编个人微信号 jb51ccc

喜欢与人分享编程技术与工作经验,欢迎加入编程之家官方交流群!

linux adb arm移植,移植ubuntu core到Arm开发板相关推荐

  1. Linux移植:正点原子阿尔法IMX6ULL开发板Linux内核源码移植详细步骤(4.1.15版本内核)

    Linux移植:正点原子阿尔法IMX6ULL开发板Linux内核源码移植详细步骤(4.1.15版本内核) 文章目录 Linux移植:正点原子阿尔法IMX6ULL开发板Linux内核源码移植详细步骤(4 ...

  2. 移植spca5xx-v4l1goodbye到立宇泰ARMSYS244O开发板

    前面我讲解了如何移植spca5xxle到立宇泰ARMSYS244O开发板.但是spca5xxle只能输出JPG格式的图像数据,如果我们想要 RGB格式的数据就必须自己解码,如果移植的是完整的spca5 ...

  3. 支持4k输出的linux开发板,Linux 5.12率先开始支持SiFive的RISC-V FU740开发板

    原标题:Linux 5.12率先开始支持SiFive的RISC-V FU740开发板 来源:cnBeta.COM Linux 5.12合并窗口在本周末即将结束,而今早送来的是RISC-V的更新,这足以 ...

  4. Ubuntu桥接方式连接开发板

    虚拟机连接开发板uboot需要网桥实现,网上看了各种教程,找到了一个适合自己的方法,记录一下.我用的是ubuntu18.04,除了IP设置有些许差别,其它和之前版本基本相同,废话不多说,开始表演. 首 ...

  5. x210开发板linux驱动开发,移植Qt与Tslib到X210开发板的体会

    1.将QT移植到X210上,让X210开发板可以运行QT东西,需要几个东西.tslib QT源码编译后的lib库等 (1)tslib移植: @1:下载tslib,官方上下就可以. @2:解压.比如解压 ...

  6. qt 4.8.4 linux,Tslib和Qt 4.8.4与在开发板上的移植

    这篇博客算是接着Linux 下编译.安装.配置 QT这篇的,搞完PC平台的就来弄一下嵌入式平台的,Linux的东西搞起来麻烦的地方就在于太杂.太散,像QT,各版本之间都有很多差异,因此在网络上查找资料 ...

  7. linux 内核移植4412,移植Linux-5.4+内核到4412开发板

    Samsung EXYNOS  ---> --- Samsung EXYNOS []   SAMSUNG EXYNOS3 SAMSUNG EXYNOS4 []   SAMSUNG EXYNOS5 ...

  8. linux在开发板LCD上显,W35型LCD驱动移植 - linux-2.6.32在mini2440开发板上移植_Linux编程_Linux公社-Linux系统门户网站...

    编者注:本移植主要步骤还是按照手册来,里面讲解了一些有用的基础知识.但书册上提供了集中屏幕的方案,我们这里主要就用一种,也就是开发板自带的W35型号.液晶驱动的源程序在src/drivers/vide ...

  9. linux mplayer_移植mplayer播放器到EK200开发板的步骤浅析

    mplayer是一款开源多媒体播放器,以gnu通用公共许可证发布 此款软件可在各主流操作系统使用,一方面它资源占用率低:另一方面,无论是音频还是视频方面,它支持的格式相当全面,能支持播放大部分的音频. ...

最新文章

  1. git 强制推送_Git 常用命令清单,掌握这些,轻松驾驭版本管理
  2. SAP SD基础知识之订单中装运相关的功能 I
  3. nginx 配置信息
  4. linux下的python环境,linux下python环境
  5. MATLAB自定义函数及局部变量
  6. what to improve on my case study?
  7. Go 从入门到精通(三)字符串,时间,流程控制,函数
  8. Elasticsearch和solr的区别
  9. Oracle数据库中表格的级联删除问题
  10. pythonpandas设置索引_pandas DataFrame的修改方法(值、列、索引)
  11. 4.4 核对矩阵的维数
  12. InstantClient+PLSQL安装配置教程
  13. 基于Key过期失效实现 ‘N分钟内请勿重复提交“ 功能
  14. JAVA冒泡排序原理
  15. ec20 以太网_轩辕实验室:SOTIF:汽车以太网的容错能力测试(2)
  16. 浅析《人间失格》中的经典句段
  17. Python学习之路(四)——Python核心编程3(面向对象、模块_包_异常)
  18. java mysql vo mybatis 分页_Mybatis Plus 使用VO分页查询
  19. html行内样式选择器怎么写,巧用CSS伪类选择器实现九种样式的九宫格
  20. 珞珈-B生所学 跟学笔记 PPT(三)(完结)

热门文章

  1. Summary:Fater Rcnn
  2. html5泡泡龙游戏开发随笔
  3. FinalCutPro快捷键
  4. 前台、前端、后台和后端的区别
  5. Column ‘‘ in field list is a ambiguous
  6. 使用IDEA第一次open或者import新的gradle项目出现Refresh gradle project卡死的附解决办法
  7. java判断白天黑夜,获取Java中的所有夜晚时间
  8. android摇一摇功能实现
  9. i59300h处理器能带动matlab,i5-9300h相当于什么层次 在做选择
  10. Java温习——表达式expression