Es gab eine andere, ähnliche Frage dazu Hier , aber es ist für alte Ubuntu-Versionen und das Skript funktioniert nicht mehr.
Während der Installation funktioniert das Skript gut, bis:
+ 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
Das Problem ist also, dass dieser / newkernel aufgerufen wird, aber nicht vom Skript erstellt wurde, was anscheinend kein Problem war.
Kommentare zum ursprüngliche Website Erwähnen Sie für das Skript dasselbe Problem sowie eine Lösung für den 14.04. Leider bin ich ein absoluter Neuling in diesem Bereich und verstehe nicht vollständig, wie die Lösung implementiert wird:
Nur eine kurze Notiz: Ich habe die 3.8-Version des Skripts verwendet, um einen Kernel an einem Chrubutu-Acer zu arbeiten, der den Videoanforderungen von 14.04 entspricht. Musste old_bins in Position bringen, wie folgt:
mount -o ro /dev/sda3 /mnt cd /usr/bin cp -a /mnt/usr/bin/old_bins/
Und in kernel_next / Makefile kommentieren Sie die Anweisung stop-on-warning aus:
# KBUILD_CFLAGS += -Werror
und zu KBUILD_CFLAGS hinzufügen:
-fno-tree-vrp
und endete mit einem 3.8.11-Kernel, der gut funktioniert.
Ich denke, das ist eine Bitte. Kann jemand das Skript mit den erforderlichen Änderungen aktualisieren oder detaillierter beschreiben, was zu tun ist?
Antworten:
Ich habe kein Chromebook, aber ich bin ein Linux-Benutzer, also ...
Dies sind Befehle, die auf einem Terminal-Emulator ausgeführt werden. Öffnen Sie einfach einen und melden Sie sich als an
root
mit demsu
Befehl und geben sie danach aus. (das#
Anmelden in einer Shell zeigt an, dass Sie Befehle als ausführenroot
Nutzer).Ich vermute das
old_bins/
Teil ist vom Rest getrennt, wie dercp
Der Befehl benötigt mindestens 2 Parameter, um zu funktionieren. Was es macht, ist das zu kopieren/mnt/usr/bin/
Verzeichnis (und dessen Inhalt) anold_bins/
Verzeichnis (das im Inneren endet/usr/bin
nicht/mnt/usr/bin
).Und ich gehe davon aus, dass Sie Zugriff auf diese Datei haben
kernel_next/Makefile
die einmakefile
in einem Verzeichnis namenskernel_next
. Sie müssen es also mit Ihrem bevorzugten Texteditor öffnen und eine hinzufügen#
Zeichen (es bedeutet "Kommentar der folgenden Zeile" in vielen Sprachen) vor der ZeileKBUILD_CFLAGS += -Werror
. So was:Vor
Nach dem
Und gleich danach die
-fno-tree-vrp
Flagge an dieKBUILD_CFLAGS
Aussage wie folgt:KBUILD_CFLAGS += -fno-tree-vrp
. Sie erhalten am Ende so etwas in Ihrem Makefile:Dann können Sie mit dem fortfahren, was Sie getan haben. Viel Glück.
quelle