本文专属tiny6410吐槽系列~如有得罪,请多包涵~在此也留个联系方式~291222536@qq.com,欢迎大家一起交流吐槽心得~

上节各位搞得如何~这次怎么修改barebox的一些小细节,并且配置一下内核,使得barebox可以顺利boot通内核~

在barebox的arch/arm/boards/friendlyarm-tiny6410/env这个文件夹里面放的就是barebox的起来的之后的环境变量了~比如上节设置的网卡eth0的ip,netmask,gateway······设置成环境变量之后就可以不用手动在barebox的命令行敲这些设置~

修改/env/config这个文件。原始的网络部分是这样子的~

按照上节和我自己用的配置,修改成这样~但是如果你设的ip有是别的话要更改自己用的ip

Serverip是上位机的ip,下面4个是板子的相关的设置,注意啦,同一网段啊亲~

然后,原始的config文件啰啰嗦嗦的写了一大堆,我们最好的解决办法就是直接删掉~除了配好的网卡部分全部删掉,改成这样的形式

因为后面我打算用的是linux+nfs文件系统的形式,所以

kernel_loc=tftp

rootfs_loc=net

这里不要问为什么,现在做这些步骤你只要记住两点,不求甚解和没有技术含量就行,以后把最基本的linux kernel和文件系统boot通之后我们回去慢慢的来搞细节,现在最重要的是什么?大环境~

rootfs_type和 rootfsimage现在用不上,照抄或者删掉都可

往下~

kernelimage_type=zimage

Kernelimage=zImage

nfsroot=”xxxxxx”

这三项

因为编译linux内核的时候默认生成的是zimage镜像,所以这里kernelimage_type我选择barebox加载内核的时候是zimage镜像~ok

在编译linux内核的时候默认会生成名为zImage的zimage镜像,所以为了方面Kernelimage我选择zImage的名字,这个名称可以修改成你编译内核是生成镜像的名字~

nfsroot这个是填进去你上位机的nfs目录,比如说我要barebox启动内核的时候以nfs作为根目录文件系统,还是上一节的配置,那这里我nfs的绝对路径就是:

192.168.1.100:/home/workspace/rootfs

修改的文件是以参数试的定义填进nfs目录的,现在假定我内核使用的nfs根目录的文件系统是rootfs,但是这时候上位机这个目录是空的,因为现在我们还没有文件系统~

然后,自启动时间设成3s,bootargs保持默认即可~最后因为现在barebox没有nandflash的驱动~所以最后三行注释掉

在arch/arm/boards/friendlyarm-tiny6410/env目录下再新建一个bin文件夹,新建一个文件update,内容如下:

就把上次从tftp中加载文件的过程写成shell形式,例如我启动barebox之后我不想每次重新编译barebox之后都用minitool去烧写,直接如果barebox起来之后我从tftp加载barebox的话,可以达到方便开发barebox的功能~

切到barebox的目录下make menuconfig

commands --->barebox-update选上

然后,commands -->file commands --->automount选上

记住,不要问我为什么,现在是不求甚解~

然后,找到arch/arm/tools中的mach-type文件,上节如果有朋友试过boot内核的就会发现这个加载完启动就会提示机器码不对的情况,这里,找到tiny6410的机器码~修改成mini6410一样的机器码,这样后面我们配linux内核的时候就可以省去很多麻烦~

好,保存所有修改过的文件,make

make完之后用minitool烧写进tiny6410的内存~

这时候,如果你超过barebox的autoboot时间,碰巧你的tftp共享目录下有我们在修改环境变量是名为zImage的文件的话,barebox会自动加载这个文件到/dev/ram0中,然后boot它~

你可以找一个友善提供编译好的6410的内核改成zImage放到tftp共享目录下面,人品足够好的话可以看到boot起linux内核~

这里我就贴一张用友善官网下载的最新Tiny6410B-20120828的光盘B中/image/linux/zImage这个镜像从barebox启动的log

到这里,运行到最后我跟你说喔,一定是挂掉的~甚至还不能挂载nfs就挂掉的~

因为什么,你自己思考一下,认真思考一下~

下一节我们就从linux kernel官网下官方的源码自己来学习配一个最简单的内核~

