[嵌入式linux]

借宝地用 图图(搞了快几个星期了 环境还是没有搭好!哎)

[复制链接]
楼主: itelectron
手机看帖
扫描二维码
随时随地手机跟帖
itelectron|  楼主 | 2009-8-17 13:30 | 显示全部楼层
万事开头 难  LS能 不能 告诉俺  怎么编译 UBOOT
我 编译2009版老是报错!我 直接 把 UBOOT  MAAKE ALL文件 拖到 终端 回车
编译的

使用特权

评论回复
itelectron|  楼主 | 2009-8-17 13:32 | 显示全部楼层
如果 编译通过  我 在 移植到  我 的 2440 开发 板上 。
木 有 办法阿 偶 很菜!有又很急!抢时间 阿!

使用特权

评论回复
一朝成名| | 2009-8-17 13:33 | 显示全部楼层
不难,多源代码安装安装linux软件就会了,一个意思~
思维要转变~

不要学windows下干什么都搭环境,直接用终端、vi搞定一切就行了,另外u-boot在终端下编译就行了~

使用特权

评论回复
一朝成名| | 2009-8-17 13:41 | 显示全部楼层
u-boot下看Makefile
会有一个  **x_config(和你的板子同样ARM芯片、配置,配置和外围不一样就需要你改动的部分)
make **x_config;
make all

使用特权

评论回复
itelectron|  楼主 | 2009-8-17 16:29 | 显示全部楼层

使用特权

评论回复
john_light| | 2009-8-17 17:14 | 显示全部楼层
u-boot的官方网站有完整详细的说明,好好阅读会有帮助。

使用特权

评论回复
itelectron|  楼主 | 2009-8-17 18:42 | 显示全部楼层
那得用 金山词霸

使用特权

评论回复
itelectron|  楼主 | 2009-8-17 19:03 | 显示全部楼层
o.JPG o 做的 空白的 是O还不明白的

使用特权

评论回复
itelectron|  楼主 | 2009-8-17 19:05 | 显示全部楼层
回 20 楼 好象用UBUNTU 自带的 GCC 编译不了 UBOOT吧

使用特权

评论回复
itelectron|  楼主 | 2009-8-17 19:05 | 显示全部楼层
编译总抱错

使用特权

评论回复
itelectron|  楼主 | 2009-8-17 19:33 | 显示全部楼层
版主能 不 能帮 我该 下 标题  改成           借块 宝地 自言语!
郁闷新版竟然  不  能 该 标题 了
借个 地方 当 剪切 板用  呵呵!
export CROSS_COMPILE=arm-linux-
export PATH=/home/zou/eldk/bin:/home/zou/eldk/usr/bin:$PATH

使用特权

评论回复
一朝成名| | 2009-8-17 19:38 | 显示全部楼层
想编译ARM的程序,gcc肯定不行,要装ARM的交叉编译器

使用特权

评论回复
itelectron|  楼主 | 2009-8-17 19:38 | 显示全部楼层
itelectron发表于 2009-8-16 09:24  | 只看该作者 回复 引用 编辑 返回版面 TOP
3楼:
偶的 神阿 !终于装好 了

--------------------------------------------------------------------------------------------------------------------------------------------
早就在u-boot的官方网站DENX上看到ELDK4.1已经发布,仰慕u-boot的大名,就试了装了一个,这是我的安装和使用。

在DENX的网站上可以知道整个eldk4.1可以作为一个iso文件下载,但是它的原站很慢,所以要找个支持http下载的镜像网站,注意了,ftp镜像基本都很难下载的,所以要找http镜像下载。

ELDK的镜像:

http://www.denx.de/wiki/view/DULG/ELDKAvailability

而我是在这里下载的,下载速度大概有70KB/s,用了一个多小时(?):

http://mirror.switch.ch/ftp/mirr ... 07-01-22-uclibc.iso

日期是2007-01-22的,真新鲜啊!下载后,放在 /home/szricky 目录下面就好。

iso文件是下载完毕了,整个解压缩出来么?那就真的很笨了!只要一个mount命令就可以挂载到系统里面了,这一点比Windows强很多啊!  ^__^

在iso文件存放的目录下,使用这个命令:

    sudo mount -o loop arm-2007-01-22-uclibc.iso /mnt

这个命令将iso文件挂载到了/mnt目录下面,以后访问/mnt目录就可以啦!

