• 1(current)
  • 2
  • 3
  • 4
  • 5
  • 553
Linux ChromeBox Kodi E-Z Setup Script (LibreELEC/Linux+Kodi) [2017/02/21]
#1
***************************************************
READ BEFORE POSTING
***************************************************
  • This thread is for discussion of the setup/installation of OpenELEC/LibreELEC/Kodi on the Haswell and Broadwell-based ChromeBoxes using the Kodi E-Z Setup Script as detailed below, and any related ChromeBox-specific hardware issues.
  • Other configurations, including installing Windows, dual-boot setups not involving ChromeOS, etc, will not be supported in this thread.
  • Video playback related issues should be discussed in the Linux support forum (or, if add-on related, in the correct forum/thread), as they are 99% likely not ChromeBox-specific.
  • Be sure to read the Kodi wiki page on how to provide the necessary info in order to troubleshoot your issue.
  • Be sure to read both this first post and the ChromeBox wiki page in their entirety before posting.
  • When reporting a problem, be sure to include whether you are running a standalone or dual boot setup, date stamp from SeaBIOS version string, OS / OS version, and kernel version (if not running OpenELEC/LibreELEC).
  • Posts which do no conform to the topic of this thread will be moved or deleted, at the discretion of the forum moderators.
***************************************************


The Kodi E-Z Setup Script was developed in order to simplify the setup/installation of Kodi on the Haswell and Broadwell -based Asus/HP/Acer/Dell ChromeBoxes (with Celeron 2955U/2957U, Celeron 3205U, Core i3-4010U/4030U, Core i3-5010U, Core i7-4600U, Core i7-5500U CPUs). Recently, support has been added for Haswell/Broadwell/BayTrail Chromebooks as well.

Before running the Kodi E-Z Setup Script, you must perform the steps in the device prep section of the wiki (put the ChromeBox in developer mode, and disable the firmware write protect). If you are planning on installing a dual-boot setup, you must perform a factory reset using recovery media created by Google's recovery tool prior to running the script for a dual-boot install.


---------------------------------------
Quick Start / Overview
---------------------------------------


