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
-
wget https://raw.githubusercontent.com/hexdump0815/imagebuilder/main/systems/chromebook_veyron/gpt-partitions.txt
-
fdisk /dev/mmcblk0 < gpt-partitions.txt
Create the boot and root filesystems and mount them
-
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
-
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 :)