Reiserfs分区格式化工具的交叉编译

1.  目的和环境

arm7的板子上直接格式化ide硬盘上的分区为Reiserfs分区

编译工具为arm-elf-gcc

开发环境 redhat 9.0

2.  下载源码包 reiserfsprogs- 3.6.20 .tar.gz   官方网站http://namesys.com/

3.  具体过程

l         解压缩 tar zxf reiserfsprogs- 3.6.20 .tar.gz

        cd reiserfsprogs- 3.6.20

l         CC=arm-elf-gcc ./configure --host=arm

l         make 出现错误 prints.c:14: printf.h: ????????? 找不到printf.h

uClibc- 0.9.26 的源代码中复制 printf.h reiserfsprogs- 3.6.20 /libreiserfs

l         make  出现错误reiserfs_warning中未定义的函数

        修改reiserfsprogs- 3.6.20 /libreiserfs/prints.c

void reiserfs_warning (FILE * fp, const char * fmt, ...)

{

    va_list args;

    va_start (args, fmt);

    vfprintf (fp, fmt, args);

    va_end (args);

}

l         继续make   出现一大堆重定义错误

        修改 reiserfsprogs- 3.6.20 /config.h

        注释掉 //#define HAVE_ASM_UNALIGNED_H 1

此时虽然还有错误但reiserfsprogs- 3.6.20 /utils/mkfs中已经产生了可执行文件mkfs.reiserfs,但是是不能用的,还有两个问题一个是链接参数没有加 –elf2flt,还有就是编译参数中有-fPIC –DPIC的定义

        修改 reiserfsprogs- 3.6.20 /configure

大概7754行修改为如下

else

if test "x" = "x$PRESET_CFLAGS"; then

        CFLAGS="-Wall -O2 -elf2flt"

fi

fi

 

#if test x$pic = xyes; then

#      CFLAGS="$CFLAGS -fPIC -DPIC"

#fi

l         重新来过

        make clean

CC=arm-elf-gcc ./configure --host=arm

        修改 reiserfsprogs- 3.6.20 /config.h   //#define HAVE_ASM_UNALIGNED_H 1

        make

l         搞定 reiserfsprogs- 3.6.20 /utils/mkfs/mkfs.reiserfs就是可执行文件了

 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值