Friday 24 December 2010

2.6.37-rc7-sched - (засега) краят

Махам EasyTag и системата казва - 3 пакета за ъпгрейд. Добре тогава, хайде:
drago@ubuntu:~$ sudo aptitude update
Get:1 http://security.ubuntu.com lucid-security Release.gpg [198B]
...
Fetched 1,066kB in 8s (121kB/s)
Reading package lists... Done

Current status: 3 updates [+3].
drago@ubuntu:~$ sudo aptitude safe-upgrade
Reading package lists... Done
Building dependency tree
Reading state information... Done
Reading extended state information
Initializing package states... Done
The following packages will be upgraded:
libgudev-1.0-0 libudev0 udev
3 packages upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
Need to get 637kB of archives. After unpacking 0B will be used.
Do you want to continue? [Y/n/?]
Writing extended state information... Done
Get:1 http://us.archive.ubuntu.com/ubuntu/ lucid-updates/main libudev0 151-12.3 [119kB]
Get:2 http://us.archive.ubuntu.com/ubuntu/ lucid-updates/main udev 151-12.3 [410kB]
Get:3 http://us.archive.ubuntu.com/ubuntu/ lucid-updates/main libgudev-1.0-0 1:151-12.3 [108kB]
Fetched 637kB in 5s (126kB/s)
(Reading database ... 175210 files and directories currently installed.)
Preparing to replace libudev0 151-12.2 (using .../libudev0_151-12.3_i386.deb) ...
Unpacking replacement libudev0 ...
Preparing to replace udev 151-12.2 (using .../udev_151-12.3_i386.deb) ...
Adding `local diversion of /sbin/udevadm to /sbin/udevadm.upgrade'
Unpacking replacement udev ...
Preparing to replace libgudev-1.0-0 1:151-12.2 (using .../libgudev-1.0-0_1%3a151-12.3_i386.deb) ...
Unpacking replacement libgudev-1.0-0 ...
Processing triggers for ureadahead ...
ureadahead will be reprofiled on next reboot
Processing triggers for man-db ...
Setting up libudev0 (151-12.3) ...

Setting up udev (151-12.3) ...
udev start/running, process 8824
Removing `local diversion of /sbin/udevadm to /sbin/udevadm.upgrade'
update-initramfs: deferring update (trigger activated)

Setting up libgudev-1.0-0 (1:151-12.3) ...

Processing triggers for libc-bin ...
ldconfig deferred processing now taking place
Processing triggers for initramfs-tools ...
update-initramfs: Generating /boot/initrd.img-2.6.32-27-generic
Reading package lists... Done
Building dependency tree
Reading state information... Done
Reading extended state information
Initializing package states... Done

Current status: 0 updates [-3].


Всичко това много прекрасно, но гледам нещо интересно:

update-initramfs: Generating /boot/initrd.img-2.6.32-27-generic

И така в играта влиза update-initramfs, но защо генерира образ само за последното ядро е странно. Преглеждам списъка с ядра, и най-накрая решавам да почистя висящите "за поколенията" конфигурации на 2.6.32-[22-25] (самите ядра отдавна са махнати):

drago@ubuntu:~$ sudo aptitude purge linux-image-2.6.32-25-generic linux-image-2.6.32-24-generic linux-image-2.6.32-23-generic linux-image-2.6.32-22-generic
Reading package lists... Done
Building dependency tree
Reading state information... Done
Reading extended state information
Initializing package states... Done
The following packages will be REMOVED:
linux-image-2.6.32-22-generic{p} linux-image-2.6.32-23-generic{p} linux-image-2.6.32-24-generic{p}
linux-image-2.6.32-25-generic{p}
0 packages upgraded, 0 newly installed, 4 to remove and 0 not upgraded.
Need to get 0B of archives. After unpacking 0B will be used.
Do you want to continue? [Y/n/?]
Writing extended state information... Done
(Reading database ... 183831 files and directories currently installed.)
Removing linux-image-2.6.32-22-generic ...
Purging configuration files for linux-image-2.6.32-22-generic ...
Running postrm hook script /usr/sbin/update-grub.
Generating grub.cfg ...
Found linux image: /boot/vmlinuz-2.6.37-rc7-sched
Found initrd image: /boot/initrd.img-2.6.37-rc7-sched
Found linux image: /boot/vmlinuz-2.6.32-27-generic
Found initrd image: /boot/initrd.img-2.6.32-27-generic
Found linux image: /boot/vmlinuz-2.6.32-26-generic
Found initrd image: /boot/initrd.img-2.6.32-26-generic
Found memtest86+ image: /boot/memtest86+.bin
done

Парчето GRUB се повтаря 4 пъти съответно броя на махнатите ядра. Дотук всичко изглежда прекрасно, всичко което трябва да се случи за 2.6.37-rc7-sched се случва и ето и последния тест:
# shutdown -r now

Не мръдвам и пръст и машината стартира. Епопеята приключи до следващия път с нова компилация на ядро. Вероятно ще зарежа 2.6.37 и неговата стабилизация, така и така няма да има бог знае каква разлика с rc7 и ще чакам излизането на 2.6.38. Там вече "магическия" 200 реда пач ще е включен по подразбиране, ако Линус и компания не решат друго. За мен обаче остава момента на оптимизиране на ядрото, конфигурацията която ползвам е твърде далеч от оптималната за моя частен случай, но пък е преносима на всяка i386 машина под Убунту. Не че това е утешение... Страдам и от бъгове на apparmor 680485 и 670318. За тях обаче не може да се направи много. Както казва John Johansen:

"The upstream kernel does not have the compatibility patches, and never will. So mainline kernels will report this problem, and Ubuntu kernels that have not the patches forward ported yet will report this temporarily."

Освен да докопам пачове и да си пачвам сам ядрото преди компилация на пионерски начала. Интересно дали старите връзки ще свършат работа в случая?

No comments: