STEP 0 preparation sudo debootstrap sid sid-chroot sudo pbuilder login --no-targz --buildplace sid-chroot sed -i ’s/^deb http/deb [arch=amd64] http/‘ /etc/apt/sources.list echo “deb-src http://ftp.us.debian.org/debian sid main” >> /etc/apt/sources.list dpkg --add-architecture mips64el apt-get update apt-get install binutils-mips64el-linux-gnuabi64 devscripts rdfind symlinks STEP 1 build gcc stage1 apt-get build-dep gcc-4.9 apt-get purge libx32* libc6-i386 libc6-x32 # they conflicts with mips64el multilib packages downgrade all pacakges from gcc-4.9 to 4.9.2-3 aka before with_deps_on_target_arch_pkgs was removed: download them from snapshot.debian.org dget http://snapshot.debian.org/archive/debian/20141126T040641Z/pool/main/g/gcc-4.9/gcc-4.9_4.9.2-3.dsc cd gcc-4.9-4.9.2 patch the source with attached gcc-4.9.debdiff Then run command with_deps_on_target_arch_pkgs=yes DH_VERBOSE=1 WITH_SYSROOT=/ BACKPORT=false PKG_IGNORE_CURRENTLY_BUILDING=1 DEB_BUILD_OPTIONS=nostrip DEB_STAGE=stage1 dpkg-buildpackage --target-arch=mips64el -b -uc -us -d We can get these deb files: cpp-4.9-mips64el-linux-gnuabi64_4.9.2-3_amd64.deb gcc-4.9-multilib-mips64el-linux-gnuabi64_4.9.2-3_amd64.deb libgcc-4.9-dev_4.9.2-3_mips64el.deb gcc-4.9-mips64el-linux-gnuabi64_4.9.2-3_amd64.deb lib32gcc-4.9-dev_4.9.2-3_mips64el.deb libn32gcc-4.9-dev_4.9.2-3_mips64el.deb gcc-4.9-base_4.9.2-3_mips64el.deb rm ../gcc-4.9-multilib*.deb dpkg -i ../*.deb STEP 2 build linux-libc-dev apt-get source linux; cd linux-* make -f debian/rules.gen binary-libc-dev_mips64el dpkg -i ../linux-libc-dev*.deb STEP 3 glibc stage1 apt-get source glibc; cd glibc-* patch the source with attached glibc.debdiff Then run DEB_STAGE=stage1 DEB_GCC_VERSION=-4.9 dpkg-buildpackage -B -amips64el -d dpkg -i ../*.deb STEP 4 gcc stage2 with_deps_on_target_arch_pkgs=yes DH_VERBOSE=1 WITH_SYSROOT=/ BACKPORT=false PKG_IGNORE_CURRENTLY_BUILDING=1 DEB_BUILD_OPTIONS=nostrip DEB_STAGE=stage2 dpkg-buildpackage --target-arch=mips64el -b -uc -us -d on the same source with stage1 gcc. We can get these Debs cpp-4.9-mips64el-linux-gnuabi64_4.9.2-3_amd64.deb lib32gcc-4.9-dev_4.9.2-3_mips64el.deb libgcc1-dbg_4.9.2-3_mips64el.deb libn32gcc1_4.9.2-3_mips64el.deb gcc-4.9-base_4.9.2-3_mips64el.deb lib32gcc1-dbg_4.9.2-3_mips64el.deb libgcc1_4.9.2-3_mips64el.deb gcc-4.9-mips64el-linux-gnuabi64_4.9.2-3_amd64.deb lib32gcc1_4.9.2-3_mips64el.deb libn32gcc-4.9-dev_4.9.2-3_mips64el.deb gcc-4.9-multilib-mips64el-linux-gnuabi64_4.9.2-3_amd64.deb libgcc-4.9-dev_4.9.2-3_mips64el.deb libn32gcc1-dbg_4.9.2-3_mips64el.deb install them rm ../gcc-4.9-multilib*.deb ../*dbg*.deb dpkg -i ../*.deb STEP 5 glibc stage2 DEB_STAGE=stage2 DEB_GCC_VERSION=-4.9 dpkg-buildpackage -B -amips64el -d We can get Debs and install them dpkg -i libc6_2.19-13_mips64el.deb libc6-dev_2.19-13_mips64el.deb libc6-dev-mips*.deb libc6-mips*.deb STEP 6 gcc stage3 with_deps_on_target_arch_pkgs=yes DH_VERBOSE=1 WITH_SYSROOT=/ BACKPORT=false PKG_IGNORE_CURRENTLY_BUILDING=1 DEB_BUILD_OPTIONS=nostrip dpkg-buildpackage --target-arch=mips64el -b -uc -us -d -- YunQiang Su
Attachment:
glibc.debdiff
Description: Binary data
Attachment:
gcc-4.9.debdiff
Description: Binary data