View this PageEdit this PageUploads to this PageVersions of this PageHomeRecent ChangesSearchHelp Guide

Compilar el dgrp (digi realport o etherlite) para Debian 9.x "Stretch" y Debian 11 "Bullseye"

NOTA: Para versiones anteriores, la información está en:
NOTA2: Las instrucciones también funcionan de debian11_i386 haciendo el correspondiente 'sed -i "s/debian9/debian11/g;s/stretch/bullseye/g" nombrefichero"' a las scripts y fichs de configuración que se van haciendo en las instrucciones. También hay que instalar un núcleo diferente ('apt-get install linux-image-5.19.0-0.deb11.2-686-pae-unsigned linux-headers-5.19.0-0.deb11.2-686-pae ; apt-get build-dep linux-image-5.19.0-0.deb11.2-686-pae-unsigned' y en el uname '/bin/uname.real "$@" | sed "s/4.18.0-0.bpo.1-amd64/5.19.0-0.deb11.2-686-pae/g;s/4.18.6-1~bpo9+1/5.19.11-1~bpo11+1/g;s/x86_64/i686/g"'). Cuando te da errores al compilar, hay que aplicar estas correcciones: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14. Para que compile, hay que aplicar este parche: dgrp-5.19-patch-sico.diff. El tar que hay que hacer tiene otro nombre ('tar -cvzf ../../../5.19.0-0.deb11.2-686-pae-dgrp-ko.tgz lib').

En uiharu, como root:
cd /src
debootstrap --arch=i386 stretch debian9_i386
cd debian9_i386/
cat >> go.sh <<'EOF'
#!/bin/bash
if [ "m`whoami`" != "mroot" ] ; then
        sudo $0 "$@"
        exit 0
fi
export PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
for i in mnt home dev dev/pts proc sys srv ; do
        mount --bind /$i /src/debian9_i386/$i 
done
if [ "m$1" == "m" ]; then
        chroot /src/debian9_i386/ /bin/bash -c "su - metro"
else
        curdir=`pwd | sed "s:^/src/src/debian9_i386::g"`
        if [ "m$curdir" == "m`pwd`" ] ; then
                curdir=/home/metro
        fi
        cmd="$1"
        shift
        if [ "m$1" == "m" ] ; then
                chroot /src/debian9_i386 sudo -u metro /bin/sh -c "cd $curdir ; $cmd "
        elif [ "m$2" == "m" ] ; then
                chroot /src/debian9_i386 sudo -u metro /bin/sh -c "cd $curdir ; $cmd \"$1\" "
        elif [ "m$3" == "m" ] ; then
                chroot /src/debian9_i386 sudo -u metro /bin/sh -c "cd $curdir ; $cmd \"$1\" \"$2\" "
        elif [ "m$4" == "m" ] ; then
                chroot /src/debian9_i386 sudo -u metro /bin/sh -c "cd $curdir ; $cmd \"$1\" \"$2\" \"$3\" "
        else
                chroot /src/debian9_i386 sudo -u metro /bin/sh -c "cd $curdir ; $cmd \"$1\" \"$2\" \"$3\" \"$4\" \"$5\" \"$6\" \"$7\" \"$8\" \"$9\""
        fi

fi
for i in mnt home dev/pts dev  proc sys srv ; do
        umount /src/debian9_i386/$i
done
EOF
chmod a+x go.sh
cat >> go.sh.root <<'EOF'
#!/bin/bash
for i in mnt home dev dev/pts proc sys srv ; do
        mount --bind /$i /src/debian9_i386/$i 
done
chroot /src/debian9_i386/ /bin/bash 
for i in mnt home dev/pts dev  proc sys srv ; do
        umount /src/debian9_i386/$i
done
EOF
chmod a+x go.sh.root
./go.sh.root
adduser metro
cat >> /etc/apt/sources.list <<'EOF'
#deb http://deb.debian.org/debian stretch main
#deb-src http://deb.debian.org/debian stretch main

deb http://deb.debian.org/debian/ stretch main contrib non-free
deb-src http://deb.debian.org/debian/ stretch main contrib non-free

deb http://security.debian.org/ stretch/updates main contrib non-free
deb-src http://security.debian.org/ stretch/updates main contrib non-free

deb http://deb.debian.org/debian/ stretch-updates main contrib non-free
deb-src http://deb.debian.org/debian/ stretch-updates main contrib non-free

deb http://deb.debian.org/debian/ stretch-backports main contrib non-free
deb-src http://deb.debian.org/debian/ stretch-backports main contrib non-free

EOF
apt-get update
apt-get install build-essential
apt-get install linux-headers-4.19.0-0.bpo.16-686-pae
apt-get -d install linux-image-4.19.0-0.bpo.16-686-pae
apt-get build-dep linux-image-4.19.0-0.bpo.16-686-pae
apt-get install libncurses5-dev ssh-client libssl-dev
cd /bin
mv uname uname.real
cat > /bin/uname <<'EOF'
#!/bin/bash
/bin/uname.real "$@" | sed "s/4.18.0-0.bpo.1-amd64/4.19.0-0.bpo.16-686-pae/g;s/4.18.6-1~bpo9+1/4.19.181-1~deb9u1/g"
EOF
chmod a+x /bin/uname
cd /usr/src/
mkdir src.etherlite
cd src.etherlite/
scp dario@3.0.1.3:/usr/src/src.etherlite/* .
tar -xvzf RealportDriverForLinux-1.9-40_40002086_AA_debiansourcepkg.tgz
dpkg-source -x dgrp_1.9.40*dsc
# Para debian 11 hace falta también parchear algunos ficheros
tar -xzf dgrp_fixes_debian11_sico.tgz
# Fin de parches de debian11
cd dgrp-1.9.40/
fakeroot debian/rules binary
cd ./debian/dgrp/
tar -cvzf ../../../4.19.0-0.bpo.16-686-pae-dgrp-ko.tgz lib
cd /usr/src
mkdir kernel-update
cd kernel-update
cp ../src.etherlite/4.19.0-0.bpo.16-686-pae-dgrp-ko.tgz .
cp /var/cache/apt/archives/linux-image-4.19.0-0.bpo.16-686-pae* .


Para instalarlo, en la máquina de destino, como root:
cd
mkdir kernel-update
cd kernel-update
scp dario@3.0.1.3:/src/debian9_i386//usr/src/kernel-update/* .
cat 4.19.0-0.bpo.16-686-pae-dgrp-ko.tgz | (cd / && tar -xvzf - )
dpkg -i *deb


NOTA: Para actualizar las X con unas que van bien con dicho nuevo núcleo, he hecho un backport de las X de Debian 10 a Debian 9, y están en ese mismo sitio de uiharu:
 uiharu:/src/debian9_i386/usr/src/xorg-update

Para instalar esas nuevas X, en la máquina de destino, como root:
cd
mkdir xorg-update
cd xorg-update
scp dario@3.0.1.3:/src/debian9_i386//usr/src/xorg-update/* .
bash install.sh


Y si se quiere usar el ratpoison/vnc4server/libsdl2/redir, los paquetes para la debian9 del maestro del TCE son estos: ratpoison debian9 i386.tgz vnc4server debian9 i386.tgz libsdl2 debian9 i386.tgz redir (el redir es sólo el ejecutable, no el paquete)

Además, para que funcione SDL2, hay que hacer (como root):
 adduser metro video


Instalar en debian11_i386


cd /tmp/
scp -r dario@3.0.1.3:/src/debian11_i386/usr/src/kernel-update .
cd kernel-update/
cat 5.19.0-0.deb11.2-686-pae-dgrp-ko.tgz | (cd / && tar -xvzf - )
rm /boot/*3.16*
rm /boot/*4.19*
dpkg -i *deb
depmod -a
cd /var/cache/apt/archives
wget http://deb.debian.org/debian/pool/main/r/redir/redir_3.3-1_i386.deb
apt-get install redir
reboot
lsmod | grep dgrp
cat /proc/dgrp/config 
shutdown -h now



Attachs

ratpoison debian9 i386.tgz
vnc4server debian9 i386.tgz
libsdl2 debian9 i386.tgz
redir
dgrp-5.19-patch-sico.diff

Link to this Page