zoukankan      html  css  js  c++  java
  • ubuntu 步步为营之uclinux编译和移植(完整版)

    本节主要包含(ubuntu10.04)

    一,linux下的经常使用压缩解压缩命令

    二,环境建立

    三,内核编译

    四,移植


    一,linux下的经常使用压缩解压缩命令

    在linux下常见的压缩文件格式有tar   gzip    zip   bzip2    compress等

    首先对于tar格式的,压缩和解压缩方式例如以下

    .tar 解压  #tar -xvf file1.tar               压缩 #tar -cvf file1.tar 

    .tar.gz 解压  #tar -zxvf file1.tar         压缩 #tar -zcvf file1.tar 

    .tar.bz 解压  #tar -jxvf file1.tar         压缩 #tar -jcvf file1.tar 

    对于gzip格式的,压缩和解压缩方式例如以下

     .gz后缀的  解压  #gzip  -d  file1.gz        压缩 #gzip file1

    对于zip格式的,压缩和解压缩方式例如以下

     .zip后缀的  解压  #uzip    file1.zip       压缩 #zip file.zip file1 file2   file3

    对于bzip2格式的,压缩和解压缩方式例如以下

    .bz2          解压  #bunzip2 file.bz2       压缩 #bzip2 *



    二,环境建立

    首先要把交叉工具设置好(具体见上一篇文章,嵌入式开发环境建立)

    别人提供的(

    uClinux,下载地址:http://www.uclinux.org/pub/uClinux/dist/uClinux-dist-20051110.tar.gz
    交叉编译环境:http://www.uclinux.org/pub/uClinux/uclinux-elf-tools/arm-elf-tools-20030314.sh

    我用的是天祥提供的arm-elf-tools

    把光盘代码中的软件arm-elf-tools-20040427.sh 复制到
    linux 的根文件夹下运行./ arm-elf-tools-20040427.sh 结果出现+43错误

    (有人说#chmod 777 arm-elf-tools-20040427.sh后再运行就不出错不知道没试过

    解决的方法:

    #tail -n+43 arm-elf-tools-20040427.sh >> 1.tar.gz

    #tar -zxvf  1.tar.gz

    运行之后,在控制台中输入 arm-elf-gcc –v

    假设成功安装了就会出现版本比如2.95.3

    查看安装在了那里

    #which arm-elf-gcc 

    检查是否将路径增加PATH的方法:
    echo $PATH

    应该能看到我们的编译工具所在的路径


    然后准备好uclinux内核,我这里用的是2.4

    我是直接放到了home/wenzer/share目录下这个目录是和windows共享的

    所以比較方便

    解压
    #tar xvzf uClinux2.4.tar.gz

    然后等待编译

    三,内核编译

    进到我们刚解压的目录下,须要改动个文件

    #cd uClinux-dist
    #make mrproper

    等待》。。。

    (我的出现了一个错误被忽略了说缺少relase我忽略了这个提示)
    改动文件1

    #vi linux2.4.x/arch/armnommu/vmlinux-armv.lds.in


    在__sto__kallsyms = ,;
    *(.got)后面加上:
    romfs_data = .;
    romfa.o
    romfs_data.end = .;
    然后wq退出
    这一步假设不做,编译的时候会出错(等号两边都必须有空格)。


    (4510须要改动makefile

    #vi vendors/Samsung/4510B/Makefile

    在genromfs -v -V "ROMdisk" -f $(ROMFSIMG) -d $(ROMFSDIR)的下一行增加
    arm-elf-ld -r -o $(ROOTDIR)/$(LINUXDIR)/romfs.o -b binary $(ROMFSIMG)
    然后wq保存退出

    )

    #make menuconfig

    出错了

    >> Unable to find the Ncurses libraries.
    >>
    >> You must have Ncurses installed in order
    >> to use 'make menuconfig'

    解决方法:

    运行命令: sudo apt-get install ncurses-dev 就可以!

    (ncurses 用于make menuconfig界面显示

    继续又一次make试试ok了进入了配置界面

    四,移植

    我把移植分成了四段,前三段配置最后一段生成镜像文件
    第一段:
    选择公司和产品

    退出保存
    中间会问你要不要IIC啊之类的一路回车无论
    等待...
    第二段:
    配置界面出现
    配置系统

    保存退出
    第三段
    配置界面三出现

    应用程序和busybox
    第四段
    生成镜像
     #make dep
     #make lib_only
    这一步会出错须要安装软件
    #apt-get install bison
    又一次#make lib_only

    接下来
     #vi config/.config
    然后将"CONFIG_USER_OLD_PASSWORDS=y"凝视掉"#CONFIG_USER_OLD_PASSWORDS=y"

     #make user_only
     #make romfs
     #make image
    假设这一步提示错误,无论他继续运行下一步
     #make
    这样就会在/image下生成我们想要的文件
    。ram结尾的能够直接在ram中执行
    image.rom是能够自解压的正是我们须要的烧写到flash中


  • 相关阅读:
    caffe2安装教程
    如何将360极速浏览器的网页背景颜色设置为护眼色
    3ds max启动慢怎么办?
    3dContactPointAnnotationTool开发日志(十八)
    3dContactPointAnnotationTool开发日志(十七)
    3dContactPointAnnotationTool开发日志(十六)
    3dContactPointAnnotationTool开发日志(十四)
    3dContactPointAnnotationTool开发日志(十三)
    js上传图片及预览功能
    photoSlider-原生js移动开发轮播图、相册滑动插件
  • 原文地址:https://www.cnblogs.com/blfshiye/p/4083962.html
Copyright © 2011-2022 走看看