让Barebox正确引导Tiny6410的linux内核的更多相关文章

  1. 如何参与Linux内核开发(转)

    本文来源于linux内核代码的Document文件夹下的Hoto文件.Chinese translated version of Documentation/HOWTO If you have any ...

  2. 如何参与linux 内核开发

    如果想评论或更新本文的内容,请直接联系原文档的维护者.如果你使用英文 交流有困难的话,也可以向中文版维护者求助.如果本翻译更新不及时或者翻 译存在问题,请联系中文版维护者.   英文版维护者: Gre ...

  3. 如何参与linux内核开发

    如何参与linux 内核开发   如果想评论或更新本文的内容,请直接联系原文档的维护者.如果你使用英文 交流有困难的话,也可以向中文版维护者求助.如果本翻译更新不及时或者翻 译存在问题,请联系中文版维 ...

  4. Linux内核分析方法谈

    本文来自 http://blog.csdn.net/ouyang_linux007/article/details/7422346 Linux的最大的好处之一就是它的源码公开.同时,公开的核心源码也吸 ...

  5. Linux 内核引导选项简介

    Linux 内核引导选项简介 作者:金步国 连接地址:http://www.jinbuguo.com/kernel/boot_parameters.html 参考参数:https://www.cnbl ...

  6. Tiny6410烧入uboot,linux内核,文件系统

    好久没有玩tiny6410了,今天拿出来试试.之前学习一直是跟着视频学习的.今天自己动手来做一下. 首先我将光盘linux目录下的linux-2.6.38-20150708.tgz  rootfs_r ...

  7. Linux 内核引导参数简介

    概述 内核引导参数大体上可以分为两类:一类与设备无关.另一类与设备有关.与设备有关的引导参数多如牛毛,需要你自己阅读内核中的相应驱动程序源码以获取其能够接受的引导参数.比如,如果你想知道可以向 AHA ...

  8. 用Qemu模拟vexpress-a9 (三)--- 实现用u-boot引导Linux内核

    环境介绍 Win7 64 + Vmware 11 + ubuntu14.04 32 u-boot 版本:u-boot-2015-04 Linux kernel版本:linux-3.16.y busyb ...

  9. Linux内核和根文件系统引导加载程序

    续博文<u-boot之u-boot-2009.11启动过程分析> Linux内核启动及文件系统载入过程 当u-boot開始运行bootcmd命令.就进入Linux内核启动阶段,与u-boo ...

随机推荐

  1. vs2010-error LNK1123: failure during conversion to COFF: file invalid or corrupt

    在项目上右键->Properties-> configuration Properties->Enable Incremental Linking(设置为No). ref: Link ...

  2. 加速器eaccelerator不兼容高版本php

    话说PHP官方发布PHP5.4已经有一阵了,根据使用的情况来看,似乎还是很不错的.从初始发布到现在升级到的PHP5.4.4,修正不少的Bug.PHP5.4新的版本,除了提供了更多新的特性,还有大幅的效 ...

  3. GCD多线程 在子线程中获取网络图片 在主线程更新

    子线程中得所有数据都可以直接拿到主线程中使用 //当触摸屏幕的时候,从网络上下载一张图片到控制器的view上显示 -(void)touchesBegan:(NSSet *)touches withEv ...

  4. 1.Weblogic通Eclipse调试配置(Weblogic同Eclipse调试配置技术)

    概述:环境是eclipse,maven,svn, 在实际的的应用项目中,我们经常遇到本地应用程序没有问题,而部署到Weblogic上缺出现问题,查看日志并找不到原因,这时就需要调试部署上的程序与本地e ...

  5. [500lines]500行代码写web server

    项目地址:https://github.com/aosabook/500lines/tree/master/web-server.作者是来自Mozilla的Greg Wilson.项目是用py2写成. ...

  6. Qt中widget重新setParent需要注意的问题

    有时候需要在widget中重新setParent,但会发现setParent有时候会出现问题,比如子窗口不在刷出来等等. 其实,有一点是需要注意的,就是Qt文档里说的,如果你当前widget重新设置了 ...

  7. jQuery中$.get()、$.post()和$.ajax()

    jQuery.get()方法: $.get(url,data,success(response,status,xhr),dataType) 该函数是简写的 Ajax 函数,等价于: $.ajax({ ...

  8. Ubuntu完全教程,让你成为Ubuntu高手!

    Ubuntu的发音 Ubuntu,源于非洲祖鲁人和科萨人的语言,发作 oo-boon-too 的音.了解发音是有意义的,您不是第一个为此困惑的人,当然,也不会是最后一个:) 大多数的美国人读 ubun ...

  9. 前端面试题第二波,要offer的看过来~

    快来测试测试自己掌握能力吧! 1. class.forname的作用?为什么要用? 1).获取Class对象的方式:类名.class.对象.getClass().Class.forName(" ...

  10. SAR-303 xml validator验证框架

    // 配置文件详解 <mvc:annotation-driven validator="validator" /> <bean id="validato ...