linux adb arm移植,移植ubuntu core到Arm开发板
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开发板相关推荐
- Linux移植:正点原子阿尔法IMX6ULL开发板Linux内核源码移植详细步骤(4.1.15版本内核)
Linux移植:正点原子阿尔法IMX6ULL开发板Linux内核源码移植详细步骤(4.1.15版本内核) 文章目录 Linux移植:正点原子阿尔法IMX6ULL开发板Linux内核源码移植详细步骤(4 ...
- 移植spca5xx-v4l1goodbye到立宇泰ARMSYS244O开发板
前面我讲解了如何移植spca5xxle到立宇泰ARMSYS244O开发板.但是spca5xxle只能输出JPG格式的图像数据,如果我们想要 RGB格式的数据就必须自己解码,如果移植的是完整的spca5 ...
- 支持4k输出的linux开发板,Linux 5.12率先开始支持SiFive的RISC-V FU740开发板
原标题:Linux 5.12率先开始支持SiFive的RISC-V FU740开发板 来源:cnBeta.COM Linux 5.12合并窗口在本周末即将结束,而今早送来的是RISC-V的更新,这足以 ...
- Ubuntu桥接方式连接开发板
虚拟机连接开发板uboot需要网桥实现,网上看了各种教程,找到了一个适合自己的方法,记录一下.我用的是ubuntu18.04,除了IP设置有些许差别,其它和之前版本基本相同,废话不多说,开始表演. 首 ...
- x210开发板linux驱动开发,移植Qt与Tslib到X210开发板的体会
1.将QT移植到X210上,让X210开发板可以运行QT东西,需要几个东西.tslib QT源码编译后的lib库等 (1)tslib移植: @1:下载tslib,官方上下就可以. @2:解压.比如解压 ...
- qt 4.8.4 linux,Tslib和Qt 4.8.4与在开发板上的移植
这篇博客算是接着Linux 下编译.安装.配置 QT这篇的,搞完PC平台的就来弄一下嵌入式平台的,Linux的东西搞起来麻烦的地方就在于太杂.太散,像QT,各版本之间都有很多差异,因此在网络上查找资料 ...
- linux 内核移植4412,移植Linux-5.4+内核到4412开发板
Samsung EXYNOS ---> --- Samsung EXYNOS [] SAMSUNG EXYNOS3 SAMSUNG EXYNOS4 [] SAMSUNG EXYNOS5 ...
- linux在开发板LCD上显,W35型LCD驱动移植 - linux-2.6.32在mini2440开发板上移植_Linux编程_Linux公社-Linux系统门户网站...
编者注:本移植主要步骤还是按照手册来,里面讲解了一些有用的基础知识.但书册上提供了集中屏幕的方案,我们这里主要就用一种,也就是开发板自带的W35型号.液晶驱动的源程序在src/drivers/vide ...
- linux mplayer_移植mplayer播放器到EK200开发板的步骤浅析
mplayer是一款开源多媒体播放器,以gnu通用公共许可证发布 此款软件可在各主流操作系统使用,一方面它资源占用率低:另一方面,无论是音频还是视频方面,它支持的格式相当全面,能支持播放大部分的音频. ...
最新文章
- git 强制推送_Git 常用命令清单,掌握这些,轻松驾驭版本管理
- SAP SD基础知识之订单中装运相关的功能 I
- nginx 配置信息
- linux下的python环境,linux下python环境
- MATLAB自定义函数及局部变量
- what to improve on my case study?
- Go 从入门到精通(三)字符串,时间,流程控制,函数
- Elasticsearch和solr的区别
- Oracle数据库中表格的级联删除问题
- pythonpandas设置索引_pandas DataFrame的修改方法(值、列、索引)
- 4.4 核对矩阵的维数
- InstantClient+PLSQL安装配置教程
- 基于Key过期失效实现 ‘N分钟内请勿重复提交“ 功能
- JAVA冒泡排序原理
- ec20 以太网_轩辕实验室:SOTIF:汽车以太网的容错能力测试(2)
- 浅析《人间失格》中的经典句段
- Python学习之路(四)——Python核心编程3(面向对象、模块_包_异常)
- java mysql vo mybatis 分页_Mybatis Plus 使用VO分页查询
- html行内样式选择器怎么写,巧用CSS伪类选择器实现九种样式的九宫格
- 珞珈-B生所学 跟学笔记 PPT(三)(完结)
热门文章
- Summary:Fater Rcnn
- html5泡泡龙游戏开发随笔
- FinalCutPro快捷键
- 前台、前端、后台和后端的区别
- Column ‘‘ in field list is a ambiguous
- 使用IDEA第一次open或者import新的gradle项目出现Refresh gradle project卡死的附解决办法
- java判断白天黑夜,获取Java中的所有夜晚时间
- android摇一摇功能实现
- i59300h处理器能带动matlab,i5-9300h相当于什么层次 在做选择
- Java温习——表达式expression