[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#920868: #920868 : please add (some) support to cross-compile debian-installer



Hi again,

The proposed patch is not arch-specific. 

I tested only for alpha so far - with a 
python 3 script 'netabootwrap.py' (attached) 
to assemble the netboot image : the build 
dependency 'aboot' for alpha is not usable
on amd64. The build dependency check needs to
be switched off altogether to proceed.
The build finished succesfully.

I hope it will help !

Regards,
JH Chatenet

Here are the details :

1/ Make a sid chroot (as in #919596) but there is no
need for a toolchain.

debootstrap --variant=buildd sid mychroot
export LANG=C
mount -t proc proc mychroot/proc
chroot mychroot
mount -t sysfs sysfs sys
mount -t devpts devpts dev/pts -o gid=5,mode=620

2/ Install build-dependencies (amd64 part)

sed -i "s/^deb /&[ arch=$(dpkg --print-architecture) ] /" etc/apt/sources.list
apt-get update && apt-get upgrade
apt-get install fakeroot
apt-get install debian-ports-archive-keyring
apt-get install python3

cat > /etc/apt/sources.list.d/sources.list <<EOF
deb-src http://deb.debian.org/debian unstable main
EOF
chmod ugo+r /etc/apt/sources.list.d/sources.list
apt-get update
apt-get build-dep debian-installer

3/ Install build-dependencies (alpha part)

cat > /etc/apt/sources.list.d/alpha.list <<EOF
deb [ arch=alpha ] http://deb.debian.org/debian-ports unstable main
deb [ arch=alpha ] http://deb.debian.org/debian-ports unreleased main
EOF
chmod ugo+r /etc/apt/sources.list.d/alpha.list
dpkg --add-architecture alpha
apt-get update
apt-get --no-install-recommends install \
 gcc-8-base:alpha \
 libc6.1:alpha \
 libfribidi0:alpha \
 libgcc1:alpha \
 libkmod2:alpha \
 liblzma5:alpha \
 libnewt0.52:alpha \
 libslang2:alpha

4/ Get the source and patch it (the patch is named 'patch.patch' below)

adduser me
su - me
apt-get source debian-installer
(cd debian-installer-20190118 && patch -p1 < ../patch.patch)

5/ Inhibit build-dependency check and install a netabootwrap 
substitute (netabootwrap.py.gz is attached) :

echo "NO_CHECK_BUILD_DEPS=1" >> debian-installer-20190118/build/config/local

gunzip netabootwrap.py.gz && \
mv netabootwrap.py debian-installer-20190118/build/util/netabootwrap
chmod ugo+rx debian-installer-20190118/build/util/netabootwrap

At the time of writing, the kernel abi number should be increased (alpha-specific) :

echo "LINUX_KERNEL_ABI = 4.19.0-2" >> debian-installer-20190118/build/config/local

6/ Build it :

cd debian-installer-20190118
dpkg-buildpackage -a alpha -d -uc -us

Attachment: netabootwrap.py.gz
Description: application/gzip


Reply to: