配置适用于Tiny6410的linux内核

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


        不要问我为什么插图会有两种风格,我会告诉你我在上班无聊的时候码字的吗?


        今晚来干嘛好呢?干嘛好呢?干嘛好?干好!!!挺好的~

        去linux kernel的官网https://www.kernel.org/

        又截止到本人码下这些文字的时刻~linux kernel的状态是这样的~

        配置适用于Tiny6410的linux内核_第1张图片


        这里我选择的是longterm 3.2.xx版本,至于为什么选择这个版本呢~我会告诉你我把所有longterm版本编译全部编译一遍发现3.2.xx最合适么~原因我不想说了~希望尊贵的您也选择longterm 3.2.xx版本~不然你会被那么莫名其妙的小bug搞得你蛋疼~暂时信我吧亲~~~叫你亲了~~~


        把源码放到linux上面解压出来,图形界面也好,命令行也好,不过大家还是熟悉一下命令行解压各种包的命令吧~


        切到linux-3.2.53内核目录

        老办法,修改Makefile的arch部分arch和cross_conpile

        配置适用于Tiny6410的linux内核_第2张图片


        cp arch/arm/config/s3c6400_defconfig到根目录成.config

        然后make menuconfig

        貌似某些linux的发行版make menuconfig会报错,原因是缺少库~这个原因xubuntu也有,网上搜一下绝对办法,在ubuntu软件中心安装libncurses5-dev库就行,apt-get一下吧~很简单吧~


        进来make menuconfig的配置菜单

        配置适用于Tiny6410的linux内核_第3张图片


        现在就根据s3c6400_defconfig内核自带的6400的配置文件修改我们需要的内核配置~记得不要问我问什么,现在还是不求甚解的阶段


        1.System Type --->MINI6410选中,其他开发板的选择全部取消掉~

        配置适用于Tiny6410的linux内核_第4张图片


        2.exit出来,General setup --->System V IPC选上

        配置适用于Tiny6410的linux内核_第5张图片


        3.exit出来,Networking support --->选上

        配置适用于Tiny6410的linux内核_第6张图片


         配置网络协议栈Networking support --->Networking options --->

        配置适用于Tiny6410的linux内核_第7张图片

        配置适用于Tiny6410的linux内核_第8张图片

        4.exit出来,Device Drivers --->Network device support --->Ethernet driver support --->DM9000 support

        除了dm9000,其他全部取消

        配置适用于Tiny6410的linux内核_第9张图片


        5.exit出来,File systems --->Network File Systems --->

        配置内核支持nfs文件系统

        配置适用于Tiny6410的linux内核_第10张图片


        6.exit出来,Kernel hacking --->Kernel low-level debugging port (No low-level debugging)--->

        配置适用于Tiny6410的linux内核_第11张图片


        OK,在我们没有移植任何驱动的之前,内核这样配置内核的我们又可以使用最实在的网卡dm9000,大爱啊~


        exit出来保存,然后就可以make,小弟的小本本虽说是双核,但是我有的是时间~所以就直接make,但是赶时间的朋友们,双核加-j2参数,四核加-j4吧~

        于是乎~等啊等啊等

        在arch/arm/boot中终于生成zImage文件了~尼玛,害老子等这么久

        


        然后cp到你的共享tftp目录下~我的是/home/chanfai/workspace/tftpboot

        


        然后reset您尊贵的tiny6410,然后minitool下载barebox,配合前面改写的环境变量config,和您配置好的上位机的tftp服务,让barebox自动加载tftp共享文件夹中的zImage,然后内核就乖乖boot起来了~

        配置适用于Tiny6410的linux内核_第12张图片


        但是我必须遗憾的告诉你,到目前为止我们仅仅可以看到内核启动启动来,但是您人品足够好的话,至少和我人品差不多的话,您可以看到,内核在挂载完nfs共享文件夹之后就可耻地挂掉了,但是至少你可以看到tiny6410的屏幕是白色的~~噗噗~

        那么挂载了nfs后,提示说init进程找不到~

        这又是为什么呢?

        这也是必须的,因为我们的rootfs的绝对路径只是在barebox中设好而已,内核可以知道我要挂载的nfs在什么地方,但是这个rootfs目录在上位机中是没有任何东西的,好歹第一节我是把配置好的内核和根目录文件都做好才演示的,尼玛~

        但是亲们,如果你提示的和我log出来的不一样,那麻烦你回头再一遍我那些没有技术含量的文字重做吧~


        当你看到这里的时候~庆幸吧~起码和我的进度是一致的了~今天算你人品不错了~

        下节我们来从头做一个nfs端的根目录文件系统吧~

        累死我了,抽烟去~

你可能感兴趣的:(嵌入式)