Skocz do zawartości
Przemek Jagielski

Budowanie paczki z kernelem

Polecane posty

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ć? 

Udostępnij ten post


Link to postu
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 ;) ).

Edytowano przez Spoofy

Udostępnij ten post


Link to postu
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

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

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? 

Udostępnij ten post


Link to postu
Udostępnij na innych stronach
Napisano (edytowany)

a na pewno masz wszystkie potrzebne paczki?

Edytowano przez Spoofy

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

 

Undefined subroutine &main::debarch_to_cpuattrs called at /usr/bin/dpkg-architecture line 248.

To występuje po wpisaniu. Paczki wszystkie na bank zainstalowane. 

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Nic nie dało. Ciągle ten sam błąd. Problem pojawia się tylko na tym konkretnym serwerze. Na każdym innym, gdzie patrzyłem (różnice jedynie w sprzęcie), problem nie występuje. 

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Dokładnie ta sama wersja OS'a, paczek pomiędzy tymi maszynami? O jakiej różnicy w sprzęcie mówisz?

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Procesor, ilość/producent ramu, płyta główna, dyski. Architektura ta sama (x64). Ta sama wersja OSa, te same paczki poinstalowane. 

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Dołącz do rozmowy

Możesz pisać i zarejestrować się później. Jeśli masz konto,Zaloguj się teraz, aby publikować na swoim koncie.

Gość
Odpowiedz...

×   Wklejony jako tekst z formatowaniem.   Wklej jako zwykły tekst

  Dozwolonych jest tylko 75 emoji.

×   Twój link będzie automatycznie osadzony.   Wyświetlać jako link

×   Twoja poprzednia zawartość została przywrócona.   Wyczyść edytor

×   Nie możesz wkleić zdjęć bezpośrednio. Prześlij lub wstaw obrazy z adresu URL.


  • Kto przegląda   0 użytkowników

    Brak zalogowanych użytkowników przeglądających tę stronę.

×
×
  • Utwórz nowe...

Ważne informacje

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