хм, спробував на віртуальній машині, щоправда /boot окремим розділом
мінімальний Contos-5.5, ядро 2.6.18-194.11.1
конвертував в ext4 послідовно /(root partition) та /boot .
Після цього обновив обновив ядро і (як і сподівався) система не піднялась. Але це не важко пофіксити.
диски отакі :
[root@ext4 ~]# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/VolGroup00-LogVol00
18G 1.3G 17G 7% /
/dev/sda2 996M 34M 911M 4% /tmp
/dev/sda1 99M 31M 67M 32% /boot
tmpfs 125M 0 125M 0% /dev/shm
Послідовність дій:
конвертуєм /
#uname -r
2.6.18-194.11
# cp /boot/initrd-`uname -r`.img /boot/initrd-`uname -r`.img.old
# vi /etc/fstab
# mkinitrd -v -f --with=ext4 /boot/initrd-`uname -r`.img `uname -r`
# tune4fs -O extents,uninit_bg,dir_index,flex_bg -m 1 /dev/mapper/VolGroup00-LogVol00
# e4fsck /dev/mapper/VolGroup00-LogVol00
# reboot
під час рестарту просить зробити fsck для / - виконуєм:
# fsck -vDC0 /dev/mapper/VolGroup00-LogVol00
Після рестарту система піднялась.
Так само конвертуєм /boot :
# tune4fs -O extents,uninit_bg,dir_index,flex_bg -m 1 /dev/sda1
# e4fsck /dev/sda1
# fsck -vDC0 /dev/sda1
# reboot
Після рестарту система піднімається.
Тепер оновлюєм ядро (yum update kernel), і ребут.
Ядро версії 2.6.18-194.26.1 , система валиться (що й очікувалось) з месиджем
EXT3-fs (sda1): error: couldn't mount because of unsupported optional features (240)
Рестарт, в grub редагуєм опції ядра, додаємо 'rootfstype=ext4' , бутаєм - не допомагає.
Знову меню grub, завантажуємось з попереднім ядром 2.6.18-194.11.1 - система піднялась.
А отже якраз час спробувати перезібрати initrd з опцією '--with=ext4' для нового ядра:
, дивимся що в нас є :
# ll /boot
total 25746
-rw-r--r-- 1 root root 69598 Aug 10 19:38 config-2.6.18-194.11.1.el5
-rw-r--r-- 1 root root 69598 Nov 9 13:23 config-2.6.18-194.26.1.el5
drwxr-xr-x 2 root root 1024 Dec 20 15:55 grub
-rw------- 1 root root 3451357 Dec 20 16:08 initrd-2.6.18-194.11.1.el5.img
-rw------- 1 root root 3412917 Dec 20 16:06 initrd-2.6.18-194.11.1.el5.img.old
-rw------- 1 root root 3451637 Dec 20 17:05 initrd-2.6.18-194.26.1.el5.img
drwx------ 2 root root 12288 Aug 12 03:15 lost+found
-rw-r--r-- 1 root root 80032 Mar 12 2009 message
-rw-r--r-- 1 root root 111264 Aug 10 19:39 symvers-2.6.18-194.11.1.el5.gz
-rw-r--r-- 1 root root 111264 Nov 9 13:24 symvers-2.6.18-194.26.1.el5.gz
-rw-r--r-- 1 root root 970453 Aug 10 19:38 System.map-2.6.18-194.11.1.el5
-rw-r--r-- 1 root root 970587 Nov 9 13:23 System.map-2.6.18-194.26.1.el5
-rw-r--r-- 1 root root 1876180 Aug 10 19:38 vmlinuz-2.6.18-194.11.1.el5
-rw-r--r-- 1 root root 1876564 Nov 9 13:23 vmlinuz-2.6.18-194.26.1.el5
2.6.18-194.26.1.el5, чудово, збираєм:
# cp /boot/initrd-2.6.18-194.26.1.el5.img initrd-2.6.18-194.26.1.el5.img.old
# mkinitrd -f -v --with=ext4 /boot/initrd-2.6.18-194.26.1.el5.img 2.6.18-194.26.1.el5
Все.
Після рестарту на новому ядрі система піднялась, притому що кореневий і boot- розділи були конвертовані в ext4. Достатньо перезібрати initrd з модулем ext4.
Відтепер всі нові файли будуть писатись з екстентами, й іншими ext4 атрибутами. Старі файли залишаються з атрибутами ext3.
Покищо не пробував прогнати e4defrag, мабуть завтра перевірю.
Vova, ви робили такі ж кроки, чи якісь інші ?