diff --git a/blog/posts/0144-archarm-uefi-mcbin-install.cfg b/blog/posts/0144-archarm-uefi-mcbin-install.cfg index 7402424..f517ef9 100644 --- a/blog/posts/0144-archarm-uefi-mcbin-install.cfg +++ b/blog/posts/0144-archarm-uefi-mcbin-install.cfg @@ -1,5 +1,5 @@ -filename = 2021-08-30-installing-archarm-with-uefi-on-the-mcbin.html +filename = 2021-08-31-installing-archarm-with-uefi-on-the-mcbin.html title = Installing ArchLinuxARM with UEFI on the MACCHIATObin description = A guide to installing ArchLinuxARM with UEFI boot on a MACCHIATObin. -created = 2021-08-30 -updated = 2021-08-30 +created = 2021-08-31 +updated = 2021-08-31 diff --git a/blog/posts/0144-archarm-uefi-mcbin-install.html b/blog/posts/0144-archarm-uefi-mcbin-install.html index 6526928..79ef0f5 100644 --- a/blog/posts/0144-archarm-uefi-mcbin-install.html +++ b/blog/posts/0144-archarm-uefi-mcbin-install.html @@ -1,5 +1,5 @@

So I've decided to write this little guide because of how much I've suffered -to get this to work, and how absolutely broken the MACCHAITObin documentation +to get this to work, and how absolutely broken the MACCHIATObin documentation is. Actually, just their website in general is broken. Marvell, please get your act together with your website. It's not as if you're modifying it all that often, so stop breaking things.

@@ -11,16 +11,16 @@ often, so stop breaking things.

obvious), you're also going to want the following:

Prepare ArchLinuxARM U-Boot SD Card

@@ -94,8 +94,9 @@ to save it to the USB storage device using a FAT32 formatted partition. If you're reading this sort of guide you should already know how to format a USB storage device, but I'll remind you that you don't only have to format the partition with mkfs.vfat -F 32 <partition>, but you actually -also have to set the partition type to FAT32. I say this because I forgot to do -this, and waste some time on it.

+also have to set the partition type to FAT32 when creating the partition with +fdisk (or similar tools). I say this because I forgot to do this, +and wasted some time here.

Once you have this done, copy the image binary onto the newly formatted storage device. You can either keep the name of uefi-mcbin-spi.bin @@ -130,6 +131,64 @@ times. It gave me some weird errors the first few times I tried, and then magically it started working after what must've been the third time.

Installing ArchLinuxARM

+

Preparing the Installation Media

+

Since we're going for a desktop setup, the ideal is to install the entire OS +onto a hard drive connected via one of the SATA ports. The issue here isn't so +much the installation itself, but the live OS used to install it. The reason is +that ArchLinuxARM does not currently provide images, much less images configured +for UEFI boot. If the SD card we've used earlier provides access to an internet +connection as well as to the hard drive you wish to install on, then use that. +If not, you'll have to get a live image of some other distribution to boot from +that supports UEFI and can access the hard drive. In my case, I used the Debian +ARM64 image (not netinst!).[6] Since it +is an installation media, I had to install it from a USB stick onto a SD card +to finally work from the SD card to install ArchLinuxARM to the hard drive.

+ +

Regardless of the image you choose to use, make sure you can install the Arch +Install Scripts (usually arch-install-scripts), as it's going to +make your life easier to use genfstab and +arch-chroot.

+ +

Installation & Configuration

+

If you're familiar with the installation process of normal ArchLinux (amd64) +or some other more manual installation process, such as Gentoo, then from this +point on everything should be quite familiar. First, partition the hard drive +with the partitions you want and format them; then mount the partitions in the +structure you want (e.g. home partition mounted as /mnt/home); +finally we populate the filesystem with the files we want. Whereas the ArchLinux +Installation Guide tells us to use pacstrap, it doesn't make much +sense for us to use this. So instead, we'll be using the tarball provided by +ArchLinuxARM for aarch64 platforms.[7] Simply +extract the tarball over the mounted root directory to populate everything. This +step replaces pacstrap. After this you can basically follow the +ArchLinux Installation Guide[8] The only step that +will be different is when we install our boot loader.

+ +

Installing the Boot Loader (GRUB)

+

This step has a small trick to it. The process is for the most part exactly +the same as what is described in the instructions found on the +ArchWiki,[9] with an extra step right before +running the grub-mkconfig command.

+ +

If you try running grub-mkconfig, you'll notice that it doesn't +create any entries for the OS we've just installed. This is because the kernel +in ArchLinuxARM uses the filename Image, which the image finder of +grub-mkconfig doesn't recognize. As you can imagine, this can be +solved by just making a simple symbolic link to the kernel file with a filename +that is recognized. In my case, I simply created a link named +vmlinuz-linux as appears on my x86_64 machine:

+ + + +

Reboot

+

At this point, the OS should be properly installed, and you should be able to +reboot the machine into ArchLinuxARM from UEFI on your MACCHIATObin. Do make +sure to remove whatever live media you were using for the installation.

+ +

Happy hacking!

References

    @@ -164,4 +223,28 @@ magically it started working after what must've been the third time.

    Armada 8040 U-Boot and ATF: to SPI Flash - Solid Run +
  1. + + Index of /debian-cd/current/arm64/iso-dvd + +
  2. +
  3. + + Generic AArch64 Installation + +
  4. +
  5. + + Installation guide - ArchWiki + +
  6. +
  7. + + GRUB: UEFI systems - ArchWiki + +