Creazione di kernel personalizzati per ChrUbuntu sul Chromebook Samsung XE500C21


0

Sto cercando di creare kernel personalizzati per il mio Samsung XE500C21 con ChrUbuntu. Ho bisogno di kernel almeno 3.4.0 perché sto cercando di eseguire VMWare Workstation. Sto eseguendo ChrUbuntu 13.04. Ho provato tutti gli script bash Acer C7 e nessuno di loro ha funzionato per me. Ne ho bisogno uno specifico per il Samsung XE500C21. Per favore aiuto.

Risposte:


0

Alla fine ho risolto il mio problema. Il seguente tutorial che ho fatto spiega come ottenere le intestazioni del kernel 3.4.0 personalizzate installate e funzionanti sul Chromebook Samsung Serie 5. Nota: per funzionare, è necessario disporre di un processore non ARM. Inoltre, usa questo tutorial per installare Chrubuntu 12.04 sul tuo Samsung Serie 5 se non l'hai già fatto: http://chromeos-cr48.blogspot.com/2012/04/chrubuntu-1204-now-with-double-bits .html

Assicurati prima di eseguire lo script per accedere come root.

1. Esegui questo script che ho modificato dai tutorial di Acer C7 ( NOTA : NON sovrascrivere il kernel quando ricevi il messaggio. Basta premere Sì. Se si sovrascrive il kernel, si potrebbe causare un malfunzionamento dell'installazione di 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. Non dovrebbe completare la prima esecuzione. Verrà visualizzato un errore fstack-protector-strong. Passare a /usr/src/kernel/arch/x86/Makefilee modificare la riga 78 da stackp-y := -fstack-protector-strongastackp-y := -fstack-protector-all

3. Eseguire nuovamente lo script con il Makefile appena modificato. Ancora una volta, non sovrascrivere il kernel.

4. Dovresti ricevere altri errori, ma non preoccuparti. Ora è il momento di aprire VMware Workstation. Quando ottieni il prompt del kernel 3.4.0 manca il prompt, punta la finestra del prompt a:/usr/src/linux-headers-3.4.0/include

5. Hai finito! Ora dovrebbe funzionare tutto. Il merito va a michaela_elise (Reddit) per la creazione dello script originale e la segnalazione del -fstack-protector-strongproblema. ( NOTA : potrebbe essere necessario riavviare dopo aver eseguito lo script per la seconda e ultima volta. Ho avuto un problema con VMware Workstation subito dopo aver eseguito il secondo script.)

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.