假设在amd64上要编译mipsel的文件。具体步骤如下:
1.建立amd64的binutils和gcc包, 这个包是amd64的可执行文件, 生成代码是mipsel的。
只要
echo mipsel >debian/target
然后照常编译deb包,就可以生成了:
dpkg-buildpackage -b -uc -us
当然一些依赖包还是照常要装的:
aptitude build-dep gcc-4.6
最后生成的包的文件名类似于:
dpkg -i ../binutils-mipsel-linux-gnu_xxx_amd64.deb
有了合适的gcc和binutils还要有mipsel的目录结构,库文件等, 可以直接用mipsel的相应的包, 当然不能直接安装。 要转换成all的包 :
dpkg-cross -a mipsel -b *mipsel.deb
对于一些提示" Skipping Multi-Arch package "不能转换的包, 可以带 -M参数试试
最后生成的是类似于这样的
linux-libc-dev-mipsel-cross_2.6.39-13_all.deb
然后安装它, 会被安装到 /usr/mupsel-linux-gnu目录下。 gcc和binutils会直接使用他们。
至于需要转换哪些包, 看你的程序的需要, libc的dev之类的当然是必须的。
调用gcc编译mipsel的命令是:
mipsel-linux-gnu-gcc -static hello.c -o hello
要编译内核, 只要建立环境变量
CROSS_COMPILE=mipsel-linux-
然后直接 make vmlinuz 或者
fakeroot make-kpkg --initrd --append-to-version=-loongson-2f-anheng --revision=`date +%Y%m%d`