ibox4412 移植ubuntu(kernel3.8.13+13.10 from FriendlyArm and odroid)

成功实现 友善/odroid 3.8.13内核和13.10ubuntu在ibox上移植(SD卡)

实现功能:

无线上网,HDMI1080P(音频同步)输出,视频播放,声卡,触摸屏,lcd等常用驱动完全移植

分享下步骤

1、移植linux内核,参考ibox4412  3.0和3.5内核,友善移植odroid的3.8.13内核,具体内容略过

HDMI相关驱动有三个地方:

\linux-3.8.13\drivers\media\video\s5p-tv (第一处不参加编译,不使用)

\linux-3.8.13\drivers\media\platform\s5p-tv (第二处内核驱动代码完全与第一处相同,可以完全使用,创建3个fb设备节点和3个video设备节点)

驱动需要配置

static struct i2c_board_info hdmiphy_info = {
	I2C_BOARD_INFO("s5p_hdmiphy", 0x38),
//	I2C_BOARD_INFO("hdmiphy-exynos4412", 0x38),
};

	s5p_i2c_hdmiphy_set_platdata(NULL);
	s5p_hdmi_set_platdata(&hdmiphy_info, NULL, 0,  EXYNOS4_GPX3(7));
	s5p_hdmi_cec_set_platdata(&hdmi_cec_data);

\\192.168.56.102\workspace\4412\tiny\linux-3.8.13\drivers\gpu\drm\exynos(使用drm方式,只注册了一个fb5,这个是友善官方默认使用的方式)

驱动需要配置

static struct i2c_board_info hdmiphy_info = {
//	I2C_BOARD_INFO("s5p_hdmiphy", 0x38),
	I2C_BOARD_INFO("hdmiphy-exynos4412", 0x38),
};

	s5p_i2c_hdmiphy_set_platdata(NULL);
	s5p_hdmi_set_platdata(&hdmiphy_info, NULL, 0,  EXYNOS4_GPX3(7));
	s5p_hdmi_cec_set_platdata(&hdmi_cec_data);

	/* FIXME: hdmiphy i2c adapter has dynamic ID, and setting it to 8 causes
	 * a failure to initialize (can't find clock?). so for now we are relying
	 * on the hdmiphy i2c adapter being dynamically assigned address 8. */
	i2c_register_board_info(8, &hdmiphy_info, 1);

2、从友善官方下载13.10版本ubuntu镜像

ubuntu_sd_nanopc_t1.img

查看镜像分区信息

[email protected]:/workspace# fdisk -l ubuntu_sd_nanopc_t1.img

Disk ubuntu_sd_nanopc_t1.img: 6396 MB, 6396313600 bytes
255 heads, 63 sectors/track, 777 cylinders, total 12492800 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x000c4046

                  Device Boot      Start         End      Blocks   Id  System
ubuntu_sd_nanopc_t1.img1          102400      204799       51200    b  W95 FAT32
ubuntu_sd_nanopc_t1.img2          204800    12492799     6144000   83  Linux

ubuntu文件系统在img2里面

挂在文件系统

mount  -o loop,offset=104857600 ubuntu_sd_nanopc_t1.img udisk

然后将udisk里面的内容全部复制到sd卡制定ext4 分区中

3、为了支持hdmi输出,需要设置

etc/X11/xorg.conf

# X.Org X server configuration file for xfree86-video-mali

Section "Device"
	Identifier "Mali-Fbdev"
	Driver	"mali"
	Option	"fbdev"           "/dev/fb5"
	Option	"DRI2"            "true"
	Option	"DRI2_PAGE_FLIP"  "false"
	Option	"DRI2_WAIT_VSYNC" "true"
	Option  "UMP_CACHED"      "true"
	Option  "UMP_LOCK"        "false"
        Option  "G2D_DEVICE" "/dev/video2"
        Option  "G2D_ENABLE" "false"
	Option	"DPMS"	"false"
EndSection

Section "Screen"
	Identifier   "Default Screen"
	Device       "Mali-Fbdev"
	DefaultDepth 24
EndSection

Section "DRI"
	Mode 0666
EndSection

根据节点情况进行设置

4、为了使用户登录使有管理员权限

修改etc/sudoers

#
# This file MUST be edited with the 'visudo' command as root.
#
# Please consider adding local content in /etc/sudoers.d/ instead of
# directly modifying this file.
#
# See the man page for details on how to write a sudoers file.
#
Defaults	env_reset
Defaults	mail_badpass
Defaults	secure_path="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"

# Host alias specification

# User alias specification

# Cmnd alias specification

# User privilege specification
root	ALL=(ALL:ALL) ALL
<pre name="code" class="cpp">t1<span style="white-space:pre">	</span>ALL=(ALL:ALL) ALL
lj<span style="white-space:pre">	</span>ALL=(ALL:ALL) ALL

# Members of the admin group may gain root privileges%admin ALL=(ALL) ALL# Allow members of group sudo to execute any command%sudo ALL=(ALL:ALL) ALL# See sudoers(5) for more information on "#include" directives:#includedir
/etc/sudoers.d


5、出图喽

时间: 2024-09-29 01:59:18

ibox4412 移植ubuntu(kernel3.8.13+13.10 from FriendlyArm and odroid)的相关文章

