rk3128开发板linux开发手册

上传人:简****9 文档编号:95450728 上传时间:2019-08-18 格式:PDF 页数:35 大小:549.02KB
返回 下载 相关 举报
rk3128开发板linux开发手册_第1页
第1页 / 共35页
rk3128开发板linux开发手册_第2页
第2页 / 共35页
rk3128开发板linux开发手册_第3页
第3页 / 共35页
rk3128开发板linux开发手册_第4页
第4页 / 共35页
rk3128开发板linux开发手册_第5页
第5页 / 共35页
点击查看更多>>
资源描述

《rk3128开发板linux开发手册》由会员分享,可在线阅读,更多相关《rk3128开发板linux开发手册(35页珍藏版)》请在金锄头文库上搜索。

1、 RK3128开发板Linux开发手册 版本说明 日期 作者 描述 2015-8-10 龙腾 原始版本 目录 第一章 linux 内核编译 . 4 1.1 准备工作 4 1.1.1 安装开发包 . 4 1.1.2 安装 mkbootimg 工具 4 1.1.3 获取内核源码和安装交叉编译工具链 . 4 1.2 编译内核 5 1.2.1 编译内核映像 . 5 1.2.2 编译内核模块 . 6 1.3 创建 linux-boot.img 6 1.3.1 创建内存盘 . 6 1.3.2 打包内核和内存盘 . 7 1.4 修改 parameter 文件 7 1.5 烧写到设备 8 2.1 使用 min

2、iroot 来创建并引导系统 8 2.1.1 准备 . 9 2.1.2 下载和解压 ubuntu-core . 10 2.1.3 启动 Ubuntu 11 2.1.4 初始配置 . 12 2.1.5 安装软件包 . 13 2.1.6 固化系统 . 13 2.1.7 常见问题 . 14 如何恢复正常启动 . 14 第三章 Ubuntu Server 使用 . 15 3.1 网络 15 3.1.1 以太网 . 15 3.1.2 静态 IP . 16 3.1.3 WiFi 17 3.2 安装服务器软件包 18 3.2.1 列出任务 . 18 3.2.2 列出需要安装的软件包 . 19 3.2.3 安

3、装服务器任务 . 19 3.3 密码 20 3.3.1 系统 . 20 MySQL . 20 3.4 测试 20 第四章 双系统启动的设计和实现 . 21 4.1 前言 21 4.2 安卓系统的启动流程 21 4.3 双启动系统的设计 22 4.4 双启动系统的实现 23 4.4.1 分区 . 23 4.1.2 misc 分区的格式 27 4.4.3 保留安卓急救系统 . 29 4.4.4 如何从 Linux 切换回 Android . 31 4.4.5 如何从 Android 切换回 Linux . 31 第五章 固件升级 . 32 5.1 Linux 升级 . 32 5.1.1 upgra

4、de_tool . 33 5.1.2 rkflashkit . 33 第一章 linux 内核编译 1.1 准备工作 1.1.1 安装开发包 安装开发包: sudo apt-get install build-essential lzop libncurses5-dev libssl-dev # 如果使用的是 64 位的 Ubuntu,还需要安装: sudo apt-get install libc6:i386 1.1.2 安装 mkbootimg 工具 git clone https:/ cd rockchip-mkbootimg make 8.8.4.4; address1 行的格式为:

5、address1=/, 3.1.3 WiFi 列出可用的 WiFi 存取点: nmcli dev wifi 创建名称为“My cafe“的新连接,使用密码 “caffeine“ 连接到 “Cafe Hotspot 1“ SSID: nmcli dev wifi connect “Cafe Hotspot 1“ password “caffeine“ name “My cafe“ 列出可用的网络连接: nmcli con list 关闭 “My cafe“ 网络连接: nmcli con down id “My cafe“ 打开 “My cafe“ 网络连接: nmcli con up id “

6、My cafe“ 显示 WiFi 打开状态: nmcli nm wifi 打开 WiFi: nmcli nm wifi on 关闭 WiFi: nmcli nm wifi off 3.2 安装服务器软件包 服务器软件包按相关性分类成任务。 3.2.1 列出任务 列出任务清单: fireflyfirefly:$ tasksel -list-tasks u server Basic Ubuntu server i openssh-server OpenSSH server u dns-server DNS server i lamp-server LAMP server u mail-server

7、 Mail server u postgresql-server PostgreSQL database u print-server Print server u samba-server Samba file server u tomcat-server Tomcat Java server u cloud-image Ubuntu Cloud Image (instance) u virt-host Virtual Machine host u ubuntu-desktop Ubuntu desktop u ubuntu-usb Ubuntu desktop USB u edubuntu

8、-dvd-live Edubuntu live DVD u kubuntu-dvd-live Kubuntu live DVD u lubuntu-live Lubuntu live CD u ubuntu-gnome-live Ubuntu GNOME live CD u ubuntustudio-dvd-live Ubuntu Studio live DVD u ubuntu-live Ubuntu live CD u ubuntu-usb-live Ubuntu live USB u xubuntu-live Xubuntu live CD u manual Manual package

