通过yocto给p1010rdb定制linux,并启动linux
一、通过yocto定制linux
1.安装yocto
yocto只能在非root用户下编译,所以先新建一个用户。
useradd chen passwd -d chen 重启电脑进入chen用户。
给chen用户添加root权限,vim /etc/sudoers 第99行添加 chen ALL=(ALL) ALL
chen ALL = NOPASSWD: /usr/bin/yum
mkdir yocto 将光盘中的资料拷贝到yocto下,光盘名称(yocto soure iso)。
添加可执行权限 chmod +x install ./install 跟着步骤安装好yocto。
2.编译linux文件
进入yocto的安装文件夹:
./scripts/host-prepare.sh 配置yocto的环境变量。
source ./fsl-setup-poky -m p1010rdb 开始编译生成文件。
选择编译方式,这里提供了以下几种:
fsl-image-minimal
fsl-image-core
fsl-image-full
fsl-image-flash
fsl-toolchain
package-name(usdpaa)
我选的是 fsl-image-minimal:
bitbake fsl-image-minimal
在编译的时候会提示缺一个库,直接用yum install 库的名字 在继续编译就行了
等待编译完成在QorIQ-SDK-V1.2-20120614-yocto/build_p1010rdb_release/tmp/deploy/images路径下会生成编好的文件系统,内核镜像,驱动树。

