Puncte:0

Nu se poate compila nucleul Ubuntu pentru AMD64 din sursa GIT

drapel it

Trebuie să testez un LKM folosind mai multe versiuni vechi de kernel pe care trebuie să le iau din GIT.

Bazat pe paginile wiki Ubuntu BuildYourOwnKernel și KernelGitGuide Urmează rețeta de mai jos:

$ git clone git://git.launchpad.net/~ubuntu-kernel/ubuntu/+source/linux/+git/<serie> <serie>
$ cd <serie>
$ git tag -l Ubuntu-*
$ git checkout Ubuntu-v.w.x-y.z
$ LANG=C fakeroot debian/rules clean
$ LANG=C fakeroot debian/rules anteturi binare binar-generic binary-perarch

Aceasta a funcționat cu multe versiuni de kernel pe care le-am testat, inclusiv mai vechi decât Ubuntu-2.6.32-418.35. Cu toate acestea, am lovit următoarea eroare ciudată.

$ dpkg --print-architecture
amd64

$ git clone git://git.launchpad.net/~ubuntu-kernel/ubuntu/+source/linux/+git/maverick maverick

$ cd maverick

$ git tag -l Ubuntu-2.6.32-418.35*
Ubuntu-2.6.32-418.35

$ git checkout Ubuntu-2.6.32-418.35

$ LANG=C fakeroot debian/rules clean

$ LANG=C fakeroot debian/rules anteturi binare binar-generic binary-perarch
...
dpkg-gencontrol: eroare: arhitectura gazdă curentă „amd64” nu apare în lista de arhitecturi a pachetului (armel)

Vedea Buturuga pentru ieșirea completă și informații suplimentare despre sistem.

Am câteva întrebări:

  • Sunt git Ubuntu-v.w.x-y.z etichete limitate la una/unele arcuri specifice? În acest caz, se pare că Ubuntu-2.6.32-418.35 acceptă numai eticheta armel.
  • Dacă da, există vreo modalitate de a ști în prealabil care Ubuntu-v.w.x-y.z suport pentru etichete amd64?
  • Există vreo modalitate de a modifica configurația kernel-ului pentru compilare Ubuntu-2.6.32-418.35 pentru amd64. am încercat să LANG=C fakeroot debian/rules editconfigs dar seamănă cu arm config și în lista de sistem nu există i386/amd64. Nu există un fișier .config în directorul rădăcină, nu sunt sigur care este modalitatea corectă de a face asta atunci când compilați un nucleu folosind debian/rules. Există vreo modalitate de a o schimba pentru configurația x86? Cum?

Mulțumiri

paladin avatar
drapel kr
`dpkg-gencontrol: eroare: arhitectura gazdă curentă 'amd64' nu apare în lista de arhitectură a pachetului (armel)`, ați descărcat codul sursă greșit (aveți nevoie de cod sursă amd64 și nu de cod sursă armel).
David avatar
drapel cn
De asemenea, rețineți că aceste nuclee vechi nu sunt utilizate pe nicio versiune actuală de Ubuntu acceptată și, prin urmare, nu sunt subiecte aici.
drapel it
@David neacceptat.. ce? :) Acesta NU este sistemul de bilete Ubuntu și acesta NU este cu siguranță un raport de eroare. Eu fac (evident) ceva greșit aici și de aceea cer ajutor
drapel it
@paladin descărca codul sursă greșit? Poti te rog sa detaliezi asta?. AFAIK nu există așa ceva ca codul sursă „amd64”. Ce vrei sa spui cu asta? În nucleul Linux, toate arhitecturile sunt în același cod sursă.
paladin avatar
drapel kr
Dragă @Tavo, programarea nucleului de nivel scăzut (adică asamblare) este diferită pentru fiecare arhitectură CPU. Deci, trebuie să utilizați codul sursă corect pentru arhitectura CPU. Vă rugăm să aruncați o privire aici -> https://github.com/torvalds/linux/tree/master/arch
drapel it
@paladin, nu... asta este deja în arborele sursă a nucleului. Nu trebuie să descărcați nimic altceva. Dacă urmați linkul pe care îl folosesc mai sus pentru a clona depozitul, veți găsi directorul arh cu toate arhitecturile. Consultați https://git.launchpad.net/~ubuntu-kernel/ubuntu/+source/linux/+git/maverick/tree/arch .În `x86` este codul atât pentru 32 de biți, cât și pentru 64 de biți. Un nucleu principal preia arcul din .config. Dar când compilați nucleul în modul Ubuntu/Debian, despre cum este vorba în această postare, asta se schimbă

Postează un răspuns

Majoritatea oamenilor nu înțeleg că a pune multe întrebări deblochează învățarea și îmbunătățește legătura interpersonală. În studiile lui Alison, de exemplu, deși oamenii își puteau aminti cu exactitate câte întrebări au fost puse în conversațiile lor, ei nu au intuit legătura dintre întrebări și apreciere. În patru studii, în care participanții au fost implicați în conversații ei înșiși sau au citit transcrieri ale conversațiilor altora, oamenii au avut tendința să nu realizeze că întrebarea ar influența – sau ar fi influențat – nivelul de prietenie dintre conversatori.