9、 selection 前缀字符表示状态,“i” 表示已安装,“u” 表示未安装。 3.2.2 列出需要安装的软件包 例如,如果你想知道 “lamp-server“ (Linux/Apache/MySQL/PHP) 这项任务会安 装什么包,可以运行以下命令: fireflyfirefly:$ tasksel -task-packages lamp-server apache2-mpm-prefork mysql-common php5-json mysql-client-5.5 libaprutil1-dbd-sqlite3 php5-mysql mysql-server ssl-cert li

10、baprutil1 libapr1 libhtml-template-perl libdbi-perl apache2-bin php5-common apache2 php5-cli libdbd-mysql-perl mysql-server-5.5 libterm-readkey-perl libaprutil1-ldap mysql-server-core-5.5 libmysqlclient18 libapache2-mod-php5 libwrap0 apache2-data tcpd php5-readline mysql-client-core-5.5 libaio1 3.2.

11、3 安装服务器任务 以安装 “lamp-server“ 任务为例: fireflyfirefly:$ sudo tasksel install lamp-server 运行后,会弹出一个文本对话框,并有进度显示。注意,用 “Ctrl-C“ 并不能中断, 需要在另一终端用 kill 命令将该进程结束。 3.3 密码 3.3.1 系统 用户: root 密码: firefly 用户: firefly 密码: firefly MySQL 用户: root 密码: firefly 3.4 测试 测试 apache 网页服务器: http:/index.html 测试 php 是否正常: http:/i

12、ndex.php 第四章 双系统启动的设计和实现 4.1 前言 本文讨论如何利用安卓系统自身的启动特性, 加进 Linux 系统的启动支持,并实现 双系统的切换。 要达到这一点,有必要先了解一下安卓系统的启动流程。 4.2 安卓系统的启动流程 安卓系统的启动模式有两种:正常模式和急救(recovery)模式。 急救模式,其内核和根文件系统均独立于正常模式,功能简单,一般很少更新,用 作系统修复和维护。 也就是说,安卓系统本身就是支持双启动的。 安卓系统的启动流程是: 1 U-Boot 初始化 1.1 U-Boot 读取 CPU 寄存器,如果有 recovery 标志,则跳转到 3 1.2 U-

13、Boot 读取 misc 分区,如果含有 recovery 命令,则跳转到 3 1.3 正常启动模式,跳转到 2 2 正常启动模式 2.1 加载 boot 分区 2.1.1 如果 boot 分区含有内核和 initramfs, 则分别加载到内存特定位 置,跳转到 2.3 (略过 kernel 分区处理) 2.1.2 如果 boot 分区仅含有 initramfs, 则加载到内存特定位置。 2.2 加载 kernel 分区到内存特定位置。 2.3 跳转到 4 3 急救模式 3.1 读出 recovery 分区内含的内核 和 initramfs, 分别加载到内存特定位 置,跳转到 4 4 初始化内

14、核启动参数,将执行权移交内核。 注意,initramfs 是固化了的小型根文件系统,内核启动后会将其解压至内存中, 并执行其中的 init 程序进行初始化。也就是说,initramfs 是第一个获得执行权的 根文件系统, 负责挂载真正的根文件系统 (可以在各种各样的存储设备中, 如 U 盘、 TF 卡、USB 硬盘、NAND 或 eMMC 闪存等)。 4.3 双启动系统的设计 分析安卓系统的启动流程,一个比较简单的双启动方案就是: 加入 Linux 系统的根文件系统分区。 替换 recovery 分区成 Linux 系统的内核和 initramfs。 改变 misc 分区的内容,就可设定开机启

15、动的操作系统。 在 Linux 系统内实现安卓急救系统的部分功能。 如何进入 Linux 呢? 因为我们将 Linux 放在 recovery 分区,因此,问题等价 于如何进入安卓的急救模式。以下有几种方式: 1. 拔掉 USB 线,按住开发板的 recovery 键开机(无论是初次上电、重启或 按 reset 键开机都可以) 。这是临时性的切换,下次开机不按,还是会进入 Linux 。 2. 在安卓系统的设置里选择恢复出厂设置。实际上,恢复出厂设备这个功能已 被阉割了,重启后会进入 Linux。 3. 在安卓系统的关机菜单(点底部工具栏的关机按钮进入)增加了一项切换系 统的选择。当然,它是检

16、测到 linuxroot 分区才会出现,也就是说单系统是 不会出现的。 4. 将 SDK 里的 rkst/Image/misc.img 刷进到 misc 分区。 24 项都是通过写 misc 分区,达到切换到 recovery,这里也即是 Linux 的目 的。 4.4 双启动系统的实现 4.4.1 分区 我们先来看看纯安卓的存储分区情况。分区信息在 parameter 文件里 的 CMDLINE 行: FIRMWARE_VER:4.4.2 MACHINE_MODEL:rk30sdk MACHINE_ID:007 MANUFACTURER:RK30SDK MAGIC: 0x5041524B ATAG: 0x60000800 MACHINE: 3066 CHECK_MASK: 0x80 PWR_HLD: 0,0,A,0,1 #KERNEL_IMG: 0x62008000 #FDT_NAME: rk-kernel

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 商业/管理/HR > 管理学资料

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号