ChrUbuntu (Acer): Як завантажити ядро ​​3.8.0-16 замість 3.4.0?


5

У мене Chromebook Acer C7 з процесором Intel, і я там встановив ChrUbuntu. Я оновлював (Chr) Ubuntu до 13.04 щоденної версії за допомогою dist-upgrade. Але я виявив, що я все ще використовую ядро ​​Google v.3.4.0 Linux, а не Canonical v.3.8.0. Тож як я можу змінити ядро?

Я знайшов, як це зробити на звичайних комп’ютерах з GRUB, але це Chromebook, тому Grub немає.


для чого це варто - у ядрі Google можуть бути драйвери, які недоступні у ванілі 3.8.0 Canonical. все може зламатися / перестати працювати, якщо ядро ​​буде змінено.
nc4pk

Chromebook Acer C7 має апаратне забезпечення, характерне для нетбуків Acer Aspire, тому в ядрі немає унікальних драйверів.
Іван Зеленський

Відповіді:


5

Я слідував інструкціям за наступним посиланням

( http://velvet-underscore.blogspot.com/2013/01/chrubuntu-virtualbox-with-kvm.html )

та оновив сценарій для Kernel 3.8.0 для Acer C7, що працює на Chrubuntu:

#!/bin/bash

set -x

#
# Grab verified boot utilities from ChromeOS.
#
mkdir -p /usr/share/vboot
mount -o ro /dev/sda3 /mnt
cp /mnt/usr/bin/vbutil_* /usr/bin
cp /mnt/usr/bin/dump_kernel_config /usr/bin
rsync -avz /mnt/usr/share/vboot/ /usr/share/vboot/
umount /mnt

#
# On the Acer C7, ChromeOS is 32-bit, so the verified boot binaries need a
# few 32-bit shared libraries to run under ChrUbuntu, which is 64-bit.
#
apt-get install libc6:i386 libssl1.0.0:i386

#
# Fetch ChromeOS kernel sources from the Git repo.
#
apt-get install git-core
cd /usr/src
git clone  https://git.chromium.org/git/chromiumos/third_party/kernel-next.git
cd kernel-next
git checkout origin/chromeos-3.8

#
# Configure the kernel
#
# First we patch ``base.config`` to set ``CONFIG_SECURITY_CHROMIUMOS``
# to ``n`` ...
cp ./chromeos/config/base.config ./chromeos/config/base.config.orig
sed -e \
  's/CONFIG_SECURITY_CHROMIUMOS=y/CONFIG_SECURITY_CHROMIUMOS=n/' \
  ./chromeos/config/base.config.orig > ./chromeos/config/base.config
./chromeos/scripts/prepareconfig chromeos-intel-pineview
#
# ... and then we proceed as per Olaf's instructions
#
yes "" | make oldconfig

#
# Build the Ubuntu kernel packages
#
apt-get install kernel-package
make-kpkg kernel_image kernel_headers

#
# Backup current kernel and kernel modules
#
tstamp=$(date +%Y-%m-%d-%H%M)
dd if=/dev/sda6 of=/kernel-backup-$tstamp
cp -Rp /lib/modules/3.4.0 /lib/modules/3.4.0-backup-$tstamp

#
# Install kernel image and modules from the Ubuntu kernel packages we
# just created.
#
dpkg -i /usr/src/linux-*.deb

#
# Extract old kernel config
#
vbutil_kernel --verify /dev/sda6 --verbose | tail -1 > /config-$tstamp-orig.txt
#
# Add ``disablevmx=off`` to the command line, so that VMX is enabled (for VirtualBox & Co)
#
sed -e 's/$/ disablevmx=off/' \
  /config-$tstamp-orig.txt > /config-$tstamp.txt

#
# Wrap the new kernel with the verified block and with the new config.
#
vbutil_kernel --pack /newkernel \
  --keyblock /usr/share/vboot/devkeys/kernel.keyblock \
  --version 1 \
  --signprivate /usr/share/vboot/devkeys/kernel_data_key.vbprivk \
  --config=/config-$tstamp.txt \
  --vmlinuz /boot/vmlinuz-3.8.0 \
  --arch x86_64

#
# Make sure the new kernel verifies OK.
#
vbutil_kernel --verify /newkernel

#
# Copy the new kernel to the KERN-C partition.
#
dd if=/newkernel of=/dev/sda6

Дякую! Крім того, ви намагалися упакувати таким же чином ядро ​​"3.8.0-xx-generic" Canonical?
Іван Зеленський

1
Джерело ядра, побудоване за допомогою згаданого вище сценарію, включає помилку регресії, що призведе до того, що підсвітка дисплея C7 не загориться, коли він повернеться з призупинення. Це ефективно робить призупинення непотрібним при використанні внутрішнього дисплея, оскільки він не прокинеться до того, що ви можете використовувати дисплей, і вам потрібно зробити жорстку завантаження, щоб повернути його назад. Дивіться тут: bugs.launchpad.net/ubuntu/+source/linux/+bug/1156306 Я працюю над патчем, щоб вирішити проблему. Я опублікую його тут, коли я щось працюю.
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.