From Mageia wiki
Jump to: navigation, search
this page is a draft.
It requires improvements. If you want to improve it, simply log in and click on the Edit tab.

Please remove this {{Draft}}template, when you're sure the page is complete and correct.


View the other draft pages, or other pages to improve and maintain.
Synopsis:

Chromebooks and Chromeboxes are ideal platforms for Mageia. They are inexpensive, and are designed to be linux friendly. This page describes how to install Mageia on Chromebooks/boxes either as single boot, or dual booting with ChromeOS.

Installing Mageia on a Chromebook

Chromebooks can be divided into two types, Intel based, and ARM based hardware. At present Mageia is not officially available for ARM architectures. (But if you are up to it you could start here).

Mageia may be installed on Intel based Chromebooks either as single boot, or as dual boot.

THIS SECTION IS A WORK IN PROGRESS. FEEL FREE TO ADD TO IT.

Dual Booting Mageia and ChromeOS on a Chromebox

The Haswell Celeron-based Chromebox is available in variants from a number of manufacturers(Asus, HP, Acer, and Dell). It is a small light-weight x86-64 PC that natively runs ChromeOS, but with a few simple tweaks, has the capability to run pretty much any Linux distro. It features HDMI and DisplayPort video outputs (which can be used simultaneously), 4x USB 3.0 ports, gigabit Ethernet, an SD card slot, and built-in 802.11a/b/g/n wireless and Bluetooth 4.0.

By default Chromeboxes will boot straight into ChromeOS using an EFI BIOS. However if the Chromebox is put into 'developer mode' then at boot time it is possible to use the keyboard to choose a boot into ChromeOS, or to boot legacy BIOS(SeaBIOS) and boot into another operating system. It is also possible to configure the Chromebox to boot the legacy BIOS by default after a short or long delay.

Before installing linux on a Chromebox it is recommended to upgrade the BIOS to a community developed version to overcome a bug in the stock legacy BIOS that prevented booting from USB. A script by Matt Devo [1] is a convenient way to both upgrade the BIOS and partition the file system of the Chromebox in preparation for installing Mageia. The first time the script is run it will upgrade the BIOS and partion the SSD to make sda7 available to install linux. The second time it is run it will install Ubuntu on the new partition. There is no need to run the script a second time when installing Mageia.

Preparation

In order to upgrade the BIOS or change any boot flags the Chromebox has to have its write protect screw removed. Refer to the Kodi wiki for instructions on how to locate the write protect screw on the various models. It is also necessary to put the Chromebox into developer mode.


Booting Mageia Installation Media

Even after upgrading the legacy BIOS there is still a problem when it comes to booting Mageia installation media from USB. No matter which Mageia media is used, Live, Classic, all.img, or boot.iso. When the Chromebox starts to boot the Chromebox will immediately reset again. Other linuxes do not appear to have this problem. To get around this issue it is necessary to boot initially into grub4dos on an SD card, and then use grub to boot the Mageia installation media. (An SD card is preferred to a USB flash for grub4dos because the Chromebox legacy BIOS will boot to SD even without being upgraded, and to avoid any confusion about drive numbering when booting)

Preparing a grub4dos SD card

A grub4dos boot media may be created either on another computer, or using ChromeOS in developer mode. Thanks to Timothy Li for these instructions

Boot your Chromebox into ChromeOS (after having put it into developer mode)

Download grub4dos-0.4.5c-2014-01-17.7z to Downloads folder. Goto cloudconvert.com to convert it to a zip file and save the zip file to Downloads folder. Open the zip file in Files app and extract bootlace.com and grldr to Downloads folder.

Install a text editor extension such as Text to ChromeOS.

Use it to create a text file called menu.lst with the contents

timeout 3
default 0

title Mageia-on-HD
kernel (hd1,6)/boot/vmlinuz BOOT_IMAGE=linux root=/dev/sda7  splash quiet
root (hd1,6)
initrd /boot/initrd.img

title Mageia-install-media
#find --set-root /mageia/VERSION
root (hd0,0)/mageia
kernel /isolinux/x86_64/vmlinuz mem=999999M tpm_tis.force=1 toram splash quiet
initrd /isolinux/x86_64/all.rdz

Enter Ctl+Alt+F2 to switch to the developer console. Log in as user chronos no password is necessary

First, enable usb and legacy boot:

sudo crossystem dev_boot_usb=1 dev_boot_legacy=1


Now, insert an SD card (any size) in the Chromebox. Partition the SD card by typing this command in the developer console:

sudo cfdisk /dev/sdb


In cfdisk, delete all existing partitions. and create 1 fresh primary Windows partition (type 0C), set boot flag on.

Write changes to disk and exit cfdisk.

Format the SD card

sudo mkfs -t vfat /dev/sdb1

Next, create a temporary mount point and mount the 1st partition of the SD card:

mkdir p1
sudo mount /dev/sdb1 p1

Next, install grub4dos on the SD card:

sudo cp Downloads/grldr p1/
sudo cp Download/menu.lst p1/
sudo umount p1
rmdir p1

mkdir p12
sudo mount /dev/sda12 p12
cp Downloads/bootlace.com p12/
sudo p12/bootlace.com --time-out=0 /dev/sdb
rm p12/bootlace.com
sudo umount p12
rmdir p12

Press Ctrl+Alt+F1 to switch back to the graphical interface, and power off Chromebox.

Booting from grub4dos

Having prepared the grub4dos boot media now all you have to do is boot the Chromebox with the grub4dos SD card inserted, and a Mageia boot media (Classic, Live, or boot.iso) installed in a USB slot. Press Ctl+L after power on to make the chromebox boot into Legacy BIOS and you should see a Grub menu. Select the second option Mageia-install-media and booting should continue from the USB media,and Mageia will install normally.

Setting up Grub after installation

There is one more small prooblem with installing Mageia on a Chromebox we must fix. When the Mageia installer installs Grub to the MBR of the Chromebox SSD, grub will always be corrupted, and the system will not boot after installation has finished. Nor is it possible to tell the installer to install grub2 instead since drakboot will fail during install if grub2 is selected.

The solution is to boot once more from grub4dos, but this time select the first item in the grub menu Mageia-on-HD. This menu item will boot a linux image on sda7. Once Mageia has been successfully booted we can install grub2 correctly.

(If there is any problem booting into the installed Mageia be aware that it is trivially easy to addd another Linux image such as Puppy Linux to the grub4dos boot media which can be used to fix any errors. Refer to Timothy Li's instructions for details on how to add Puppy Linux to the SD card.

Installing grub2 on Chromebox

  • Open Mageia Control Centre and select Boot>SetupBootSystem
  • Select grub2 as the bootloader to be used and select OK to install grub2 to the MBR
  • Installation of grub2 will fail and a window will pop up telling you grub2 cannot be installed.
  • Installation of grub2 can now be completed by opening a terminal, enter su to become root user and issuing this command
/usr/sbin/grub2-install /dev/sda --force

Now remove the SD card and reboot the Chromebox using legacy BIOS (Ctl+L), and it should boot into grub2 and thence into Mageia.

Resources

  • The ArchLinux wiki page has a lot of useful information regarding ChromeOS hardware Chromebooks at Arch Linux wiki
  • The Kodi Wiki has excellent information on how to install linux on a Chromebox
  • How to use Matt Devo's EZInstall script to upgrade BIOS on a Chromebox and prepare it for dual boot EZInstall script
  • John Lewis' script to upgrade BIOS in ChromeOS products getnflash