提示:
要留至少20g的硬盘空间给文件使用。
二、启动linux
这里介绍两种启动linux的方法:
1.通过tftp直接启动
打开安装包里面的START_HERE.html 文档,找到development deployment这一章,根据文档操作确保主机上的tftp服务器可以使用。
配置板子的启动参数:
setenv ipaddr 192.168.1.10
setenv serverip 192.168.1.20
setenv gatewayip 192.168.1.1
setenv bootargs 'root=/dev/ram rw ramdisk_size=10000000 console=ttyS0,115200'
saveenv
启动linux:
tftp 0x1000000 uImage-p1010rdb.bin
tftp 0x2000000 fsl-image-minimal-p1010rdb.rootfs.ext2.gz.u-boot
tftp 0xc00000 uImage-p1010rdb.dtb
bootm 0x1000000 0x2000000 0xc00000 启动linux成功。
2.通过nfs服务器启动
在主机上构建nfs服务器,mkdir /tftpboot/systembuilder ,cp p1010rdb-rootfs.tar.gz /tftpboot/systembuilder
tar xf p1010rdb-rootfs.tar.gz , chmod 777 /tftpboot/systembuilder -R
vi /etc/exports 加入/tftpboot/systembuilder *(rw, no_root_squash, async)
配置启动参数:
setenv ipaddr 192.168.1.10
setenv serverip 192.168.1.20
setenv gatewayip 192.168.1.1
setenv bootargs root=/dev/nfs rw nfsroot=192.168.1.20:/tftpboot/systembuilder nolock ip=192.168.1.10:192.168.1.20:192.168.1.1:255.255.0.0::eth0:off /> console=ttyS0,115200
saveenv
启动linux:
tftp 0x1000000 uImage-p1010rdb.bin
tftp 0xc00000 uImage-p1010rdb.dtb
bootm 0x1000000 - 0xc00000 启动linux成功。
通过yocto给p1010rdb定制linux,并启动linux的更多相关文章
- (转)Linux的启动过程
原文链接:http://www.ruanyifeng.com/blog/2013/08/linux_boot_process.html 半年前,我写了<计算机是如何启动的?>,探讨BIOS ...
- Linux 的启动流程(转)
原文链接:http://blog.jobbole.com/46078/ 半年前,我写了<计算机是如何启动的?>,探讨BIOS和主引导记录的作用. 那篇文章不涉及操作系统,只与主板的板载程序 ...
- 【转】Linux 的启动流程
半年前,我写了<计算机是如何启动的?>,探讨BIOS和主引导记录的作用. 那篇文章不涉及操作系统,只与主板的板载程序有关.今天,我想接着往下写,探讨操作系统接管硬件以后发生的事情,也就是操 ...
- Linux 的启动流程
转载:http://www.ruanyifeng.com/blog/2013/08/linux_boot_process.html 更多文档参见:http://pan.baidu.com/s/1hqo ...
- linux --> Linux 的启动流程
Linux 的启动流程 操作系统接管硬件以后发生的事情,也就是操作系统的启动流程. 因为在BIOS阶段,计算机的行为基本上被写死了,程序员可以做的事情并不多:但一旦进入操作系统,程序员几乎可以定制所有 ...
- Linux 的启动流程--转
http://cloudbbs.org/forum.php?mod=viewthread&tid=17814 半年前,我写了<计算机是如何启动的?>,探讨BIOS和主引导记录的作用 ...
- [开机启动]Linux开机自启和运行级别
嵌入式系统中程序自启动方法 在很多嵌入式系统中,由于可用资源较少,常常在系统启动后就直接让应用程序自动启动,以减少用户操作和节省资源.如何让自己的应用程序自动启动呢? 在Linux系统中,配置应 ...
- 最牛技术 1秒启动Linux的窍门
1秒启动Linux可以实现吗?我们知道Linux系统开机并不算快,最少也需要11秒,但是,现在有一个技巧,可以1秒打开linux系统,到底是什么技术这么牛?请看下文详细介绍 尽可能快的启动系统,对于自 ...
- Linux内核启动过程概述
版权声明:本文原创,转载需声明作者ID和原文链接地址. Hi!大家好,我是CrazyCatJack.今天给大家带来的是Linux内核启动过程概述.希望能够帮助大家更好的理解Linux内核的启动,并且创 ...
随机推荐
- linux下snprintf和sprinf很少被提及的区别
函数原型:int snprintf(char *dest, size_t size, const char *fmt, ...);函数说明: snprintf函数中的第二个参数,size的解释:siz ...
- windows安装配置mysql-5.7.13-winx64方法
1.mysql-5.7.13-winx64.zip下载 官方下载地址:http://dev.mysql.com/downloads/mysql/ 2.解压到D:\mysql\mysql-5.7.13- ...
- hdu 1535 Invitation Cards
http://acm.hdu.edu.cn/showproblem.php?pid=1535 这道题两遍spfa,第一遍sfpa之后,重新建图,所有的边逆向建边,再一次spfa就可以了. #inclu ...
- WinDriver的一些
http://blog.csdn.net/chuajiang/article/details/2115508
- java设计模式--行为型模式--模板方法
什么是模板方法,这个有待考虑,看下面: 模板方法 概述 定义一个操作中的算法的骨架,而将一些步骤延迟到子类中. TemplateMethod使得子类可以不改变一个算法的结构即可重定义该算法的某些特定步 ...
- 【转】图文并茂 Ubuntu使用Thunderbird方法指南
原文网址:http://os.51cto.com/art/201101/243445.htm Ubuntu 是一个启动速度超快.界面友好.安全性好的操作系统,它适用于桌面电脑.笔记本电脑.服务器以及上 ...
- windows多线程同步总结
1.多线程同步与多线程互斥的关系 其实这也是我一直困扰的问题,在这里我只是说说我的理解.我的理解是多线程互斥是针对于多线程资源而言的. 而多线程同步是针对于多线程时序问题.由于线程的并发性导致其运行时 ...
- IOS开发错误提示原因集合-----长期更新
"[__NSCFConstantString size]: unrecognized selector sent to instance." =>将NSString类型的参数 ...
- <转载>Wait and Waitpid
转载http://www.cnblogs.com/lihaosky/articles/1673341.html 一.Wait #include <sys/types.h> /* 提供类型p ...
- 《UNIX环境高级编程》笔记--chown,fchown和lchown函数
这三个函数都是用来更改文件的用户ID和组ID的,函数的定义如下: #include <unistd.h> int chown(const char *pathname, uid_t own ...