Был еще один, аналогичный вопрос об этом здесь, но это не для старых версий Ubuntu, и сценарий больше не работает.

При установке скрипт работает нормально до:

+ vbutil_kernel --verify /dev/sda6 --verbose + tail -1 + sed -e s/$/ disablevmx=off/ /config-2013-05-22-2259-orig.txt + vbutil_kernel --pack /newkernel --keyblock /usr/share/vboot/devkeys/kernel.keyblock --version 1 --signprivate /usr/share/vboot/devkeys/kernel_data_key.vbprivk --config=/config-2013-05-22-2259.txt --vmlinuz /boot/vmlinuz-3.8.0 --arch x86_64 ERROR: Error reading kernel file. + vbutil_kernel --verify /newkernel ERROR: Unable to stat /newkernel: No such file or directory + dd if=/newkernel of=/dev/sda6 dd: opening ‘/newkernel’: No such file or directory

Таким образом, проблема в том, что это /newkernel вызывается, но оно не было создано скриптом, что, очевидно, не было проблемой в прошлом.

Комментарии на оригинальном сайте для скрипта упоминают ту же проблему, а также решение для 14.04. К сожалению, я новичок в этом деле и не совсем понимаю, как реализовать решение:

Просто короткое замечание, я использовал версию скрипта 3.8, чтобы заставить ядро работать на chruutu Acer, чтобы соответствовать требованиям видео 14.04. Нужно было установить old_bins, вот так:

mount -o ro /dev/sda3 /mnt cd /usr/bin cp -a /mnt/usr/bin/old_bins/

А в kernel_next /Makefile закомментируйте инструкцию остановки:

# KBUILD_CFLAGS += -Werror

и к KBUILD_CFLAGS добавить:

-fno-tree-vrp

и получил ядро 3.8.11, которое работает хорошо.

Так что я думаю, что это запрос. Может кто-нибудь обновить скрипт с необходимыми изменениями или более подробно описать, что нужно сделать?

1 ответ1

0

У меня нет Chromebook, но я пользователь Linux, так что ...

mount -o ro /dev/sda3 /mnt
cd /usr/bin
cp -a /mnt/usr/bin/ old_bins/

Это команды, которые выполняются на эмуляторе терминала, просто откройте одну и войдите в систему как root с помощью команды su и выполните их позже. (знак # в оболочке указывает, что вы выполняете команды от имени пользователя root ).

$ su
<enter your root password>
# mount -o ro /dev/sda3 /mnt
# cd /usr/bin
# cp -a /mnt/usr/bin/ old_bins/

Я предполагаю, что old_bins/ part отделена от остальных, поскольку для работы команды cp требуется минимум 2 параметра. Для этого нужно скопировать /mnt/usr/bin/ (и его содержимое) в old_bins/ (который в конечном итоге окажется в /usr/bin не в /mnt/usr/bin).

И я предполагаю, что у вас есть доступ к этому файлу kernel_next/Makefile который является makefile внутри каталога с именем kernel_next . Поэтому вы должны открыть его в предпочитаемом вами текстовом редакторе и добавить знак # (на многих языках это означает "закомментировать следующую строку") перед строкой KBUILD_CFLAGS += -Werror . Как это:

До

KBUILD_CFLAGS += -Werror

После

# KBUILD_CFLAGS += -Werror

И только потом добавьте -fno-tree-vrp vrp в инструкцию KBUILD_CFLAGS , например: KBUILD_CFLAGS += -fno-tree-vrp . В итоге вы получите что-то подобное в вашем make-файле:

# KBUILD_CFLAGS += -Werror
KBUILD_CFLAGS += -fno-tree-vrp

Тогда вы можете продолжать делать то, что вы делали. Удачи.

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