Вопрос: Создание пользовательских ядер для ChrUbuntu на Samsung Chromebook XE500C21


Я пытаюсь создать пользовательские ядра для моего Samsung XE500C21, работающего с ChrUbuntu. Мне нужны ядра, которые по крайней мере 3.4.0, потому что я пытаюсь запустить VMWare Workstation. Я запускаю ChrUbuntu 13.04. Я пробовал все сценарии Acer C7 bash, и ни один из них не работал для меня. Мне нужен он специально для Samsung XE500C21. Пожалуйста помоги.


0
2017-11-24 19:23


Источник




Ответы:


Наконец, я решил свою проблему. В следующем учебном пособии, который я рассказывал, объясняется, как установить пользовательские заголовки заголовков 3.4.0 и работать на вашем Chromebook Samsung Series 5. Примечание. Для этого вам необходим процессор без ARM. Кроме того, используйте этот учебник для установки Chrubuntu 12.04 на ваш Samsung Series 5, если вы еще этого не сделали: http://chromeos-cr48.blogspot.com/2012/04/chrubuntu-1204-now-with-double-bits.html

Перед тем, как запустить скрипт, войдите в систему под root.

1. Запустите этот скрипт, который я модифицировал из учебников Acer C7 (ЗАМЕТКА: НЕ переписывайте ядро ​​при получении сообщения. Просто нажмите «Да». Если вы перезапишете ядро, это может привести к сбою в работе вашей установки Chrubuntu):

#!/bin/bash
#Edited 11/27/2013 
#Fixes the old_bins directory not found error

set -x

#
# Grab verified boot utilities from ChromeOS.
#
mkdir -p /usr/share/vboot

#
#Make a new directory called old_bins
#
mkdir -p /usr/bin/old_bins


mount -o ro /dev/sda3 /mnt

#
#copy the vbutil_* commands to the old_bins directory
#
cp /mnt/usr/bin/vbutil_* /usr/bin/
cp /mnt/usr/bin/vbutil_* /usr/bin/old_bins


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.git
cd kernel
git checkout origin/chromeos-3.4

#
# 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.8.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.4.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

2. Он не должен завершать первый запуск. Вы получите сообщение об ошибке fstack-protector-strong, Перейдите к /usr/src/kernel/arch/x86/Makefile и отредактировать строку 78 из stackp-y := -fstack-protector-strong в stackp-y := -fstack-protector-all

3. Запустите сценарий снова с измененным Makefile. Опять же, не перезаписывайте ядро.

4. Вы должны получить еще несколько ошибок, но не беспокойтесь. Теперь пришло время открыть VMware Workstation. Когда вы получаете заголовки Kernel 3.4.0, отсутствует приглашение, укажите поле приглашения для: /usr/src/linux-headers-3.4.0/include

5. Все готово! Теперь все должно работать. Кредит отправляется в michaela_elise (Reddit) для создания оригинального скрипта и указания на -fstack-protector-strong проблема. (ЗАМЕТКА: Возможно, потребуется перезагрузка после запуска скрипта во второй и последний раз. У меня был сбой с VMware Workstation сразу после запуска второго скрипта.)


0
2017-11-28 08:45