Chinaunix首页 | 论坛 | 博客
  • 博客访问: 13682
  • 博文数量: 2
  • 博客积分: 131
  • 博客等级: 入伍新兵
  • 技术积分: 50
  • 用 户 组: 普通用户
  • 注册时间: 2010-11-20 17:44
文章分类
文章存档

2010年(2)

我的朋友

分类: 嵌入式

2010-11-25 17:45:43

官方网址:
 
编译制作:
首先从官网下载buildroot,现最新版本发布日期为2010.8
 
下载后解压
执行make menuconfig
  (因为我是需要制作一个运行在较低配置的x86 PC上的Linux,故没有修改处理器类型,如果需要制作运行在ARM上的嵌入式系统,则需要选择处理器类型,并启用bootloader)
需要选择
  Target filesystem options->Compression method()->gzip
  Kernel->Linux kernel
然后执行make
 
过程中buildroot会自动下载需要的工具,内核,busybox等,但下载速度较慢,可以自行下载后放到dl目录下
 
编译时会出现一个错误,大意为在/arch/x86/config目录下找不到.config_defconfig
解决办法:buildroot/output/build/linux-2.6.34.1/arch/x86/config/i386_defconfig复制成.config_defconfig
 
编译完成后内核和文件系统文件放在output/images目录下
此时可对它们进行测试,测试方法:
将生成的两个文件bzImage,rootfs.ext2.gz拷贝到/boot目录
重启系统,进入grub的时候进入命令模式(按c键),依此输入
    kernel /bzImage
    initrd /rootfs.ext2.gz
    boot
如能进入shell,表示制作成功。
 
首次编译无法进入shell
执行make linux26-menuconfig,然后对内核进行配置,选中以下选项:
    General setup->Initial RAM filesystem and RAM disk(initramfs/initrd)support
    File system->Second extended fs support
    File system->Miscellaneous filesystems->ROM file system support
退出时保存,然后重新make,并将新生成的bzImage复制到/boot目录下,
用该新内核和文件系统文件启动即可
      
制作基于uClibc的程序:
  首先将基于uClibc的编译器的路径添加到PATH中,比如编译器为
/home/buildroot/buildroot-2010.08/output/staging/usr/bin/i686-unknown-linux-uclibc-gcc
则修改/etc/profile,添加下面一行:
export PATH=$PATH:/home/buildroot/buildroot-2010.08/output/staging/usr/bin/
然后执行source /etc/profile
编写一个简单的c程序,如hello world,文件名为hello.c,执行:
    i686-unknown-linux-uclibc-gcc hello.c -o hello
成功后生成一个可执行文件hello,将该文件复制到/home/buildroot/buildroot-2010.08/output/target/bin目录下,在buildroot目录顶层执行make,然后将生成的文件系统复制到/boot目录,重启并使用制作好的内核和文件系统启动,进入shell后执行hello,如果打印出hello world则表示成功
 
文件系统放在output/target目录下,如果需要修改文件系统,则在该目录修改后再在顶层目录下执行make即可。
阅读(4372) | 评论(1) | 转发(2) |
0

上一篇:Buildroot文档1

下一篇:没有了

给主人留下些什么吧!~~

chinaunix网友2011-01-11 22:47:23

不错的工具! 我从文章中提供的网址下载不成功(下载到10%左右就死), 能否email一份给我(mailto:wensheng.yuan@gmail.com), 不胜感激!