打开/mnt目录,里面有一个README.html文件,应该好好阅读一下,里面有安装和使用的说明。

在/home/szricky/下面新建一个目录eldk,用这个目录作为eldk的安装目录。

在/home/szricky/eldk/目录下执行以下命令,即可将eldk4.1装到系统里面:

    /mnt/install arm

命令运行会出现一连串的进度条,完毕后,eldk4.1就安装完成了。

最后,配置一下环境变量还是非常有必要的!

编写.bashrc文件,在文件末加入以下几行环境变量(注意了这个文件是隐藏文件,放在$HOME目录下的,而我的$HOME目录就是/home/szricky),

export CROSS_COMPILE=arm-linux-

export PATH=/home/szricky/eldk/bin:/home/szricky/eldk/usr/binPATH

保存文件,重新登录系统。运行交叉编译器测试一下:

    arm-linux-gcc -v

可以看到返回:

    gcc Version 4.0.0 (DENX ELDK 4.1 4.0.0)

说明eldk4.1的交叉编译工具已经基本安装成功了!  以后有机会再测试一下整个开发环境!
------------------------------
       
       

    * 发短消息
    * 加为好友

itelectron 当前在线

帖子
    360
精华
    1
积分
    975
阅读权限
    20
在线时间
    25 小时
注册时间
    2009-6-20
最后登录
    2009-8-17

查看详细资料

帖子: 360

积分: 975

Rank: 2
       
itelectron发表于 2009-8-16 09:26 | 只看该作者 回复 引用 编辑 返回版面 TOP
4楼:
回楼主阿 是 你 转 的 那个 文档 没有 说明 关键点

------------------------------------------------
编写.bashrc文件,在文件末加入以下几行环境变量(注意了这个文件是隐藏文件,放在$HOME目录下的,而我的$HOME目录就是/home/szricky)
---------------------------------------------

搞的  偶在 终端 怎么 也 输入不了。
       
       

    * 发短消息
    * 加为好友

itelectron 当前在线

帖子
    360
精华
    1
积分
    975
阅读权限
    20
在线时间
    25 小时
注册时间
    2009-6-20
最后登录
    2009-8-17

查看详细资料

帖子: 360

积分: 975

Rank: 2
       
itelectron发表于 2009-8-16 09:27 | 只看该作者 回复 引用 编辑 返回版面 TOP
5楼:
装 好 了  哦也!哦也!  下一 步 移植 UBOOT! NEXT。。。。。。。。。。。。。。。

使用特权

评论回复
一朝成名| | 2009-8-17 19:43 | 显示全部楼层
建议lz找本先关书籍或者文档,先全面的看一下,不要这么一直““蒙着头”搞~
对linux下安装程序、编译程序有个初步的认识对linux系统有个大概的了解
你这么搞下去不单单进度很慢,很多东西也是抄来抄去,也不知道为什么
等有个总体的认识了做起来什么也会得心应手了~

使用特权

评论回复
itelectron|  楼主 | 2009-8-17 19:53 | 显示全部楼层
OK 4.2


zou@zou-desktop:~$ arm-linux-gcc -v
Reading specs from /home/zou/usr/elkarm/usr/bin/../lib/gcc/arm-linux-gnueabi/4.2.2/specs
Target: arm-linux-gnueabi
Configured with: /opt/eldk/build/arm-2008-11-24/work/usr/src/denx/BUILD/crosstool-0.43/build/gcc-4.2.2-glibc-20070515T2025-eldk/arm-linux-gnueabi/gcc-4.2.2/configure --target=arm-linux-gnueabi --host=i686-host_pc-linux-gnu --prefix=/var/tmp/eldk.ywMqKk/usr/crosstool/gcc-4.2.2-glibc-20070515T2025-eldk/arm-linux-gnueabi --disable-hosted-libstdcxx --with-headers=/var/tmp/eldk.ywMqKk/usr/crosstool/gcc-4.2.2-glibc-20070515T2025-eldk/arm-linux-gnueabi/arm-linux-gnueabi/include --with-local-prefix=/var/tmp/eldk.ywMqKk/usr/crosstool/gcc-4.2.2-glibc-20070515T2025-eldk/arm-linux-gnueabi/arm-linux-gnueabi --disable-nls --enable-threads=posix --enable-symvers=gnu --enable-__cxa_atexit --enable-languages=c,c++,java --enable-shared --enable-c99 --enable-long-long --without-x
Thread model: posix
gcc version 4.2.2
zou@zou-desktop:~$

使用特权

评论回复
itelectron|  楼主 | 2009-8-17 19:54 | 显示全部楼层
环境 变量
export PATH=$PATH:/home/zou/usr/elkarm/usr/bin

使用特权

评论回复
itelectron|  楼主 | 2009-8-17 22:50 | 显示全部楼层
ELDK 安装 UBOOT编译  收藏

截止2009-06-14目前最新版本是4.2

<1>安装ELDK

1.下载ELDK4.2 iso

2. mount 到 Fedora10 上

3. cd /media/arm-2008-11-24/

4. ./intall -d /opt/eldk4.2/ arm

这样ELDK for ARM 就已经安装了。

<2> 为ELDK 设定环境变量:

vi /etc/profile

添加以下几句:

#add by ruixj for eldk
pathmunge /opt/eldk4.2/bin after
pathmunge /opt/eldk4.2/usr/bin after
CROSS_COMPILE=arm-linux-

重启机器。

<3> 使用ELDK编译U-boot1.3.1(ELDK自带的)

cd /opt/eldk4.2/arm/usr/src/u-boot-1.3.1

make at91rm9200dk_config

make all ARCH=arm

这样就完成了u-boot的编译。

<4> 编译内核

1. 首先下载2.6.29.4的内核源代码

# tar jxvf linux-2.6.29.4.tar.gz2

# cd linux-2.6.29.4

2. 修改Makefile:

ARCH =arm

CROSS_COMPILE =arm-linux-

3. 修改好之后进行编译。

# make mrproper

# make distclean

# make at91rm9200dk_defconfig

# make menuconfig

4. 修改其中Boot Options->Default Kernel Command String:

mem=32M console=ttyS0,115200 initrd=0x20410000,3145728 root=/dev/ram0 rw initrd=/linuxrc

最后#make 则在arch/arm/boot/下生成zImage内核映象文件。

第二种方法

1.进入eldk目录,拷贝配置文件at91rm9200dk_defconfig,改为当前的.config
    cd /opt/eldk4.2/arm/usr/src/linux-2.6.29.4
    cp arch/arm/configs/at91rm9200ek_defconfig ./.config

2.用menuconfig查看选项,并编译:
    make ARCH=arm CROSS_COMPILE=arm-linux- menuconfig
    //查看设定, 退出时候保存!
    make ARCH=arm CROSS_COMPILE=arm-linux-
    //编译!
    make ARCH=arm CROSS_COMPILE=arm-linux- zImage
    //产生内核压缩文件!

    完成后,在arch/arm/boot里面可以找到压缩的内核文件。

3.如果不想每次敲命令都带那么多参数的话,就修改一下eldk目录下的Makefile:
     ARCH ?= $(SUBARCH)
     CROSS_COMPILE ?=
     修改为:
     ARCH = arm
    CROSS_COMPILE = arm-linux-

第3条很重要,如果不改的话,很容易编译不过去的,呵呵,建议使用

参考文档:

使用特权

