mips交叉编译fluffos过程总结
2021/4/7 11:44:52

1.先装好交叉编译的环境,例如mips,安装好mipsel-linux-gnu-g++的工具链
sudo apt-get install gcc-mipsel-linux-gnu
sudo apt-get install g++-mipsel-linux-gnu
下载必要库的源码--没错是源码
libevent prce libz openssl
./configure --host=mipsel-linux-gnu 
make
make install
这样环境就完成了。
sudo dpkg-reconfigure dash 选no 关闭dash这步非常重要。
会导致bash运行出错。
 
2.先用原来环境编译一次
./builf.FluffOS
make
获得并备份以下5个文件:
vm/internal/compiler/grammar.autogen.y
vm/internal/applies_table.autogen.cc
vm/internal/applies_table.autogen.h
vm/internal/efuns.autogen.cc
vm/internal/efuns.autogen.h
make clean命令清除
把以上的5个备份文件复杂回原来的目录里面。
 
3.修改configure.h
删除
#define malloc rpl_malloc
#define realloc rpl_realloc
两行
 
4.修改makefile文件
CXX=g++ 改为CAA=g++
增加一项,内容为CXX=mipsel-linux-gnu-g++ 你需要的编译器
 
复制CXXFLAGS=的所有内容
增加一项,CAAFLAGS=内容为以上复杂的内容,修改其中-march=的内容,该为你需要的cpu型号,例如-march=mips32r2
 
把USE_JEMALLOC=1 改为USE_JEMALLOC=0
把@echo '#define USE_JEMALLOC 1' >> cc.h 改为@echo '#define USE_JEMALLOC 0' >> cc.h
 
找到并删除以下3句
@./tools/build_applies.autogen
@./tools/make_func.autogen packages/packages.autogen.fullspec
@./tools/make_grammar.sh $(CXX) $(CXXFLAGS)
 
找到
$(CXX) $(CXXFLAGS) -x c++ dtrace_compile.cc -o dtrace_compile
修改为
$(CAA) $(CAAFLAGS) -x c++ dtrace_compile.cc -o dtrace_compile
 
5.修改dtrace_compile.cc
找到64,修改为32
 
6.make 恭喜你完成了交叉编译
 
                                      --by mok 
                                        2017.8.11
 
 
使用前授权 chmod -v +x ./driver
另外自行安装必要的裤头
libpcre.so.1
libc.so.6                        libstdc++.so.6
libc6_2.19-18+deb8u10_mipsel.deb  libstdc++6_7.1.0-13_mipsel.deb
libevent-2.1.so.6
 
9月7日版本交叉编译问题
#@ASAN_OPTIONS="detect_leaks=0" ./tools/make_func.autogen packages/packages.autogen.fullspec
把这句注释掉就ok
                                        2017.9.18

返回列表
返回首页
©2022 MUD游戏网_文字mud 电脑版
Powered by iwms