`
naiquan_hu
  • 浏览: 65771 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

一些ARM Linux开发琐事集锦

阅读更多
首先是Source Navigator的安装,我想在本本上也来个Linux,安装Source Navigator的时候就遇到了问题。安装说明里如是说,解压之后:
 
    mkdir snbuild
    cd snbuild
    ../sourcenav-5.20/configure --prefix=/opt/sourcenav
    make
    (become root)
    make install

我在错误的地方(解压之后的文件夹里)建立了snbuild,网上搜了下还有不少人和我犯同样错误,这个会导致说某个文件No rule to make的错误。
写个提示符带目录名的:

    /home/lxz # tar xvzf sourcenav-5.2b2 -C ./
    /home/lxz # mkdir snbuild
    /home/lxz # cd snbuild
    /home/lxz/snbuild # ../sourcenav-5.2b2/configure --prefix=/opt/sourcenav
    /home/lxz/snbuild # make
    (become root)
    /home/lxz/snbuild # make install

还有个错误,说什么“OSF*)”处Unexpected token )之类的,这个好像是Linux各种包安装的问题,另外路径错误好像也会有这个提示,我把Suse 10.1全部安装之后就没有这个问题了。
 
第二个,U-Boot网络下载内核、文件系统使用NFS,Windows下可以安装Omni NFS 5.2。这个软件的共享版支持2个用户连接,用来下载内核是足够了。另外使用Omni NFS的时候请把Windows防火墙禁用。
 
第三,之前我遇到的无法加载根文件系统或者说Busybox无法运行的问题已经找到原因了,有这几个方面共同作用:
1.S3C2410 NAND读写的ECC问题,必须取消ECC,或者使用Bootloader将NAND中的文件系统拷贝到RAM中做ramdisk
2.Busybox工作需要/lib下的共享库文件
3.Busybox静态库(即不使用/lib下的库文件)编译方式有问题
4.根文件系统中必须有“/dev”和“/mnt”,否则无法挂载console
目 前我使用我的开发板自带的库文件,以及编译后的Busybox 1.00,成功加载root文件系统(cramfs格式,ramdisk)。解释下,ramdisk、bon、mtdblock是一个类别的东 西,cramfs、jffs、yaffs、ext2是一个类别的东西,例如你可以在bon上用cramfs,也可以在ramdisk里用cramfs。
 
第四,mtdblock和bon的关系,目前我的理解是他们都是一种分区方式,当然需要相应的驱动,在vivi中用bon命令可以对NAND进 行分区,如bon part add 0 192k 2m,bon命令分区过的NAND需要重新烧写vivi,而mtdblock分区的改变则不用。另外,bon和mtdblock信息是可以同时存在的。
 
第五,U-Boot的NAND WRITE命令在烧写NAND时不会自动擦除NAND Sector(vivi 会自动擦除的),需要手动进行,否则写入数据就不对了。
 
第六,ARM交叉编译器必须解压缩到/usr/local/arm,否则会提示编译器安装错误。
 
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics