[Gelöst] Bekomme keinen armel kernel gebacken

Du suchst ein Programm für einen bestimmten Zweck?
Antworten
nightcore500
Beiträge: 26
Registriert: 07.02.2013 00:48:19

[Gelöst] Bekomme keinen armel kernel gebacken

Beitrag von nightcore500 » 04.04.2013 15:45:10

Hi,
Ich versuche derzeitig die kernel headers eines armel kernels als .deb zu backen. Ich besitze ein odys loox auf diesem ich debian wheezy installiert habe in einer chroot umgebung. Den kernel habe ich auf meinem rechner mit dem android-ndk-r8d crosscompiler (arm-linux-androideabi-4.4.3) kompiliert und aufs gerät wie gewohnt geflasht. Nun versuche ich die kernel headers als .deb zu backen da mir diese derzeitig fehlen um die treiber eines ethernet adapters zu kompilieren. Ich versuchte den kernel nochmals auf dem gerät selbst zu kompilieren um die kernel headers automatisch mit zu installieren. Da sich der kernel jedoch aus unbekannten gründen nicht kompilieren lässt versuche ich derzeitig auf meinem rechner das ganze anzufertigen um die headers dann einfach per deb packet zu installieren.

Leider will auch das nicht so richtig. Ich habe es zumindest schon einmal geschaft ein packet zu backen:

Code: Alles auswählen

 make-kpkg --rootcmd fakeroot --arch arm --cross-compile /toolchain/android-ndk-r8d/toolchains/arm-linux-androideabi-4.4.3/prebuilt/linux-x86/bin/arm-linux-androideabi- kernel_headers
Das installieren schlug jedoch fehl:

Code: Alles auswählen

dpkg -i linux-headers-3.0.8+_3.0.8+-10.00.Custom_arm.deb
dpkg: error processing linux-headers-3.0.8+_3.0.8+-10.00.Custom_arm.deb (--install):
 package architecture (arm) does not match system (armel)
Errors were encountered while processing:
 linux-headers-3.0.8+_3.0.8+-10.00.Custom_arm.deb
Ich versuchte es also erneut mit:

Code: Alles auswählen

 make-kpkg --rootcmd fakeroot --arch armel --cross-compile /toolchain/android-ndk-r8d/toolchains/arm-linux-androideabi-4.4.3/prebuilt/linux-x86/bin/arm-linux-androideabi- kernel_headers
Der compiler spuckte mir dann folgendes aus:

Code: Alles auswählen

root@DEBIAN-VM:/media/3ed1b728-441d-4800-b8b3-8872ee2235be/bootloader/rk29_kerl_308# make-kpkg --rootcmd fakeroot --arch armel --cross-compile /toolchain/android-ndk-r8d/toolchains/arm-linux-androideabi-4.4.3/prebuilt/linux-x86/bin/arm-linux-androideabi- kernel_headers
exec make kpkg_version=12.036+nmu3 -f /usr/share/kernel-package/ruleset/minimal.mk debian KPKG_ARCH=armel   CROSS_COMPILE=/toolchain/android-ndk-r8d/toolchains/arm-linux-androideabi-4.4.3/prebuilt/linux-x86/bin/arm-linux-androideabi-  ROOT_CMD=fakeroot
dpkg-architecture: Warnung: angegebener GNU-Systemtyp arm-linux-gnueabi passt nicht zu gcc-Systemtyp i486-linux-gnu, versuchen Sie, eine korrekte CC-Umgebungsvariable zu setzen
dpkg-architecture: Warnung: angegebener GNU-Systemtyp arm-linux-gnueabi passt nicht zu gcc-Systemtyp i486-linux-gnu, versuchen Sie, eine korrekte CC-Umgebungsvariable zu setzen
dpkg-architecture: Warnung: angegebener GNU-Systemtyp arm-linux-gnueabi passt nicht zu gcc-Systemtyp i486-linux-gnu, versuchen Sie, eine korrekte CC-Umgebungsvariable zu setzen
====== making target debian/stamp/conf/minimal_debian [new prereqs: ]======
This is kernel package version 12.036+nmu3.
test -d debian             || mkdir debian
test ! -e stamp-building || rm -f stamp-building
install -p -m 755 /usr/share/kernel-package/rules debian/rules
for file in ChangeLog  Control  Control.bin86 config templates.in rules; do                                      \
            cp -f  /usr/share/kernel-package/$file ./debian/;                               \
        done
for dir  in Config docs examples ruleset scripts pkg po;  do                                      \
          cp -af /usr/share/kernel-package/$dir  ./debian/;                                 \
        done
test -f debian/control || sed         -e 's/=V/../g'  \
                -e 's/=D/3.0.8+-10.00.Custom/g'         -e 's/=A/armel/g'  \
                -e 's/=SA//g'  \
                -e 's/=I//g'                                \
                -e 's/=CV/./g'                      \
                -e 's/=M/Unknown Kernel Package Maintainer <unknown@unconfigured.in.etc.kernel-pkg.conf>/g'                         \
                -e 's/=ST/linux/g'      -e 's/=B/armel/g'    \
                  /usr/share/kernel-package/Control > debian/control
test -f debian/changelog ||  sed -e 's/=V/../g'       \
            -e 's/=D/3.0.8+-10.00.Custom/g'        -e 's/=A/armel/g'       \
            -e 's/=ST/linux/g'     -e 's/=B/armel/g'         \
            -e 's/=M/Unknown Kernel Package Maintainer <unknown@unconfigured.in.etc.kernel-pkg.conf>/g'                            \
             /usr/share/kernel-package/changelog > debian/changelog
chmod 0644 debian/control debian/changelog
test -d ./debian/stamp || mkdir debian/stamp
make -f debian/rules debian/stamp/conf/kernel-conf
dpkg-architecture: Warnung: angegebener GNU-Systemtyp arm-linux-gnueabi passt nicht zu gcc-Systemtyp i486-linux-gnu, versuchen Sie, eine korrekte CC-Umgebungsvariable zu setzen
dpkg-architecture: Warnung: angegebener GNU-Systemtyp arm-linux-gnueabi passt nicht zu gcc-Systemtyp i486-linux-gnu, versuchen Sie, eine korrekte CC-Umgebungsvariable zu setzen
dpkg-architecture: Warnung: angegebener GNU-Systemtyp arm-linux-gnueabi passt nicht zu gcc-Systemtyp i486-linux-gnu, versuchen Sie, eine korrekte CC-Umgebungsvariable zu setzen
make[1]: Entering directory `/media/3ed1b728-441d-4800-b8b3-8872ee2235be/bootloader/rk29_kernel_308'
debian/ruleset/misc/checks.mk:36: *** Error. I do not know where the kernel image goes to [kimagedest undefined] The usual case for this is that I could not determine which arch or subarch this machine belongs to. Please specify a subarch, and try again..  Schluss.
make[1]: Leaving directory `/media/3ed1b728-441d-4800-b8b3-8872ee2235be/bootloader/rk29_kernel_308'
make: *** [debian/stamp/conf/minimal_debian] Fehler 2
Failed to create a ./debian directory:  at /usr/bin/make-kpkg line 984.
Was mache ich hier genau falsch?
mfg
Zuletzt geändert von nightcore500 am 04.04.2013 16:37:47, insgesamt 1-mal geändert.

syssi
Beiträge: 2951
Registriert: 24.12.2010 16:50:59
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: Rheinland

Re: Bekomme keinen armel kernel gebacken

Beitrag von syssi » 04.04.2013 16:03:34

Die Ziel-Architektur ist "armel" und nicht "arm", siehe:

Code: Alles auswählen

dpkg -i linux-headers-3.0.8+_3.0.8+-10.00.Custom_arm.deb
dpkg: error processing linux-headers-3.0.8+_3.0.8+-10.00.Custom_arm.deb (--install):
 package architecture (arm) does not match system (armel)
Errors were encountered while processing:
 linux-headers-3.0.8+_3.0.8+-10.00.Custom_arm.deb
Du solltest den Kernel deshalb fuer die Architektur armel bauen:

Code: Alles auswählen

make-kpkg --rootcmd fakeroot --arch armel --cross-compile /toolchain/android-ndk-r8d/toolchains/arm-linux-androideabi-4.4.3/prebuilt/linux-x86/bin/arm-linux-androideabi- kernel_headers
Gruss syssi

nightcore500
Beiträge: 26
Registriert: 07.02.2013 00:48:19

Re: Bekomme keinen armel kernel gebacken

Beitrag von nightcore500 » 04.04.2013 16:20:52

Das versuchte ich ja jedoch spuckt er mir dann den bereits oben genannten fehler aus.
mfg

nightcore500
Beiträge: 26
Registriert: 07.02.2013 00:48:19

Re: Bekomme keinen armel kernel gebacken

Beitrag von nightcore500 » 04.04.2013 16:37:23

Ich konnte das problem soeben selbst lösen. Ich habe herausgefunden das armel jetzt "subarch" von arm ist. Somit konnte ich nun letzendlich den kernel per:

Code: Alles auswählen

make-kpkg --rootcmd fakeroot --arch arm --subarch=armel --cross-compile /toolchain/android-ndk-r8d/toolchains/arm-linux-androideabi-4.4.3/prebuilt/linux-x86/bin/arm-linux-androideabi- kernel_headers
ohne probleme Kompilieren. :THX:

syssi
Beiträge: 2951
Registriert: 24.12.2010 16:50:59
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: Rheinland

Re: [Gelöst] Bekomme keinen armel kernel gebacken

Beitrag von syssi » 04.04.2013 16:38:28

Ich glaube "armel" ist eine Subarch:

Code: Alles auswählen

$ make-kpkg --rootcmd fakeroot --arch=arm --subarch=armel <...>

Antworten