今天看到之前自己写的ARM_Linux下光盘刻录方案,有些朋友留言说编译有问题,我把自己一年前做的记录共享一下,以方便更多的朋友参考,欢迎交流。转载请注明。
1. 下载并解压cdrtools-2.01;
2. 进入cdrtools-2.01, make --> make install;
3. 在incs目录下将生成了i686-linux-cc目录,拷贝一个备份 i686-linux-cc_incs;
4. make clean, make distclean删除所有编译生成的文件;
5. 删除所有生成的目标文件,sudo rm -rf /opt/schily/* ;
5. 修改RULES目录下i686-linux-cc.rul文件,将gcc替换成交叉编译工具,我的是/opt/gcc-3.4.1-glibc-2.3.2/arm-linux/bin/arm-linux-gcc;
6. 修改RULES目录下rules.inc文件,注释掉编译命令让其无效,不自动生成incs/i686-linux-cc下的相关文件;
#all: $(PTARGETC) $(PTARGET)
#$(PTARGETC): $(OFILES) $(SRCLIBS)
# $(LDCC) -o $@ $(POFILES) $(LDFLAGS) $(LDLIBS)
#$(PTARGET): $(OINCSDIR) $(PTARGETC)
# @echo " ==> GENERATING include file \"$@\""; $(PTARGETC) > $@
7. 把incs/i686-linux-cc_incs下的所有文件拷贝至incs/i686-linux-cc目录下;
8. make,make install后在/opt/schily下将生成arm平台的目标文件,我机器上有:
/opt/schily/bin:
cdda2wav cdrecord devdump isodebug isodump isoinfo isovfy mkhybrid mkisofs readcd scgcheck skel
/opt/schily/include:
align.h avoffset.h
/opt/schily/lib:
libdeflt.a libedc_ecc.a libfile.a libhfs.a libparanoia.a librscg.a libscg.a libschily.a libunls.a
/opt/schily/man:
man1 man5 man8
/opt/schily/sbin:
rscsi
9. 把/opt/schily/bin,/opt/schily/sbin下的文件拷贝至目标机根文件系统/bin,/sbin中即可。
最后祝你好运,交叉编译成功!