For a dual-boot setup, you will need to perform the following steps:
  • Open the ChromeBox and remove the write-protect screw
  • Put the ChromeBox in developer mode
  • Perform a factory reset using Google's recovery tools
  • Download/run the Kodi E-Z Setup Script, choose desired dual boot configuration, select partition size
  • (reboot and allow ChromeOS to "repair" itself after partition resizing)
  • Download/run the Kodi E-Z Setup Script again, choosing the same dual boot configuration option, install LibreELEC or GalliumOS
  • Reboot and verify dual boot functionality by manual selecting legacy boot option ([CTRL-L)
  • Reboot to ChromeOS, use Kodi E-Z Setup Script to select desired default OS, boot delay (optional)

For a standalone setup, you will need to perform the following steps:
  • Open the ChromeBox and remove the write-protect screw
  • Put the ChromeBox in developer mode
  • Download/run the Kodi E-Z Setup Script
  • Select the Standalone / coreboot Install option, which will backup your stock firmware/BIOS and flash a custom one
  • Create install media for desired OS. Script includes option to create install media for LibreELEC
  • Power off ChromeBox
  • Connect/plug-in USB install media (if not using LibreELEC media you just created)
  • Power on ChromeBox, Press [ESC] from boot menu, select USB device (no longer needed with UEFI firmware; USB devices will boot automatically)
  • Install LibreELEC, GalliumOS, or your OS of choice

To run LibreELEC off a USB/SD device, you will need to perform the following steps:
  • Open the ChromeBox and remove the write-protect screw
  • Put the ChromeBox in developer mode
  • Download/run the Kodi E-Z Setup Script, select option to Install LibreELEC on USB
  • Reboot and verify legacy boot functionality by manual selecting legacy boot option ([CTRL+L)
  • Hit ESC, select USB device from which to boot
  • Reboot to ChromeOS, use Kodi E-Z Setup Script to select desired default OS, boot delay (optional)



-------------------------------------------
Using the Kodi E-Z Setup Script
-------------------------------------------


To run the Kodi E-Z Setup Script from ChromeOS, perform the following steps:
 
  • Power on and boot to ChromeOS. DO NOT LOG IN TO ChromeOS, but do ensure a network connection is set up
  • Hit [CTRL+ALT+F2] to get to command prompt ([CTRL+ALT]+left arrow] for ChromeOS keyboards)
  • Login with user chronos (no password required)
  • Download and run the setup script using the following command (then hit enter):
 
Code:
cd; curl -L -O http://mrchromebox.tech/setup-kodi.sh && sudo bash setup-kodi.sh

Note
The parameters to the curl command are capital L and capital O.


You will be presented with a menu with the following options:

Image


Each option is explained below, and also on my website (https://mrchromebox.tech):


----------------------------------------------------------
Install: ChromeOS + GalliumOS (dual boot)
----------------------------------------------------------


This option will install GalliumOS (a Ubuntu derivative) in a dual boot setup with ChromeOS, plus install the latest stable version of Kodi (16.1).

IMPORTANT: Installing a dual boot setup occurs in two stages, and requires this script to be downloaded and run twice.

In the first stage, the script will prompt you for the partition size to use for GalliumOS, then re-partition the internal HDD to make room. After a reboot, press [CTRL+D], and ChromeOS will "repair" the newly created partitions and reboot itself. Once it completes the repair, you will need to re-download and re-run the script to complete the second phase, during which GalliumOS will be installed to the newly created partition.

After completion of the 2nd stage, use the 'Set Boot Options' menu option to set your preferred boot delay and default boot option.

As the dual boot GalliumOS/Ubuntu makes use of reynhout's chrx install script, the default user/password are set to 'chrx'. You can change these after logging in the first time.

Note: If you had previously set up OpenELEC/LibreELEC, you will need to reset the Boot Options (to ChromeOS + 30s timeout), and then perform a factory reset before installing GalliumOS.


-----------------------------------------------------------------
Install: ChromeOS + LibreELEC (dual boot)
-----------------------------------------------------------------


This option will install LibreELEC in a dual boot setup with ChromeOS.

IMPORTANT: Installing a dual boot setup occurs in two stages, and requires this script to be downloaded and run twice.

In the first stage, the script will prompt you for the partition size to use for LibreELEC , then re-partition the internal HDD to make room. After a reboot, press [CTRL+D] and ChromeOS will "repair" the newly created partitions and reboot itself. Once it completes the repair, you will need to re-download and re-run the script to complete the second phase, during which LibreELEC will be installed to the newly created partitions.

After completion of the 2nd stage, use the 'Set Boot Options' menu option to set your preferred boot delay and default boot option.

Note: if you previously installed GalliumOS (or Ubuntu) in a dual boot setup, you will need to reset the Boot Options (to ChromeOS + 30s timeout), and then perform a factory reset before installing LibreELEC in a dual boot configuration.


-----------------------------------------------------------------
Install: LibreELEC on USB
-----------------------------------------------------------------


This option will install LibreELEC on a USB (or SD) device, along with a bootloader which is compatible with the stock ChromeOS firmware.

The script will prompt you to select which version of LibreELEC to install (if a beta version is available), select the USB device on which to install LibreELEC , download/install the bootloader (onto the selected USB/SD), and download/install OpenELEC. Once completed, the script will check if an updated Legacy BIOS is available for you system. If so, you will have the option to set the default Legacy boot target to USB, and the updated Legacy BIOS will be installed.

After completion, use the 'Set Boot Options' menu option to set your preferred boot delay and default OS boot option.


-----------------------------------------
Set Boot Options (dual boot)
-----------------------------------------


Image

This option will allow you to set the boot delay (30s or 2s) and the default boot option (ChromeOS or Kodi [via LibreELEC/GalliumsOS]). The choices of 30s and 2s are a limitation of the stock firmware; no other boot delay options are available. Choosing any option other than the factory default will automatically lock the ChromeBox into developer mode and force-enable legacy booting, preventing accidentally exiting via [spacebar] on the Developer Mode boot screen.

Regardless of the option selected, on the Developer Mode boot screen (white screen w/"OS Verification Off" text) you can always press [CTRL+D] to boot into ChromeOS or [CTRL+L] to boot LibreELEC /GalliumOS.

Note: this requires the firmware write-protect to be disabled.

-----------------------------------------
Update Legacy BIOS (dual boot)
-----------------------------------------


This option updates the Legacy BIOS component of the stock firmware (SeaBIOS) to the latest fixed version. This step is automatically performed as part of any dual-boot setup, and is only necessary to perform manually if an update is released with a bug fix or new feature of interest to you.

There is also an option to give boot priority to connected USB devices. If selected, then the ChromeBox will try to boot any connected USB by default; if not, then the default will always be the internal SSD unless a manual selection is made via the boot menu.

---------------------------------------------------------------------------
Install / Update: coreboot Firmware (standalone)
---------------------------------------------------------------------------


Image

This option will allow you to replace the (entire) stock firmware with a custom build of the open-source coreboot firmware (and includes an updated SeaBIOS payload as well - it doesn't need to be / cannot be updated separately). This custom firmware fixes many issues with the stock firmware and significantly reduces the boot time; it basically turns the ChromeBox into an ordinary x86 PC. The trade-off is that it cannot run ChromeOS (You can, however, run the open-source variant ChromiumOS. Downloads are available at http://chromium.arnoldthebat.co.uk/)

You will be given the option to backup the current/stock firmware to an external USB drive; it is recommended that you do this in the event you wish to revert the ChromeBox to stock / run ChromeOS (as the recovery button won't help you anymore), and since there is always a small risk anytime you flash/update the firmware. Since the Ethernet MAC address is stored in the firmware, if you are setting up multiple Chromeboxes, you need to do a firmware backup for each, since restoring the same backup to multiple boxes will result in them having the same MAC address, and cause serious network issues.

There are 3 firmware configuration options available to the user prior to flashing:

1) install a "headless" version of the firmware -- this is only intended for Linux servers which don't have a connected display, it shouldn't be used for Kodi setups.
2) give boot priority to connected USB devices. If selected, then the ChromeBox will try to boot any connected USB by default; if not, then the default will always be the internal SSD unless you explicitly press ESC and choose a different option from the boot menu.
3) add PXE network boot support. This enables booting from a network OS image, and isn't needed for most users.

After completing this step, you can install any off-the-shelf Linux distro (GalliumOS, LibreELEC, etc), or even Windows 8.1/10, via USB -- no custom installers or workarounds are needed.

If you're going to install LibreELEC, you should go ahead and create the install media now before rebooting.

Upon reboot, if any USB/SD devices are connected, you will have ~3 seconds to press [ESC] to display the boot menu; otherwise it will boot directly to the default device (depending on your choice, internal SSD or USB).

Note: this step requires the firmware write-protect to be disabled first.

-----------------------------------------------------------------------
Create LibreELEC USB/SD Installer (standalone)
-----------------------------------------------------------------------


This option will create a bootable USB/SD LibreELEC install media, which can then be used to install LibreELEC in standalone mode. The script downloads the exact same file as you would from LibreELEC's website, the function is just added here for convenience.

After completion, reboot and press [ESC] at the boot menu prompt, and select the USB device for installation.

After booting the LibreELEC installer, choose the 'Quick Install' option, select [YES]/[OK] as needed. When installation is complete, remove the USB stick, choose the reboot option, and LibreELEC will be booted in ~6 seconds.

Note: Installation of LibreELEC in standalone mode requires you to have installed my custom coreboot firmware, as detailed above.

----------------------------------------------------------

-----------------------------
Other Configurations
-----------------------------


If you want to dual boot a different Linux distro, simply perform the Device Prep, then use the script to run the first stage of the GalliumsOS dual boot setup. Reboot, press [CTRL+D], and allow ChromeOS to "repair" itself and perform the partition resizing. Then, reboot in legacy mode [CTRL+L] and choose to boot from your distro's USB installer ([ESC] then option 2). Install Linux to partition /dev/sda7, and the grub bootloader to /dev/sda. Afterwards, you can re-run the script to set your boot options.

If you want to install a different Linux distro in standalone mode, simply install the custom coreboot firmware, then, reboot and choose to boot from your distro's USB installer ([ESC] then select USB drive from list). Install to the entire internal HDD.


---------------------------------------
Restoring the Stock Firmware
---------------------------------------

If you've used this script to setup for a standalone OpenELEC/LibreELEC/GalliumOS setup, or otherwise flashed a custom coreboot firmware, you'll need to restore the stock firmware before using Google's recovery media to restore/reload ChromeOS. Full instructions can be found on the wiki here:
Chromebox - Restoring the Stock Firmware


-------------------------------------------------------------
Updating the coreboot Firmware (standalone)
-------------------------------------------------------------

For most users, updating the firmware after initial installation isn't necessary - I only recommend updating the firmware if a new version fixes a specific issue you are having and/or adds a new feature of interest; if it's not broken, don't fix it. If you do need to update the firmware, simply re-download/re-run the script under any Linux distro with a full bash shell. The dual-boot related options will be disabled, but the 'Install/Update coreboot firmware' option will be available.

If you are running a Linux distro which does not have a full bash shell, such as OpenELEC/LibreELEC, you will need to boot a Linux Live USB (eg, current release of GalliumOS or Ubuntu) and run the Kodi E-Z Setup Script from there.

Note: the old standalone firmware updater script for OpenELEC/LibreELEC is now depreciated and no longer available.



This script is a work in progress, all feedback is appreciated and I'll do my best to implement any fixes/improvements.

cheers!

------------------------------------------------------------------
Source Code
------------------------------------------------------------------

https://github.com/MattDevo/coreboot
https://github.com/MattDevo/SeaBIOS
https://github.com/MattDevo/edk2
https://github.com/MattDevo/scripts



------------------------------------------------------------------
Version history
------------------------------------------------------------------

2017-02-21
------------------------------------------------------------------
- Update to LibreELEC 8.0.0 (Kodi 17.0)
- Update Chromebox standalone/UEFI firmware (see https://mrchromebox.tech for details)
------------------------------------------------------------------
2016-10-12
------------------------------------------------------------------
- Update to LibreELEC 7.90.007 (Kodi 17.0 beta3)
------------------------------------------------------------------
2016-07-19
------------------------------------------------------------------
- Update coreboot to latest upstream commit
- Update SeaBIOS to latest upstream commit
- Update to LibreELEC 7.90.003 (8.0 alpha 2)
- massive backend script improvements
- migrate all hosted files from dropbox to mrchromebox.tech
------------------------------------------------------------------
2016-06-26
------------------------------------------------------------------
- Update to LibreELEC 7.0.2 (stable) and 7.90.002 (8.0 alpha 2)
- other minor script fixes/improvements unrelated to Kodi
------------------------------------------------------------------
2016-04-26
------------------------------------------------------------------
- Replace OpenELEC 7.0 beta with LibreELEC 7.0 release
- fix some minor script bugs
------------------------------------------------------------------
2016-04-18
------------------------------------------------------------------
- Update coreboot to latest upstream commit
- Update SeaBIOS to latest upstream commit
- Fix boot time regression on full coreboot firmware
- Add support for full coreboot firmware for Haswell/Broadwell Chromebooks (courtesy or coolstar)
- Update VBIOS to v1040 on hsw/bdw Chromeboxes
- major refactoring of script / script functions, so hopefully no breakage
------------------------------------------------------------------
2016-04-10
------------------------------------------------------------------
- Update to OpenELEC 7.0 beta 2 (6.95.2 / Kodi 16.1 rc2)
- fix missing eMMC controller address on legacy boot payload for Baytrail devices
------------------------------------------------------------------
2016-04-03
------------------------------------------------------------------
- Update coreboot to latest upstream commit
- Update SeaBIOS to latest upstream commit
- script changes:
-- fix USB default boot on Baytrail devices
------------------------------------------------------------------
2016-03-21
------------------------------------------------------------------
- Update OpenELEC to official v7.0 beta 1 (6.95.1 / Kodi 16.1-rc2)
------------------------------------------------------------------
2016-03-20
------------------------------------------------------------------
- Update OpenELEC to v7.0 beta (unofficial - 6.94.3 / Kodi 16.1-rc2)
-- should auto-update to official OE 7.0 beta once released (if auto-updates enabled)
- Update legacy boot payload for Baytrail-based devices
------------------------------------------------------------------
2016-03-07
------------------------------------------------------------------
- Update coreboot to latest upstream commit
-- add vmx / VT-X virtualization support to BDW boxes
-- fix ACPI bug preventing Windows from booting on BDW boxes
- Update SeaBIOS to latest upstream commit
- script changes:
-- BDW chromeboxes now use same legacy BIOS as HSW boxes
-- BDW chromeboxes now have unique firmware for each device
-- remove Kodibuntu as it's outdated / not recommended
-- other misc changes / fixes
------------------------------------------------------------------
2016-03-01
------------------------------------------------------------------
- Update OpenELEC to v6.0.398-Intel_EGL
-- OpenELEC 6.0.3 + fritsch's 6.0.98 EGL enhancements
------------------------------------------------------------------
2016-02-29
------------------------------------------------------------------
- Update OpenELEC to v6.0.298-Intel_EGL
-- OpenELEC 6.0.2 + fritsch's 6.0.98 EGL enhancements
------------------------------------------------------------------
2016-02-25
------------------------------------------------------------------
- Update OpenELEC to v7.0 beta (unofficial - 6.94.2 / Kodi 16.0 final)
-- should auto-update to official OE 7.0 beta once released
------------------------------------------------------------------
2016-02-21
------------------------------------------------------------------
- Update OpenELEC to v7.0 beta (unofficial - 6.99.1 / Kodi 16.0 final)
-- Also includes fix for WiFi disable on boot w/wait for network option selected
- Update OpenELEC 6.0 EGL version to 6.0.199 w/same WiFi fix
(no firmware updates)
------------------------------------------------------------------
2016-02-17
------------------------------------------------------------------
- Update OpenELEC to v7.0 beta (unofficial - 6.94.1 / Kodi 16.0 RC3)
- Update coreboot to latest upstream commit
- Update SeaBIOS to latest upstream commit
------------------------------------------------------------------
2016-02-05
------------------------------------------------------------------
- Fix OpenELEC dual boot system partition size error, introduced in previous update
------------------------------------------------------------------
2016-02-02
------------------------------------------------------------------
- Update coreboot to v4.3
- Update SeaBIOS to latest upstream commit
- Update OpenELEC to v6.0.1 / 6.0.198-Intel_EGL
- Add "headless" booting option for dual boot / Legacy boot update
- misc fixes/improvements
------------------------------------------------------------------
2016-01-03
------------------------------------------------------------------
- Update coreboot to latest upstream commit
- fix slow boot with standalone firmware (introduced in 12/20 firmware)
- replace old ChrUbuntu dual boot code with chrx
- make GalliumOS the default Ubuntu variant
- misc fixes/improvements
------------------------------------------------------------------
2015-12-20
------------------------------------------------------------------
- Update coreboot to latest upstream commit
- reinstate blinking LED when suspended for Broadwell boxes
- fix video bios startup mode flag for Broadwell box standalone firmware
- misc bug fixes for Broadwell boxes
------------------------------------------------------------------
2015-12-15
------------------------------------------------------------------
- fix issue flashing legacy boot update in ChromeOS v48+
- fix video bios startup mode flag for legacy boot payload
------------------------------------------------------------------
2015-12-14
------------------------------------------------------------------
- fix video bios startup mode flag for standalone firmware
- Add prelim support for the Broadwell-based Acer/Lenovo ChromeBoxes (Rikku/Tidus)
- Add legacy BIOS payload support for more Broadwell-based devices
------------------------------------------------------------------
2015-11-30
------------------------------------------------------------------
- Update coreboot to latest upstream commit
- Update SeaBIOS to version 1.9.0
- Add support for the Broadwell-based Asus ChromeBox CN62 (all CPU/GPU options)
------------------------------------------------------------------
2015-11-10
------------------------------------------------------------------
- Update custom Intel/EGL OE 6.0 build to version 6.0.97:
-- bug fix for get_buffer error
-- fix scaler selection for > 1080p content or > 1080p output
------------------------------------------------------------------
2015-11-03
------------------------------------------------------------------
- version bump the custom Intel/EGL OE 6.0 build to avoid auto-update issues
------------------------------------------------------------------
2015-11-02
------------------------------------------------------------------
- set default version of OpenELEC used to the custom Intel/EGL OE 6.0 build
------------------------------------------------------------------
2015-11-01
------------------------------------------------------------------
- update OpenELEC to 6.0 final/stable (Kodi 15.2)
------------------------------------------------------------------
2015-10-16
------------------------------------------------------------------
- add option to make PXE default boot target
------------------------------------------------------------------
2015-10-15
------------------------------------------------------------------
- add PXE network boot support as option for standalone firmware
- default to installing latest OE beta/RC (vs latest stable)
- synchronized coreboot and SeaBIOS to latest upstream codebases
------------------------------------------------------------------
2015-09-05
------------------------------------------------------------------
- update OpenELEC to 6.0 beta 5 (5.95.5 / Kodi 15.1)
------------------------------------------------------------------
2015-08-24
------------------------------------------------------------------
- update OpenELEC to 6.0 beta 4 (5.95.4 / Kodi 15.1)
------------------------------------------------------------------
2015-07-18
------------------------------------------------------------------
- update OpenELEC to 6.0 beta 3 (5.95.3 / Kodi 15.0 RC2)
------------------------------------------------------------------
2015-07-02
------------------------------------------------------------------
- update firmware for Samsung Series 3 ChromeBox (stumpy) with tested/working version
------------------------------------------------------------------
2015-06-18
------------------------------------------------------------------
- fix Ubuntu 15.04 dual boot (use upstart vs systemd)
- update to SeaBIOS 1.8.2 stable
- synchronized coreboot to latest upstream codebase
------------------------------------------------------------------
2015-06-15
------------------------------------------------------------------
- update OpenELEC to 6.0 beta 2 (5.95.2 / Kodi 15.0 beta 2)
------------------------------------------------------------------
2015-06-10
------------------------------------------------------------------
- updated video BIOS for Haswell ChromeBoxes
- synchronized coreboot to latest upstream codebase
- reverted to SeaBIOS 1.8.1 stable
------------------------------------------------------------------
2015-06-04
------------------------------------------------------------------
- further improved dual boot / boot options menu
- tweaked fan speeds/temp thresholds for coreboot firmware for Haswell ChromeBoxes
- synchronized coreboot and SeaBIOS to latest upstream codebases
------------------------------------------------------------------
2015-06-02
------------------------------------------------------------------
- tweaked dual boot / boot options flags to prevent accidentally exiting developer mode via spacebar.
Setting the boot flags to factory defaults clears the 'force dev mode' flag
------------------------------------------------------------------
2015-05-17
------------------------------------------------------------------
- update script to add option to OpenELEC install on USB/SD for ChromeOS users
------------------------------------------------------------------
2015-05-14
------------------------------------------------------------------
- update script to give option between stable/beta OpenELEC versions for both dual boot and standalone configs
------------------------------------------------------------------
2015-05-11
------------------------------------------------------------------
- update custom Kodibuntu ISO to v1.1, now includes kernel 3.19 and Kodi 14.2
------------------------------------------------------------------
2015-05-07
------------------------------------------------------------------
- update OpenELEC to 5.95.1 (aka 6.0 beta 1, Kodi 15.0 beta 1)
- add legacy BIOS update support for LG ChromeBase (Monroe), which was somehow left out previously
------------------------------------------------------------------
2015-04-27
------------------------------------------------------------------
- removed standalone firmware support for the Acer C720 ChromeBook (Peppy) and the HP ChromeBook 14 (Falco), since testing revealed that these don't work as well as John Lewis' versions built from Google's Chromium sources.
- reverted Legacy BIOS update for Haswell ChromeBooks to use original/stock VGA BIOS
- reverted ChromeBox standalone firmware to use stock Intel ME firmware
- updated to new modular script format
- add legacy BIOS update support for LG ChromeBase (Monroe), which was somehow left out previously
------------------------------------------------------------------
2015-04-23
------------------------------------------------------------------
- added standalone firmware support for the Acer C720 ChromeBook (Peppy), the HP ChromeBook 14 (Falco), and the Samsung Series 3 ChromeBox (Stumpy). These devices are unsupported, but should work without issue.
- removed script version identifier, since the date is sufficient
- improved error checking / device identification to ensure correct firmware or legacy BIOS file is selected
- reverted prior change eliminating "off" as lowest fan state for coreboot firmware
- all firmware files built with up-to-date upstream coreboot source
------------------------------------------------------------------
2015-04-20 -- v3.17
------------------------------------------------------------------
- update OpenELEC to 5.0.8 (stable, Kodi 14.2 final)
- add dual-boot support for Google Pixel (2015) ChromeBook
- revert Kodibuntu install media to use official ISO until issues are worked out with custom build
------------------------------------------------------------------
2015-03-29 -- v3.16
------------------------------------------------------------------
- update OpenELEC to 5.0.7 (stable, Kodi 14.2 final)
- add script option for USB boot default for standalone firmware
------------------------------------------------------------------
2015-03-19 -- v3.15
------------------------------------------------------------------
- added fixed Legacy BIOS (SeaBIOS) update for Broadwell-based Acer C740
------------------------------------------------------------------
2015-03-17 -- v3.14
------------------------------------------------------------------
- update OpenELEC to 5.0.6 (stable, Kodi 14.2 RC)
- added script function to create standalone Kodibuntu install media
------------------------------------------------------------------
2015-02-26 -- v3.13
------------------------------------------------------------------
- update OpenELEC to 5.0.5 (stable, Kodi 14.2-beta2)
- synchronized coreboot and SeaBIOS to latest upstream codebases
- update function to create OpenELEC installer - improve reliability
------------------------------------------------------------------
2015-02-09 -- v3.12
------------------------------------------------------------------
- update OpenELEC to 5.0.2 (stable)
------------------------------------------------------------------
2015-02-03 -- v3.11
------------------------------------------------------------------
- update OpenELEC to 5.0.1 (stable)
------------------------------------------------------------------
2015-01-29 -- v3.10
------------------------------------------------------------------
- change lowest fan state from OFF to ULTRA LOW (~1900 rpm)
-- still inaudible, keeps system cooler overall, fixes Windows fan control issues (coreboot only)
- update VGA BIOS to latest Haswell/Broadwell version (1035); separate configs for ChromeBox/Book (coreboot and SeaBIOS)
- synchronized coreboot and SeaBIOS to latest upstream codebases
- minor script tweaks
------------------------------------------------------------------
2015-01-23 -- v3.9
------------------------------------------------------------------
- added separate legacy BIOS (SeaBIOS) for Haswell ChromeBook dual boot users
- synchronized SeaBIOS to latest upstream codebase
- minor script tweaks
------------------------------------------------------------------
2015-01-07 -- v3.8
------------------------------------------------------------------
- default coreboot firmware to non-headless version; headless now user-selectable option
- synchronized coreboot/SeaBIOS to latest upstream codebase
------------------------------------------------------------------
2015-01-03 -- v3.7
------------------------------------------------------------------
- improved handling of selection of Ubuntu version, metapackage options
- improved handling of Kodi install option for Ubuntu
- fixed missing locale info for Ubuntu install
------------------------------------------------------------------
2014-12-28 -- v3.6
------------------------------------------------------------------
- updated script to use OpenELEC 5.0.0 (Kodi 14 stable)
- fixed Ubuntu dual boot install issue introduced in 3.5
- simplified script device prep
------------------------------------------------------------------
2014-12-22 -- v3.5
------------------------------------------------------------------
- updated script to use OpenELEC 5.0 RC3 (Kodi 14 RC3)
- Dual-boot Ubuntu setup:
-- add missing 'i386' package support
-- allow for selection of Ubuntu version
-- make XBMC/Kodi install optional (default: Y)
------------------------------------------------------------------
2014-12-10 -- v3.4
------------------------------------------------------------------
- fix missing power LED on Acer ChromeBox CXI
- add write-protect check before flashing firmware under ChromeOS
- synchronized coreboot/SeaBIOS to latest upstream codebase
- updated script to use OpenELEC 5.01 RC2 (Kodi 14 RC3)
- minor script formatting updates
------------------------------------------------------------------
2014-12-02 -- v3.3
------------------------------------------------------------------
- changed the SeaBIOS boot menu to ignore multiple [ESC] key presses (so it won't auto-boot the internal HDD)
- re-enabled visibility of the Intel Management Engine Interface (MEI/HECI) PCI device to the OS (for Windows/OSX users)
- updated the Intel ME firmware to latest version (9.5.14.1904)
- synchronized coreboot/SeaBIOS to latest upstream codebase
- updated script to use OpenELEC 5.01 RC1 (Kodi 14 RC1)
- minor script formatting updates
------------------------------------------------------------------
2014-11-13 -- v3.2
------------------------------------------------------------------
- updated script to fix 'Set Boot Options' feature under older versions of ChromeOS, which was broken in v3.1
- fixed some dual boot/Ubuntu issues related to the 14.10 update
- added kernel param to Ubuntu dual boot to disable TPM module, speed up boot
------------------------------------------------------------------
2014-10-30 -- v3.1
------------------------------------------------------------------
- updated script to fix 'Set Boot Options' feature under newer versions of ChromeOS (v38+)
------------------------------------------------------------------
2014-10-16 -- v3.0
------------------------------------------------------------------
- updated script to support running under any Linux OS
- added separate firmware update script for bash-less OS, eg OpenELEC
- switched to using OpenELEC disc image for standalone media creation
- reduced unnecessary script verbosity
- updated coreboot firmware to upstream/master HEAD; includes numerous ACPI fixes
- updated SeaBIOS payload to upstream/master HEAD
- updated to support new Acer/Dell Haswell-based ChromeBox models
------------------------------------------------------------------

------------------------------------------------------------------
2014-10-04 -- v2.21
------------------------------------------------------------------
- updated script to OpenELEC 4.2.1 (stable)
------------------------------------------------------------------
2014-09-26 -- v2.20
------------------------------------------------------------------
- updated script to OpenELEC 4.2.0 (stable)
------------------------------------------------------------------
2014-09-06 -- v2.19
------------------------------------------------------------------
- updated coreboot, SeaBIOS builds to support headless boot (no display connected)
- updated coreboot, SeaBIOS builds to use latest VGA BIOS
- updated to OpenELEC 4.2 beta 6 (4.1.6)
-- fix USB installer issue, PS3 BT remote bug (w/key repeat)
- added Power Off option to script
------------------------------------------------------------------
2014-09-03 -- v2.18a
------------------------------------------------------------------
- updated to custom build of OpenELEC 4.2 beta 5 (4.1.5)
-- fixes USB installer issue, PS3 BT remote bug
------------------------------------------------------------------
2014-09-02 -- v2.18
------------------------------------------------------------------
- updated to OpenELEC 4.2 beta 5 (4.1.5)
EDIT -- reverted to 4.1.4 due to OE installer bug
------------------------------------------------------------------
2014-08-22 -- v2.17
------------------------------------------------------------------
- updated to OpenELEC 4.2 beta 4 (4.1.4)
------------------------------------------------------------------
2014-07-29 -- v2.16
------------------------------------------------------------------
- updated VGA BIOS to always init display even if connection not detected (fix no video for some users)
- updated coreboot/SeaBIOS naming to reflect suitability for both Asus (panther) and HP (zako) ChromeBox models
------------------------------------------------------------------
2014-07-12 -- v2.15
------------------------------------------------------------------
- updated to OpenELEC 4.2 beta 2 (4.1.2), which now includes working USB3 wake from suspend, so custom build no longer needed.
------------------------------------------------------------------
2014-07-12 -- v2.14
------------------------------------------------------------------
- updated script to use a custom OpenELEC ChromeBox build for standalone setups, which enables USB3 ports to wake from suspend.
Fixes the issue of IR remotes not being able to power on the system when suspended. Dual boot setups are unaffected since suspend/resume is broken anyway.
------------------------------------------------------------------
2014-07-09 -- v2.13
------------------------------------------------------------------
- updated coreboot firmware to properly support virtualization (vmx/smx)
- updated script to make selection of connected USB devices more user-friendly
- updated to OpenELEC v4.0.7
- updated SeaBIOS datestamp
------------------------------------------------------------------
2014-06-30 -- v2.12
------------------------------------------------------------------
- updated script to persist MAC address, serial #, etc from stock firmware when flashing coreboot firmware
-- if you've already flashed coreboot firmware, script can extract data from stock firmware backup
- updated to OpenELEC v4.0.6
- updated SeaBIOS datestamp
------------------------------------------------------------------
2014-06-20 -- v2.11
------------------------------------------------------------------
- updated coreboot firmware with TPM disabled (fixes some Linux hangs)
- updated datestamp on legacy BIOS/SeaBIOS
- perform MD5 check on legacy BIOS after setting dual-boot
boot options in case it gets corrupted in the process
------------------------------------------------------------------
2014-06-14 -- v2.10
------------------------------------------------------------------
- updated coreboot firmware with USB boot detection fix
- updated legacy BIOS/SeaBIOS with USB boot detection fix
- update to OpenELEC 4.0.5
------------------------------------------------------------------
2014-06-11 -- v2.9
------------------------------------------------------------------
- updated coreboot firmware with HDMI boot menu video init fix
- updated legacy BIOS/SeaBIOS with HDMI boot menu video init fix
------------------------------------------------------------------
2014-06-09 -- v2.8
------------------------------------------------------------------
- updated coreboot firmware with potential video init fix
- include southbridge USB fixes from chromium coreboot branch
------------------------------------------------------------------
2014-06-06 -- v2.7
------------------------------------------------------------------
- update firmware (coreboot and legacy SeaBIOS) for compatibility with Core i3/i7 ChromeBox models
- change default legacy boot from USB to internal HDD (by request)
- ensure legacy boot is unavailable until dual-boot setup is complete
- update to OpenELEC 4.0.4
------------------------------------------------------------------
2014-05-30 -- v2.6
------------------------------------------------------------------
- fix OpenELEC dual-boot install issue
------------------------------------------------------------------
2014-05-28 -- v2.4/2.5
------------------------------------------------------------------
- re-add option to update Legacy BIOS for dual boot setups
- update legacy BIOS to SeaBIOS release 1.7.5
- fix legacy BIOS boot order (USB preferred)
- dual boot legacy BIOS boot menu only shown if USB drive(s) connected (USB 2.0 only)
- update coreboot firmware to use SeaBIOS 1.7.5
- improve script organization / error handling
------------------------------------------------------------------
2014-05-27 -- v2.3
------------------------------------------------------------------
- improved error handling for dual boot / OpenELEC setup
- updated coreboot firmware; text now indicates when booting from USB (cosmetic change only)
------------------------------------------------------------------
2014-05-22 -- v2.1, 2.2
------------------------------------------------------------------
- more robust mounting of USB drives for firmware backup
- added error checking to firmware backup
------------------------------------------------------------------
2014-05-21 -- v2.0
------------------------------------------------------------------
- revamped / simplified menu options
- updated coreboot firmware, integrated into standalone setup
- OpenELEC installer now uses standard OE version (vs custom build)
------------------------------------------------------------------
2014-05-19 -- v1.1
------------------------------------------------------------------
- added option for coreboot firmware update
------------------------------------------------------------------
2014-05-07 -- v1.0
------------------------------------------------------------------
initial release
Reply
#2
Thanks, no option to dualboot ubuntu + openelec for the ones that have removed chromeos with ubuntu already? Tongue that would be the best imo
My XBMC/Kodi folder: addons, skins, addon/menu backgrounds & more
Reply
#3
One could certainly install Ubuntu in standalone mode and set up the partitions such that OE could be installed along side it afterwards, but that's well beyond the scope of this "1-click" tool. The ChromeBox is a linux device, and I've done my best to try and mask the pain of dealing with that aspect of it for the average user, but at the end of the day if you want something other than a relatively vanilla config, you're going to have to get your hands dirty and do it yourself Smile
Reply
#4
Matt, you may want to add the tearing fix to your script for the ubuntu installation. Just add the following

Code:
echo -e "Section \"Device\"
    Identifier      \"Intel Graphics\"
    Driver          \"intel\"
    Option         \"TearFree\"    \"true\"
EndSection" > /tmp/urfs/usr/share/X11/xorg.conf.d/20-intel.conf

Were there a bunch of mceusb that weren't working? I just poped my dongle in and it just worked right after
installation without having to use the fix.
Reply
#5
Wow....this is impressive. I do not own a Chromebox, but I want to get one just to try this script Smile

BTW, few more screenshots will be great.

What will happen if I run the script twice? Will it overwrite the previous installation? Can I use it to try OpenElec first and then Ubuntu, if I don't like OE?
Reply
#6
This is awesome Matt, should help some of those who were on the fence due to the somewhat complicated process take the leap. More exposure for the box with this kind of usage can only be a good thing for further development. Thank you for your continued efforts. Just great!
Reply
#7
(2014-05-07, 21:39)tetsuya Wrote: Matt, you may want to add the tearing fix to your script for the ubuntu installation. Just add the following

Code:
echo -e "Section \"Device\"
    Identifier      \"Intel Graphics\"
    Driver          \"intel\"
    Option         \"TearFree\"    \"true\"
EndSection" > /tmp/urfs/usr/share/X11/xorg.conf.d/20-intel.conf

Were there a bunch of mceusb that weren't working? I just poped my dongle in and it just worked right after
installation without having to use the fix.

fix added.

Depending on the type of USB transfers a particular MCE device used, certain ones would not work when connected to USB 3.0 ports. I submitted a patch to fix this in the Linux kernel, but it has not yet been accepted. OpenELEC has implemented my fix already in v4.0.0. And installing Ubuntu with this script will update the kernel and apply the patch Smile

(2014-05-07, 21:45)underworld123 Wrote: Wow....this is impressive. I do not own a Chromebox, but I want to get one just to try this script Smile

BTW, few more screenshots will be great.

What will happen if I run the script twice? Will it overwrite the previous installation? Can I use it to try OpenElec first and then Ubuntu, if I don't like OE?

Well, that depends. If you set up a dual boot setup with either OE or Ubuntu and want to switch to the other, you'll need to restore ChromeOS first using Google's recovery tool (outlined in the wiki) since each modifies the internal HDD structure differently, and trying to change it all dynamically is more work than I care to put in. If you dual boot Ubuntu and want to switch to a different metapackage or different linux distro, then no problem. But if you've installed OE (or anything else in standalone) you'll have to restore ChromeOS (which is pretty trivial) since you can't run my script other than in ChromeOS when booted from the internal HDD.

what else did you want screenshots of?
Reply
#8
(2014-05-07, 22:10)Matt Devo Wrote:
(2014-05-07, 21:39)tetsuya Wrote: Matt, you may want to add the tearing fix to your script for the ubuntu installation. Just add the following

Code:
echo -e "Section \"Device\"
    Identifier      \"Intel Graphics\"
    Driver          \"intel\"
    Option         \"TearFree\"    \"true\"
EndSection" > /tmp/urfs/usr/share/X11/xorg.conf.d/20-intel.conf

Were there a bunch of mceusb that weren't working? I just poped my dongle in and it just worked right after
installation without having to use the fix.

fix added.

Depending on the type of USB transfers a particular MCE device used, certain ones would not work when connected to USB 3.0 ports. I submitted a patch to fix this in the Linux kernel, but it has not yet been accepted. OpenELEC has implemented my fix already in v4.0.0. And installing Ubuntu with this script will update the kernel and apply the patch Smile

(2014-05-07, 21:45)underworld123 Wrote: Wow....this is impressive. I do not own a Chromebox, but I want to get one just to try this script Smile

BTW, few more screenshots will be great.

What will happen if I run the script twice? Will it overwrite the previous installation? Can I use it to try OpenElec first and then Ubuntu, if I don't like OE?

Well, that depends. If you set up a dual boot setup with either OE or Ubuntu and want to switch to the other, you'll need to restore ChromeOS first using Google's recovery tool (outlined in the wiki) since each modifies the internal HDD structure differently, and trying to change it all dynamically is more work than I care to put in. If you dual boot Ubuntu and want to switch to a different metapackage or different linux distro, then no problem. But if you've installed OE (or anything else in standalone) you'll have to restore ChromeOS (which is pretty trivial) since you can't run my script other than in ChromeOS when booted from the internal HDD.

what else did you want screenshots of?

So if I already have Ubuntu 13.10 dual booted. I just have to run the script to install Ubuntu 14.04 over it without needing to reset the chromebox ?
Reply
#9
(2014-05-07, 23:39)Netix Wrote: So if I already have Ubuntu 13.10 dual booted. I just have to run the script to install Ubuntu 14.04 over it without needing to reset the chromebox ?

correct, it will erase 13.10 and install 14.04 + updated kernel + MCE fix + XBMC.

I've updated the OP with installation notes for each type when you don't have a "clean" system.
Reply
#10
This is great! Very nice!

I am considering getting a chromebox and with this script I think my biggest hurdle has been removed Smile!

Just curious about the noise level of the box, since I'm now running a raspberry pi (which is completely quite).
I know the chromebox will be much faster scrolling my rather big library, but if I leave it on 24/7 will I always hear a slight humming noise or will the fan stop after a while?
I think I'll run it 24/7 because I don't think you can power it on via a MCE remote, correct?


Anyhow, tnx for your work on this script (and the wiki!) Smile
Reply
#11
as far as I'm concerned it's inaudible unless the box is pressed directly against your ear
Reply
#12
+1 for an awesome contribution to the community.
Reply
#13
Hi there,


thank you very much for the script. It saved me a lot of headache as a newbie to this whole thing. However, when I installed ubuntu (dual boot), it created a user and I dont know the password. I was never asked to enter a password. Any help?

Thanks. Cheers.
Reply
#14
How much space does the Chrome OS needs?
Reply
#15
Username: user
Password: user

It's displayed at the Instalation complete and press enter to go back to the main menu screen, from looking in the script.
Reply
  • 1(current)
  • 2
  • 3
  • 4
  • 5
  • 553

Logout Mark Read Team Forum Stats Members Help
ChromeBox Kodi E-Z Setup Script (LibreELEC/Linux+Kodi) [2017/02/21]37