评论回复
评分
参与人数 1威望 +6 收起 理由
一朝成名 + 6 精神可嘉
itelectron|  楼主 | 2009-8-17 22:52 | 显示全部楼层
cmd_mac.o
a - main.o
a - ACEX1K.o
a - altera.o
a - bedbug.o
a - circbuf.o
a - cmd_autoscript.o
a - cmd_boot.o
a - cmd_bootm.o
a - cmd_console.o
a - cmd_eeprom.o
a - cmd_fdc.o
a - cmd_flash.o
a - cmd_itest.o
a - cmd_load.o
a - cmd_mem.o
a - cmd_mii.o
a - cmd_nand.o
a - cmd_net.o
a - cmd_nvedit.o
a - cmd_onenand.o
a - cmd_pcmcia.o
a - cmd_sata.o
a - cmd_vfd.o
a - command.o
a - console.o
a - cyclon2.o
a - devices.o
a - dlmalloc.o
a - docecc.o
a - environment.o
a - env_common.o
a - env_nand.o
a - env_dataflash.o
a - env_flash.o
a - env_eeprom.o
a - env_onenand.o
a - env_nvram.o
a - env_nowhere.o
a - exports.o
a - fdt_support.o
a - flash.o
a - fpga.o
a - ft_build.o
a - hush.o
a - kgdb.o
a - lcd.o
a - lists.o
a - lynxkdi.o
a - memsize.o
a - miiphybb.o
a - miiphyutil.o
a - s_record.o
a - serial.o
a - soft_i2c.o
a - soft_spi.o
a - spartan2.o
a - spartan3.o
a - usb.o
a - usb_kbd.o
a - usb_storage.o
a - virtex2.o
a - xilinx.o
a - crc16.o
a - xyzModem.o
a - cmd_mac.o
make[1]:正在离开目录 `/home/zou/usr/elkarm/arm/usr/src/u-boot-1.3.1/common'
make -C libfdt/
make[1]: 正在进入目录 `/home/zou/usr/elkarm/arm/usr/src/u-boot-1.3.1/libfdt'
arm-linux-ar crv libfdt.a
make[1]:正在离开目录 `/home/zou/usr/elkarm/arm/usr/src/u-boot-1.3.1/libfdt'
UNDEF_SYM=`arm-linux-objdump -x lib_generic/libgeneric.a board/at91rm9200dk/libat91rm9200dk.a cpu/arm920t/libarm920t.a cpu/arm920t/at91rm9200/libat91rm9200.a lib_arm/libarm.a fs/cramfs/libcramfs.a fs/fat/libfat.a fs/fdos/libfdos.a fs/jffs2/libjffs2.a fs/reiserfs/libreiserfs.a fs/ext2/libext2fs.a net/libnet.a disk/libdisk.a drivers/bios_emulator/libatibiosemu.a drivers/block/libblock.a drivers/hwmon/libhwmon.a drivers/i2c/libi2c.a drivers/input/libinput.a drivers/misc/libmisc.a drivers/mtd/libmtd.a drivers/mtd/nand/libnand.a drivers/mtd/nand_legacy/libnand_legacy.a drivers/mtd/onenand/libonenand.a drivers/net/libnet.a drivers/net/sk98lin/libsk98lin.a drivers/pci/libpci.a drivers/pcmcia/libpcmcia.a drivers/rtc/librtc.a drivers/serial/libserial.a drivers/usb/libusb.a drivers/video/libvideo.a post/libpost.a post/drivers/libpostdrivers.a common/libcommon.a libfdt/libfdt.a |sed  -n -e 's/.*\(__u_boot_cmd_.*\)/-u\1/p'|sort|uniq`;\
                cd /home/zou/usr/elkarm/arm/usr/src/u-boot-1.3.1 && arm-linux-ld -Bstatic -T /home/zou/usr/elkarm/arm/usr/src/u-boot-1.3.1/board/at91rm9200dk/u-boot.lds -Ttext 0x21f00000  $UNDEF_SYM cpu/arm920t/start.o \
                        --start-group lib_generic/libgeneric.a board/at91rm9200dk/libat91rm9200dk.a cpu/arm920t/libarm920t.a cpu/arm920t/at91rm9200/libat91rm9200.a lib_arm/libarm.a fs/cramfs/libcramfs.a fs/fat/libfat.a fs/fdos/libfdos.a fs/jffs2/libjffs2.a fs/reiserfs/libreiserfs.a fs/ext2/libext2fs.a net/libnet.a disk/libdisk.a drivers/bios_emulator/libatibiosemu.a drivers/block/libblock.a drivers/hwmon/libhwmon.a drivers/i2c/libi2c.a drivers/input/libinput.a drivers/misc/libmisc.a drivers/mtd/libmtd.a drivers/mtd/nand/libnand.a drivers/mtd/nand_legacy/libnand_legacy.a drivers/mtd/onenand/libonenand.a drivers/net/libnet.a drivers/net/sk98lin/libsk98lin.a drivers/pci/libpci.a drivers/pcmcia/libpcmcia.a drivers/rtc/librtc.a drivers/serial/libserial.a drivers/usb/libusb.a drivers/video/libvideo.a post/libpost.a post/drivers/libpostdrivers.a common/libcommon.a libfdt/libfdt.a --end-group -L /home/zou/usr/elkarm/usr/bin/../lib/gcc/arm-linux-gnueabi/4.2.2/soft-float -lgcc \
                        -Map u-boot.map -o u-boot
arm-linux-objcopy --gap-fill=0xff -O srec u-boot u-boot.srec
arm-linux-objcopy --gap-fill=0xff -O binary u-boot u-boot.bin
zou@zou-desktop:~/usr/elkarm/arm/usr/src/u-boot-1.3.1$

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则