Difference between revisions of "Installing/Creating Bootable USB"

From GalliumOS Wiki
Jump to: navigation, search
(On Windows (Traditional))
Line 24: Line 24:
  
 
== On ChromeOS or Linux (Traditional) ==
 
== On ChromeOS or Linux (Traditional) ==
 +
 +
<div style="padding:0.2em; background-color:#ffffcc; border:1px solid #cccc88">
 +
* We recommend '''dd''' or '''cp''' (see below)
 +
* '''Do not use the ChromeOS Recovery Tool to write ISOs'''
 +
</div>
  
 
# First, you need to download the GalliumOS iso for your Chromebook.
 
# First, you need to download the GalliumOS iso for your Chromebook.
Line 57: Line 62:
 
* '''Do not use YUMI'''
 
* '''Do not use YUMI'''
 
* '''Do not use ISO to USB'''
 
* '''Do not use ISO to USB'''
* '''Do not use the ChromeOS Recovery Imager'''
 
 
All of the above have been reported to have major or minor problems. Please use a recommended tool, and save us all some time! :)
 
 
</div>
 
</div>
  

Revision as of 00:15, 12 September 2019

Creating bootable GalliumOS media is very similar to other Linux distributions. Unfortunately, that doesn't mean it's easy. The goal of this guide is to make it as straightforward as possible.

On Windows, macOS (OS X), and Linux (using Etcher)

Etcher is an excellent tool for writing the ISOs to bootable USBs because it is fast, easy to use, and it automatically verifies the integrity of the image after writing it.

If you would like a video to follow along with, I've made this one, which I believe to explain the process very well: https://www.youtube.com/watch?v=Pv0WansPmLs

Before you get started, download the correct version of GalliumOS for your device from https://galliumos.org/download If you don't know which version you need, check out the Hardware Compatibility page.

Also, download the correct version of Etcher for your operating system from http://www.etcher.io/ Once you've downloaded both and installed Etcher, proceed with the guide.

  1. Launch Etcher. It may ask you for your password. Etcher requires root (or Administrator) permissions to get write access to the raw devices.
  2. Plug your flash drive in to your computer
  3. Click on "Select Image" in Etcher
  4. Select the GalliumOS iso by navigating through the files and folders in your filesystem
  5. Select your flash drive in Etcher. If it is the only one connected to your computer, it should select it automatically. Make certain you choose the right one. Everything on the selected drive will be permanently erased.
  6. Start the flash by clicking "Flash!" in Etcher. It may take quite a while, depending on the speed of your flash drive and your computer.
  7. Verify the write. After flashing, Etcher will automatically verify that the write was successful. Important! If you're on macOS, a dialog stating that the disk you inserted was not readable may appear. Make sure you click on "Ignore", as any other button may damage the GalliumOS Installer.
  8. Close Etcher after you see the "Flash Complete!" confirmation screen. It is now safe to remove your drive and install GalliumOS!

If you are unable to boot your ChromeOS device using your new USB media, see Troubleshooting, below.

On ChromeOS or Linux (Traditional)

  • We recommend dd or cp (see below)
  • Do not use the ChromeOS Recovery Tool to write ISOs
  1. First, you need to download the GalliumOS iso for your Chromebook.
  2. Once the iso is finished downloading (you MUST wait for it to finish), open up your favourite Terminal emulator.
  3. cd to the place where you downloaded the iso. It's probably ~/Downloads.
  4. cd ~/Downloads
  5. Plug in your USB device, identify it, and unmount it. This is a little tricky. You can use lsblk to get a list of storage devices attached to your system. Try to find out which one is your USB flash drive. It is very important to not get this wrong, as it could cause catastrophic data loss. Once you've figured it out, make sure the USB flash drive is unmounted.
  6. sudo umount -f /dev/sdb1
  7. Be sure to replace sdb1 with the actual partition name as listed in lsblk. Next, use dd to copy the ISO to the USB flash drive.
  8. sudo dd bs=1M if=galliumos.iso of=/dev/sdb ; sync
  9. Be sure to replace galliumos.iso with the filename of the iso you want to write. Usually typing "galliumos" and hitting tab will autocomplete it for you. Also be sure to replace sdb with the actual device as listed in lsblk. Make sure to write to the DEVICE and NOT the partition. This process can take a long time depending on the speed of your flash drive, USB connection, and hard drive. Be patient. Once the prompt comes back, the ISO should be written.

If you are unable to boot your ChromeOS device using your new USB media, see Troubleshooting, below.

