Walnięty kernel na FTP [tracking HOWTO].

Paweł Sikora pluto w agmk.net
Pią, 10 Wrz 2010, 17:53:37 CEST


witam,

poniewaz sprawa wydaje sie utknela w miejscu, to podam sposob na wytropienie
regresji w repo kernela i mam nadzieje, ze zainteresowani poswieca swoj czas :)
a wiec...

szukamy sobie miejsca na dysku (~1GB zajmie pelny build + repo) i klonujemy repo...

$ git clone git://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-2.6.34.y.git 
Cloning into linux-2.6.34.y...

$ cd linux-2.6.34.y 
$ git bisect start
$ git bisect good v2.6.34.3
$ git bisect bad v2.6.34.4 
Bisecting: 28 revisions left to test after this (roughly 5 steps)
[ca928dcb3281838f1a52c0cfedbc59a1c1b840ad] ARM: 6299/1: errata: TLBIASIDIS and TLBIMVAIS operations can broadcast a faulty ASID

teraz musimy sobie zaladowac modul kernela 'configs' i kliknac
$ zcat /proc/config.gz > .config
$ make -j4 all bzImage <enter, enter...>

jak sie juz zbuduje, to z root rzucamy sie do /boot i do menu gruba dopisujemy sekcje...

title pld-git
root (hd0,0)
kernel /boot/vmlinuz-git root=/dev/sda1 ramdisk_size=11264
initrd /boot/initrd-git

oczywiscie pamietajac o namiarach na partycje ;)

nastepnie robimy...
$ make modules_install -C /home/users/foo/src/linux-2.6.34.y

i odpalamy skrypcik...

$ cat regen-git-initrd.sh 
#!/bin/sh

cd /lib/modules
R="$(echo *-git*)"
cd /boot
rm -f initrd*git* vmlinuz*git*
cp -f /home/users/foo/src/linux-2.6.34.y/kernel/arch/x86/boot/bzImage vmlinuz-${R}
ln -sf vmlinuz-${R} vmlinuz-git
geninitrd -f -v /boot/initrd-${R}.gz ${R}
ln -sf initrd-${R}.gz initrd-git

i reboot...
po urchomieniu testujemy kernel, wlazimy do katalogu ze zrodlami kernela i stukamy...

$ git bisect good/bad

nastepnie powrot do punktu make/install i tak do momentu gdy bisect wskaze winnego.


Więcej informacji o liście dyskusyjnej pld-devel-pl