Привет, я запускаю gentoo и делаю uname -a дает неверную версию ядра.

tony@P_P-o ~ $ uname -a
Linux P_P-o 2.6.27-gentoo-r8 #12 SMP PREEMPT Sun Nov 8 19:46:59 PST 2009 i686 Genuine Intel(R) CPU T2060 @ 1.60GHz GenuineIntel GNU/Linux

Запуск eix gentoo-sources показывает, что у меня установлена более поздняя версия, чем та, что установлена:

tony@P_P-o ~ $ eix gentoo-sources
[U] sys-kernel/gentoo-sources
     Available versions:  
 (2.6.16-r13) 2.6.16-r13!b!s
 (2.6.25-r9) 2.6.25-r9!b!s
 (2.6.26-r4) 2.6.26-r4!b!s
 (2.6.27-r8) 2.6.27-r8!b!s
 (2.6.27-r10) 2.6.27-r10!b!s
 (2.6.28-r5) 2.6.28-r5!b!s
 (2.6.28-r6) 2.6.28-r6!b!s
 (2.6.29-r5) 2.6.29-r5!b!s
 (2.6.29-r6) 2.6.29-r6!b!s
 (2.6.30) ~2.6.30!b!s
 (2.6.30-r3) ~2.6.30-r3!b!s
 (2.6.30-r4) 2.6.30-r4!b!s
 (2.6.30-r5) 2.6.30-r5!b!s
 (2.6.30-r6) 2.6.30-r6!b!s
 (2.6.30-r7) 2.6.30-r7!b!s
 (2.6.30-r8) 2.6.30-r8!b!s
 (2.6.31) ~2.6.31!b!s
 (2.6.31-r1) ~2.6.31-r1!b!s
 (2.6.31-r2) ~2.6.31-r2!b!s
 (2.6.31-r3) ~2.6.31-r3!b!s
 (2.6.31-r4) ~2.6.31-r4!b!s
 {build symlink ultra1}
     Installed versions:  2.6.27-r8(2.6.27-r8)!b!s(07:48:25 PM 06/19/2009)(-build -symlink)
     2.6.28-r5(2.6.28-r5)!b!s(12:35:17 PM 06/08/2009)(-build -symlink)
     2.6.29-r5(2.6.29-r5)!b!s(07:44:33 PM 06/19/2009)(-build -symlink)
     2.6.30-r6(2.6.30-r6)!b!s(11:14:45 PM 10/02/2009)(-build -symlink)
     Homepage:            http://dev.gentoo.org/~dsd/genpatches
     Description:         Full sources including the Gentoo patchset for the 2.6 kernel tree

Что дает?

4 ответа4

6

Я предполагаю, что вы установили более новые исходники (возможно, даже построили их), но вы все еще загружаетесь из старого ядра.

2

Вам необходимо управлять символьной ссылкой ядра, на которую ссылается Майк Нелсен, но gentoo предоставляет для этого оболочку eselect, так же как они позволяют вам управлять системными версиями gcc/ruby/python/java/rails/opengl/так далее. реализации, когда у вас есть несколько установленных слотов.

В вашем случае все исходные коды ядра установлены (проверьте /usr/src и вы увидите там версионный каталог для каждого из них, а также символическую ссылку, указывающую на текущее значение по умолчанию, /usr/src/linux). Как правило, вы будете собирать из каталога symlink, и лучше всего поддерживать его в актуальном состоянии, так как именно здесь portage проверяет параметры конфигурации ядра для ebuild, которые требуют их, и так далее.

eselect kernel show   # will show you the current symlink value, this should match uname -a
eselect kernel list   # should show all installed kernel sources
eselect kernel set x  # will update the symlink, either by number (from list), or full name

Кроме того, вы можете установить USE-флаг symlink в /usr/portage/package.use для gentoo-sources (или любых других источников ядра, которыми вы управляете с помощью portage), чтобы символическая ссылка автоматически обновлялась при появлении новой версии, хотя, если это так. В этом случае вы должны знать об этом и убедиться, что вы собираете и устанавливаете новое ядро после каждого появления, что, на мой взгляд, слишком часто, но YMMV.

в северном направлении Этот метод работает только для исходников ядра, управляемых пакетами portage (или paludis/pkgcore/etc.) - если у вас есть git-репо в $ HOME или что-то еще, eselect, очевидно, не подхватит его - это сделано специально, так как ваше кровотечение пограничный или локально исправленный контроль обычно не предназначен для ядра системы.

1

Вы обновляете свою ссылку /usr /src /linux, чтобы она указывала на текущие источники? Например, это то, что я обычно делаю для обновления ядра на своих коробках gentoo,

# cp /usr/src/linux/.config ~
# cd /usr/src
# rm linux                              # remove the /usr/src/linux link
# ln -s linux-2.6.30-gentoo-r6 linux    # point /usr/src/linux to the latest sources
# cd linux
# cp ~/.config .
# make silentoldconfig                  # update .config for any new stuff in the kernel
# make && make modules_install
# mount /boot
# make install  # install the kernel to /boot and keep a copy of your old kernel in /boot in case
# umount /boot
0

У вас появляются четыре разные версии gentoo-источников.

Попробуйте удалить все старые источники Gentoo, чтобы сохранить только самый последний, а затем перекомпилировать ядро.

Это работает ?

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .