Skocz do zawartości
  • Cześć!

    Witaj na forum RootNode - aby pisać u nas musisz się zarejestrować, a następnie zalogować. Posty pisane z kont niezarejestrowanych nie są widoczne publicznie.

Budowanie paczki z kernelem


Przemek Jagielski

Rekomendowane odpowiedzi

Cześć. 

 

Od ostatnich kilku wersji kernela, spotykam się z problemem w trakcie budowania paczki. Cały proces przejdzie bez problemu, nie występują po drodze żadne errory. W momencie, kiedy tworzona jest już paczka bezpośrednio, całość się wykrzacza z takimi błędami:

Undefined subroutine &main::debarch_to_cpuattrs called at /usr/bin/dpkg-architecture line 248.
dpkg-buildpackage: error: dpkg-architecture subprocess returned exit status 255

Ktoś się z tym ostatnio spotkał i wie o co może chodzić? 

Odnośnik do komentarza
Udostępnij na innych stronach

Używasz make-kpkg czy make deb-pkg? Którego branch'a dotyczy problem?

Pogrzebałem w tym perlowym dpkg-buildpackage i widzę jedno:
 

# Proceed to compute the target variables if needed.

$v{DEB_TARGET_ARCH} = $req_target_arch || $req_host_arch || get_raw_host_arch()
    if (action_needs(DEB_TARGET));
($abi, $v{DEB_TARGET_ARCH_OS}, $v{DEB_TARGET_ARCH_CPU}) = debarch_to_debtriplet($v{DEB_TARGET_ARCH})
    if (action_needs(DEB_TARGET | DEB_ARCH_INFO));
($v{DEB_TARGET_ARCH_BITS}, $v{DEB_TARGET_ARCH_ENDIAN}) = debarch_to_cpuattrs($v{DEB_TARGET_ARCH})
    if (action_needs(DEB_TARGET | DEB_ARCH_ATTR));

zatem musisz pokazać w jaki sposób kompilujesz jajko i jakich argumentów przy make używasz no i na jakim konkretnie distro o jakiej architekturze to kompilujesz (bo rozumiem że to nie cross-compile ;) ).

Edytowane przez Spoofy
Odnośnik do komentarza
Udostępnij na innych stronach

Problem solved - nie używamy make-kpkg bo jest to deprecated i to mocno - nie przeczytałeś dokumentacji ;)
 

Użyj make deb-pkg. Wycinek z mojego skryptu, przedstawiający różnice składni oraz notatki do zmiennych ;) :

# make-kpkg - make deb-pkg
# fakeroot - KBUILD_PKG_ROOTCMD
# CONCURRENCY_LEVEL=10 - make -j10
# KPKG_MAINTAINER - DEBFULLNAME
# KPKG_EMAIL - DEBEMAIL
# --append-to-version - EXTRAVERSION
# --revision - KDEB_PKGVERSION
# --initrd - .config > CONFIG_BLK_DEV_INITRD=y
#+ .config, CONFIG_DEBUG_INFO=n - INSTALL_MOD_STRIP=0

	make-kpkg clean && \
	time fakeroot make-kpkg --initrd kernel-image kernel-headers --append-to-version=-main --revision=$current_date

	make clean && \
	time make -j${CONCURRENCY_LEVEL} LOCALVERSION=-main KDEB_PKGVERSION=$current_date KBUILD_PKG_ROOTCMD=fakeroot deb-pkg

 

  • Lubię 1
  • Super! 2
Odnośnik do komentarza
Udostępnij na innych stronach

  • 3 tygodnie później...

Dobra, wracam do tematu bo znalazła się chwila wolna. Serwer ten sam, sposób kompilacji zasugerowany wyżej, skutkuje tym samym, tj: 

make deb-pkg -j 8
make clean
/bin/sh ./scripts/package/mkdebian
  TAR     linux-4.20.0-2.3.2.tar.gz
origversion=$(dpkg-parsechangelog -SVersion |sed 's/-[^-]*$//');\
	mv linux-4.20.0-2.3.2.tar.gz ../linux-4.20.0-2.3.2_${origversion}.orig.tar.gz
dpkg-buildpackage -r"fakeroot -u" -a$(cat debian/arch) -i.git -us -uc
dpkg-buildpackage: warning: using a gain-root-command while being root
dpkg-buildpackage: info: source package linux-4.20.0-2.3.2
dpkg-buildpackage: info: source version 4.20.0-2.3.2-1
dpkg-buildpackage: info: source distribution stretch
dpkg-buildpackage: info: source changed by root <root@node1-pl.jagielski.ovh>
Undefined subroutine &main::debarch_to_cpuattrs called at /usr/bin/dpkg-architecture line 248.
dpkg-buildpackage: error: dpkg-architecture subprocess returned exit status 255
scripts/package/Makefile:71: recipe for target 'deb-pkg' failed
make[1]: *** [deb-pkg] Error 255
Makefile:1397: recipe for target 'deb-pkg' failed
make: *** [deb-pkg] Error 2

Na innym serwerze, też z Debianem, powyższy sposób przechodzi bez zająknięcia. W czym może być jeszcze rzecz? 

Odnośnik do komentarza
Udostępnij na innych stronach

  • 1 rok później...

Jeśli chcesz dodać odpowiedź, zaloguj się lub zarejestruj nowe konto

Jedynie zarejestrowani użytkownicy mogą komentować zawartość tej strony.

Zarejestruj nowe konto

Załóż nowe konto. To bardzo proste!

Zarejestruj się

Zaloguj się

Posiadasz już konto? Zaloguj się poniżej.

Zaloguj się
  • Ostatnio przeglądający   0 użytkowników

    • Brak zarejestrowanych użytkowników przeglądających tę stronę.
×
×
  • Dodaj nową pozycję...

Powiadomienie o plikach cookie

Korzystając z forum, wyrażasz zgodę na: Warunki użytkowania, Regulamin, Polityka prywatności.