手动制作根文件系统--之--为开发板制作logo
2015-10-31 15:14
465 查看
首先我要说明一点:我的是Exynos4412,cortex A9的开发板,如果有开发板不一样,那可能就会有不同的地方。要理解,切勿完全模仿。
一:拷贝lib库(这里我们用的是现成的)
二:制作bin,sbin,dev/bin,dev/sbin
三、在/nfsroot下创建以下目录,并制作/nfsroot/dev
四、制作init.d启动文件(制作好后,就可以启动了)
五、修改命令行名字
1、执行logomaker命令,就会出现以下图片:
2、如下图所示点击选择:
3、选择你自己下载好的图片,点击打开。
4、会出现你向制作logo的图片,然后点击file下面的第二项:Convert the picture….
5、这里是让我们选择保存制作号的ppm格式图片的路径,点击打开。
6、点击打开后,我们的ppm格式图片就制作好了。
制作好logo后,我们只需要把这个图片拷贝到 /linux-3.5-millet/driver/video/logo 目录下,替换原来的图片即可。
然后编译内核make -j4,重新下载内核到开发板就可以看到我们想要的logo了。。。
手动制作根文件系统:
首先要明白,我们制作的根文件系统需要有lib,opt,sys,proc,mnt,home,dev,media,root等文件。
一:拷贝lib库(这里我们用的是现成的)
1.在根目录下创建/nfsroot/(这里说明一下,/nfsroot/是我给开发板共享的目录,你可以是其他的目录) mkdir /nfsroot 2.拷贝lib库到/nfsroot 执行arm-linux-gcc -v命令,查看交叉编译工具安装在什么目录下,然后拷贝该编译工具的lib库到我们的/nfsroot下面 cd /opt/FriendlyARM/toolschain/4.5.1/arm-none-linux-gnueabi/sys-root/ cp lib /nfsroot -rf
二:制作bin,sbin,dev/bin,dev/sbin
1、从http:[//www.busybox.net/] 下载所需要的busybox版本 tar -zxvf busybox-1.17.2.tar.gz //解压 cd /busybox-1.17.2 (在这里,我们可以用make menuconfig取选择我们要的命令,如果你感觉麻烦,就直接用make defconfig默认选择了我们常用的命令)。 make defconfig //默认选择我们要的命令 2、修改Makefile vim Makefile 175行: ARCH=arm 176行: CROSS_COMPILE=arm-linux- 3、接下来就可以安装bosybox了: make make install 4、安装好后进入以下目录拷贝里面所有的东西到/nfsroot 安装好后就可以在_install目录下有我们想要的bin,sbin。然后拷贝所有的东西到我们之前创建好的/nfsroot目录下: cd _install cp * /nfsroot/ -rf
三、在/nfsroot下创建以下目录,并制作/nfsroot/dev
mkdir opt sys proc mnt home dev media root 1、制作/dev/console 和/dev/null /dev/console:是控制台 /dev/null:是万能的垃圾桶 首先我们浏览下我们所使用linux系统的这两个设备节点一些具体信息。 执行ls - l /dev/console /dev/null可以看到 /dev/console的主设备号是:5 次设备号是:1 /dev/null 的主设备号是:1 次设备号是:3 2、在/nfsroot/dev/下面创建: mknod console c 5 1 mknod null c 1 3 3、同理,查看ls -l /dev/tty0,给/nfsroot/dev下制作以下设备 mknod tty0 c 4 0 mknod tty1 c 4 1 mknod tty2 c 4 2 mknod tty3 c 4 3
四、制作init.d启动文件(制作好后,就可以启动了)
在/nfsroot/etc/创建init.d目录,并在创建好的init.d目录下创建rcS文件,rcS文件是系统启动的时候自动会取执行的一个文件。所以: cd /nfsroot/etc/ mkdir init.d touch rcS chmod +x rcS 打开rcS文件,写入如下几句代码: #!/bin/sh mount -t proc none /proc/ mount -t sysfs none /sys/ mdev -s //会提取sys设备的信息,自动在dev下生成设备文件
五、修改命令行名字
如果你向修改一下启动后的命令行名字的话,这个就不能错过了。 cd /nfsroot/etc/ 拷贝inittab这个文件到这个目录 vim /nfsroot/etc/profile //修改命令行名字
制作logo
原理:把图片生成数组点阵,启动的时候打点cd /linux-3.5-millet/driver/video/logo 其中logo_blackfin_clut224.ppm是默认启动的图片 所以我们只要制作一张ppm格式的图片替换这个目录下的这个图片就好了 操作: 安装制作ppm格式的工具,在老师分享的tools下(这里是老师分享的,你可以在网上百度下载这种工具) 解压logomaker.tgz工具,默认在当前路经生成了usr目录,在usr下的sbin目录放着我们要的工具。 移动这个工具到我们根目录下的/usr/sbin下面 mv ./usr/sbin/logomaker /usr/sbin 这个是后就安装好了制作图片为ppm格式的工具了,
1、执行logomaker命令,就会出现以下图片:
2、如下图所示点击选择:
3、选择你自己下载好的图片,点击打开。
4、会出现你向制作logo的图片,然后点击file下面的第二项:Convert the picture….
5、这里是让我们选择保存制作号的ppm格式图片的路径,点击打开。
6、点击打开后,我们的ppm格式图片就制作好了。
制作好logo后,我们只需要把这个图片拷贝到 /linux-3.5-millet/driver/video/logo 目录下,替换原来的图片即可。
然后编译内核make -j4,重新下载内核到开发板就可以看到我们想要的logo了。。。
相关文章推荐
- October——Just believe youself,you really did good job
- 新应用知识整理-应用中调用Google地图并实现定位
- Machine Learning Algorithms Study Notes(5)—Reinforcement Learning
- codeforces-559A-Gerald's Hexagon
- golang 数组长度与定义长度(容量)
- django
- Beego框架使用
- Django返回EXcel
- Designing Efficient Algorithms [Examples]~C - Calculator Conundrum
- Designing Efficient Algorithms [Examples]~F - City Game
- Django RestFramework源码剖析(2)———Viwe是自带分页的
- Django RestFramework源码剖析(1)——设定不同的serializer
- Golang time包的定时器/断续器
- KM算法模板(HDU_2255)
- [Simple Algorithms] Lesson1 简化版的桶排序
- 编写你的第一个Django应用01
- 二分图带权匹配的KM算法以及费用流建模
- CDOJ 1221 Ancient Go
- erlang和go之间桥接库相关
- [Django后台管理系统]Django的标准库django.contrib包介绍