Installation Guide To install Ubuntu Debian - Jowdan-dot-com/Armor GitHub Wiki

Credits

https://wiki.postmarketos.org/wiki/Category:ChromeOS

https://velvet-os.github.io/chromebooks/installation/basic-installation.html

https://askubuntu.com/questions/1506894/how-to-install-ubuntu-on-an-arm-chromebook

https://velvet-os.github.io/chromebooks/installation/basic-installation.html

Warning

There is no support from the Chrultrabook or Mrchromebox community maybe someone will help you on the Chrultrabook Fourms but their projects are mainly for x86_64 Chromebooks

Enabling Dev Mode

THIS WILL FACTORY RESET YOUR CHROMEBOOK MAKE SURE YOU HAVE IMPORTANT DATA BACKED UP (if you know how to enable it or already have it enabled skip this section)

Press ESC + Refrsh + Power

Press CTRL + D

Press Enter

Press CTRL + D

Wait...

Press CTRL + D to turn the Chromebook on (you'll have to do this every time you are booting off internal storage

Enabling Dev USB boot and unsigned boot

When you are in Chrome OS...

Press CTRL + ALT + F2/Top Right Arrow

Login as the user chronos

Type in sudo crossystem dev_boot_usb=1 dev_boot_signed_only=0

Press CTRL + ALT + F1/Top Left Arrow to exit

Installing Ubuntu and Debian

This guide is tatored towards Debian and Ubuntu so after I write this I should have a link to a wiki page for instructions or repos for certain other distros and if I made that wiki page it should be next to this arrow ---> here

Getting the image and booting the image

Go here and download an release file from the bootable sd card images section you can also see tested devices as well.

Flash the image to an USB and then press CTRL + U to boot into it

Commands

Also BTW these commands assume your disk is mmcblk0 it may be mmcblk1 or you may be installing to an ssd so make sure you identify the disk correctly!

Root Access

Sudo -i

Identify target disk

lsblk

Export Target Disk

export disk=mmcblk0 export part=mmcblk0p

Export Source disk

export srcPart=mmcblk0p

Wipe Partition Table

sgdisk -Z /dev/$disk partprobe /dev/$disk sgdisk -C -e -G /dev/$disk partprobe /dev/$disk

Create new Partition Table

cgpt create /dev/$disk

Create Kernel Partitions

cgpt add -i 1 -t kernel -b 8192 -s 65536 -l KernelA -S 1 -T 2 -P 10 /dev/mmcblk0 cgpt add -i 2 -t kernel -b 73728 -s 65536 -l KernelB -S 0 -T 2 -P 5 /dev/mmcblk0

For the ASUS Chromebook Flip ONLY

cgpt add -i 1 -t kernel -b 73728 -s 32768 -l KernelA -S 1 -T 2 -P 10 /dev/$disk cgpt repair /dev/$disk cgpt add -i 2 -t kernel -b 106496 -s 32768 -l KernelB -S 0 -T 2 -P 5 /dev/$disk cgpt repair /dev/$disk

Create the rest of the partitions

  1. wget https://raw.githubusercontent.com/hexdump0815/imagebuilder/main/systems/chromebook_veyron/gpt-partitions.txt

  2. fdisk /dev/mmcblk0 < gpt-partitions.txt

Create the boot and root filesystems and mount them

  1. mkfs -t ext4 -O ^has_journal -m 0 -L bootemmc /dev/mmcblk0p3 mkfs -t btrfs -m single -L rootemmc /dev/mmcblk0p4 mount -o ssd,compress-force=zstd,noatime,nodiratime /dev/mmcblk0p4 /mnt mkdir -p /mnt/boot mount /dev/mmcblk0p3 /mnt/boot

  2. dd if=/dev/$mmcblk0p1 of=/dev/mmcblk0p1 bs=1024k status=progress

Sync over the boot and root filesystems

rsync -axADHSX --no-inc-recursive --delete /boot/ /mnt/boot rsync -axADHSX --no-inc-recursive --delete --exclude='/swap/*' / /mnt

Create Swap File (Optional)

rm -rf /mnt/swap btrfs subvolume create /mnt/swap chmod 755 /mnt/swap chattr -R +C /mnt/swap btrfs property set /mnt/swap compression none cd /mnt/swap truncate -s 0 ./file.0; btrfs property set ./file.0 compression none; fallocate -l 2G file.0; chmod 600 ./file.0; mkswap -L file.0 ./file.0

Note from the creator of the guide of installing Debian or Ubuntu, said you could create an Swap partition if you wanted to

Adjust filesystem labels in the new /etc/fstab

sed -i 's,bootpart,bootemmc,g;s,rootpart,rootemmc,g' /mnt/etc/fstab

Adjust filesystem labels in the u-boot config file if it exists (On 32bit ARM Chromebooks only)

sed -i 's,rootpart,rootemmc,g' /mnt/boot/extlinux/extlinux.conf

Unmount everything

umount /mnt/boot /mnt1

But this isn't the guide on how to chain load U-Boot to run any distro

Yes this isn't that guide but I haven't even got the Arm Chromebook I want to test it with yet.

Me yapping about my Arm Chromebook that barely works

I want to test it too and finally end this ARM support insanity but you have to understand the only ARM chromebook I have has an cracked screen, and it has issues with charging, and with the cracked screen it sometimes presses on the touchscreen by itself which in Chrome OS I had to enable a Chrome flag to fix it.

Congratulations!

You followed this guide :)