On macOS (OS X) (Traditional)

  1. Download the GalliumOS ISO for your ChromeOS device: https://galliumos.org/download
  2. Insert USB media into Mac OS X machine
  3. Carefully determine device path for newly inserted USB media from a Terminal.app window
    bash$ diskutil list
    The device path will be something like /dev/diskN. Replace N in all steps below with the correct disk number.
    It is extremely important to determine the correct device path for your USB media in this step. Using the wrong device path in the following steps could damage your OS X install and cause irreparable data loss!
  4. Unmount USB media from OS X
    bash$ diskutil unmountDisk /dev/diskN
  5. Copy the ISO to USB media (dd works too, but cp is simpler and more familiar)
    bash$ sudo cp -X ./galliumos.iso /dev/rdiskN
    Be sure to use the correct path and filename for the galliumos.iso file downloaded in step 1, and to use the rdisk device name as the copy destination. The -X option is required to strip any extended attributes that are added by web browsers to downloaded files.
  6. Eject USB media from OS X
    bash$ diskutil eject /dev/diskN
  7. Remove USB media from Mac OS X machine, it's now ready for your ChromeOS device

If you are unable to boot your ChromeOS device using your new USB media, see Troubleshooting, below.

On Windows (Traditional)

  • We recommend Etcher (see above) or Win32DiskImager (see below)
  • Rufus is also fine, but be sure to select "Write in DD-Image mode"
  • Do not use UNetbootin
  • Do not use YUMI
  • Do not use ISO to USB

Before you get started, download the correct version of GalliumOS for your device from https://galliumos.org/download If you don't know which version you need, check out the Hardware Compatibility page.

Also, download and install Win32DiskImager from [SourceForge]. If you already have it, just open it up.

  1. Launch Win32DiskImager
  2. Plug in your USB device and identify it's drive letter.
  3. Click the folder button next to the empty box on Win32DiskImager.
  4. Change the file type from Disk Images (.img) to *.*.
  5. Select the GalliumOS iso by navigating through the files and folders on your filesystem.
  6. Select the letter of your USB drive from the dropdown in Win32DiskImager.
  7. Click the Write button on Win32DiskImager.
  8. Confirm the write if prompted to overwrite or corrupt of physical device.
  9. Wait for it to finish... It may take a while.
  10. Click OK when you see the Write Successful popup.
  11. Eject your USB drive before unplugging it.

If you are unable to boot your ChromeOS device using your new USB media, see Troubleshooting, below.

Troubleshooting

Creating installation media is (by far!) the most error-prone step to installing GalliumOS.

There are many things that can go wrong. Some errors are immediately obvious (won't boot), others can be very surprising (installer crash, IO errors). If you're having trouble, consider this list of possibilities:

(Very) Common Problems

  • Mistaken write: Human error happens! Please reread the instructions very carefully -- make sure you're writing to the correct device, and to the correct device file (which is different from the device file in other commands).
  • Corrupt write: We frequently see corrupt writes to USB/SD media even when all steps are followed correctly. Sometimes the second or third try "just works", but confirm the MD5 checksum first.
  • Bad USB/SD media: These devices aren't known for their reliability. Try a different USB drive or SD card if you are able.

Less-Common Problems

  • Corrupt image download: Compare the MD5 checksum for your download to the the published checksum. Replace galliumos.iso with the name of the file you downloaded, of course:
  • Wrong USB port: Some models and firmwares only boot from USB2.0 (black) ports, not USB3.0 (blue) ports. This is only a boot problem -- writing should work to either.
  • Bad image: Sometimes we make bad nightly images! It's rare, but it has happened. Please let us know if you run into this problem. The ISOs linked from the GalliumOS download page are well-tested, so try one of those instead.

Testing your USB drive and write

You can verify your image, as-written to USB or SD media. This is often different from the image saved to the ISO file, which always indicates a problem!

The steps are a bit more complicated, and sometimes need to be repeated more than once to identify intermittently-failing USB/SD storage media:

   # Verify the ISO image, as-written to USB or SD media
   #
   # Replace "galliumos.iso" with the path to your ISO file
   # Replace "/dev/sdb" with the device path of your USD or SD media.
   #   (check with "lsblk" and use the disk device only, not a partition device)
   #
   # Visit our support channel on IRC or Reddit for help with any of these steps!
   #
   ISO_SIZE="$(stat -c '%s' galliumos.iso)"
   ISO_MEDIA="/dev/sdb"
   sudo head -c "$ISO_SIZE" "$ISO_MEDIA" | md5sum

This should return an MD5 result which matches the published value, and also matches the results of the check of the ISO file itself (described above).

Additionally, the GalliumOS ISO should boot any x86 computer. This is a safe test -- booting from the ISO launches a "Live" demo environment, which does not (automatically) attempt to install any software. This will only identify failed writes that impact booting, of course.

If all else fails, you might have better luck using chrx to install GalliumOS in a dual-boot config, which downloads directly from the GalliumOS servers, and does not require any installation media.