Ubuntu Code::Blocks IDE 13.12 汉化

Ubuntu Code::Blocks IDE 13.12 汉化: 安装很简单,不再赘述. 单说汉化: 1.下载中文简体汉化包(百度网盘):链接: http://pan.baidu.com/s/1kU35hvp 密码: cwe2 2.打开安装目录codeblocks,创建目录:locale/zh_CN $ cd /usr/share/codeblocks $ sudo mkdir -p locale/zh_CN 如果有就不用再创建,少哪个就创建哪个. 3.把中文简体汉化包移动到zh_CN中: $

已知如下数组: var arr = [ [1, 2, 2], [3, 4, 5, 5], [6, 7, 8, 9, [11, 12, [12, 13, [14] ] ] ], 10]; 编写一个程序将数组扁平化去并除其中重复部分数据,最终得到一个升序且不重复的数组

已知如下数组: var arr = [ [1, 2, 2], [3, 4, 5, 5], [6, 7, 8, 9, [11, 12, [12, 13, [14] ] ] ], 10]; 编写一个程序将数组扁平化去并除其中重复部分数据,最终得到一个升序且不重复的数组 var dt= arr.toString().split(",").sort(function(a,b){return a-b}).map(Number);Array.from(new Set(dt)) 代码如下 var d

install the Mondo Rescue utility in Ubuntu 12.04 or 12.10.

  1. Open a terminal window. 2. Type in the following commands, then hit Enter after each. wget ftp://ftp.mondorescue.org/ubuntu/`lsb_release -r|awk '{print $2}'`/mondorescue.sources.listsudo sh -c "cat mondorescue.sources.list >> /etc/apt/sour

ubuntu 14.04 安装 vmware 10 X64 后无法启动解决方法

ubuntu 14.04 安装成功后,平时的工作什么的都够用了, 最近需要做一个测试,测试环境还必须是windows的.所以就准备整个虚拟机来,kvm 跟 vmware 考虑再三,选择了 vmware .vmware 10的安装方法,就不做说明了.度娘或谷哥还是有蛮多方法.我这里所写的是,vmware 安装后,启动时报错. 报错图片如下: 解决方法: 当然方法有很多种,我也试过几种方法,有使用patch 的,但是我用这种方法的时候,出现错误了,继续找方法的时候,有网友有告诉过这样一种方法,就是手

练习13.13的一个有意思的现象

在做C++ Primer 5th的联系13.13时有一个很有意思的现象:当一个声明一个保存自定义类类型的vector时,如果在进行push_back操作之前这个vector的capacity和其size一致的话,则程序会向操作系统申请更多的内存以保存更多的元素.此时,整个vector会对其已经构建的元素重新全部构建一次(即调用拷贝构造函数),然后再在末尾元素之后构建新的元素.最后调用析构函数销毁扩容之前构建的元素. 下面直接看程序: //X结构体的定义 struct X { //默认构造函数 X

ubuntu 16.04 和 windows 10系统安装mysql 允许远程访问 | mysql user guide on ubuntu 16.04 and windows 10

本文首发于个人博客https://kezunlin.me/post/36e618e7/,欢迎阅读! mysql user guide on ubuntu 16.04 and windows 10 Part-1: Ubuntu install sudo apt-get install mysql-server # root,123456 mysql -uroot -p123456 allow remote access change bind-address cd /etc/mysql grep

30分钟groovy快速入门并掌握(ubuntu 14.04+IntelliJ 13)

本文适合于不熟悉 Groovy,但想快速轻松地了解其基础知识的 Java开发人员.了解 Groovy 对 Java 语法的简化变形,学习 Groovy 的核心功能,例如本地集合.内置正则表达式和闭包.编写第一个 Groovy 类,然后学习如何使用 JUnit 轻松地进行测试.借助功能完善的 Groovy 开发环境和使用技能,您将轻松完成本教程的学习.最重要的是,您将学会如何在日常 Java 应用程序开发中联合使用 Groovy 和 Java 代码. 阅读本文的前提条件:为了从本教程得到最大收获,

powershell生成时间戳13和10位

定义: 时间戳是指格林威治时间1970年01月01日00时00分00秒(北京时间1970年01月01日08时00分00秒)起至现在的总秒数. 通俗的讲, 时间戳是一份能够表示一份数据在一个特定时间点已经存在的完整的可验证的数据.  它的提出主要是为用户提供一份电子证据, 以证明用户的某些数据的产生时间.  ---摘自百度百科 Ticks是一个周期,存储的是一百纳秒,换算为秒,一千万分之一秒. 实现: (([DateTime]::Now.ToUniversalTime().Ticks - 6213

如何在 Ubuntu 16.04,15.10,14.04 中安装 GIMP 2.8.16(类似于PS软件)

GIMP 图像编辑器 2.8.16 版本在其20岁生日时发布了.下面是如何安装或升级 GIMP 在 Ubuntu 16.04, Ubuntu 15.10, Ubuntu 14.04, Ubuntu 12.04 及其衍生版本中,如 Linux Mint 17.x/13, Elementary OS Freya. GIMP 2.8.16 支持 OpenRaster 文件中的层组,修复了 PSD 中的层组支持以及各种用户界面改进,修复了 OSX 上的构建系统,以及更多新的变化.请阅读 官方声明. GI