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