First Attempt of Alpine Linux on a Tegra K1 Chromebook (HP Nyan Blaze)
/Hi there again! Here’s to another seemingly-one-off project.
While I’ve been getting quite a lot of traffic on my Linux on Nintendo Switch page recently, I’m sorry to say that my Nintendo Switch died and was harvested for parts by an e-recycler for fixing other switches (minus the bad RAM chips) so I won’t be able to work on that project again unless someone donated a 2017 Nintendo Switch for me to firmware mod or a Switch Lite for me to hardware mod.
That said, a neighbor recently gave me an HP Chromebook 14 also known amongst the Chromebook/Chrultrabook modding scene as nyan-blaze. This chromebook appears to have a physical write protect screw, which are fairly easy to undo, instead of a battery write protect method, so getting into developer mode and installing things shouldn’t be too difficult. The hard part comes when I want to install another distro.
So far it seems NVIDIA Tegra K1 chip support amongst ARM Linux distros is fairly limited. With that in mind, and seeing that the volunteeer postmarketOS community may have worked with this in the past, I’ll go ahead and try running that from a MicroSD card on this system.
Now it looks like the battery on this system my be dead or the cable may be shorted, as it seems to turn off immediately when unplugged. I may have to open it back up and check the battery, but first let’s try running through building and installing a postmarketOS image to a MicroSD card to chuck in here.
[12:39:39] EVERYTHING ON /dev/sdb WILL BE ERASED! CONTINUE? (y/n) [n]: y (029929) [12:39:41] (native) calculate depends of cgpt (pmbootstrap -v for details) (029929) [12:39:41] (native) install cgpt (029929) [12:39:41] % sudo rm -f /home/s31bz/Documents/nyan-blaze/chroot_native/tmp/apk_progress_fifo (029929) [12:39:41] % sudo mkfifo /home/s31bz/Documents/nyan-blaze/chroot_native/tmp/apk_progress_fifo (029929) [12:39:41] (native) % cat /tmp/apk_progress_fifo (029929) [12:39:41] (native) % sh -c exec 3>/tmp/apk_progress_fifo; apk --no-progress --progress-fd 3 add cgpt --no-interactive (029929) [12:39:41] New background process: pid=36458, output=background WARNING: opening /mnt/pmbootstrap/packages: No such file or directory (1/1) Installing cgpt (6310032-r8) Executing busybox-1.36.1-r25.trigger OK: 23 MiB in 71 packages (029929) [12:39:42] (native) partition /dev/install (boot: 256M, reserved: 0M, root: the rest) (029929) [12:39:42] (native) % blockdev --getsz /dev/install 1048576000 (029929) [12:39:42] (native) % parted -s /dev/install mktable gpt (029929) [12:39:42] (native) % cgpt create /dev/install (029929) [12:39:43] (native) % cgpt add -i 1 -t kernel -b 8192 -s 32768 -l pmOS_kernel -S 1 -T 5 -P 10 /dev/install (029929) [12:39:43] (native) % cgpt add -i 2 -t efi -b 40960 -s 524288 -l pmOS_boot /dev/install (029929) [12:39:43] (native) % cgpt add -i 3 -t data -b 565248 -s 1048010719 -l pmOS_root /dev/install WARNING: One of the GPT headers/entries is invalid ERROR: please run 'cgpt repair' before adding anything. (029929) [12:39:43] (native) % partx -a /dev/install partx: /dev/install: error adding partitions 1-2 (029929) [12:39:43] % sudo touch /home/s31bz/Documents/nyan-blaze/chroot_native/dev/installp2 (029929) [12:39:43] % sudo mount --bind /dev/sdb2 /home/s31bz/Documents/nyan-blaze/chroot_native/dev/installp2 (029929) [12:39:43] % sudo touch /home/s31bz/Documents/nyan-blaze/chroot_native/dev/installp3 (029929) [12:39:43] % sudo mount --bind /dev/sdb3 /home/s31bz/Documents/nyan-blaze/chroot_native/dev/installp3 mount: /home/s31bz/Documents/nyan-blaze/chroot_native/dev/installp3: special device /dev/sdb3 does not exist. dmesg(1) may have more information after failed mount system call. (029929) [12:39:43] ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ (029929) [12:39:43] NOTE: The failed command's output is above the ^^^ line in the log file: /home/s31bz/Documents/nyan-blaze/log.txt (029929) [12:39:43] ERROR: Command failed (exit code 32): % sudo mount --bind /dev/sdb3 /home/s31bz/Documents/nyan-blaze/chroot_native/dev/installp3 (029929) [12:39:43] See also: <https://postmarketos.org/troubleshooting> (029929) [12:39:43] Traceback (most recent call last): File "/usr/lib/python3.12/site-packages/pmb/__init__.py", line 63, in main getattr(frontend, args.action)(args) File "/usr/lib/python3.12/site-packages/pmb/helpers/frontend.py", line 329, in install pmb.install.install(args) File "/usr/lib/python3.12/site-packages/pmb/install/_install.py", line 1295, in install install_system_image(args, 0, f"rootfs_", step, steps, File "/usr/lib/python3.12/site-packages/pmb/install/_install.py", line 836, in install_system_image pmb.install.partitions_mount(args, layout, disk) File "/usr/lib/python3.12/site-packages/pmb/install/partition.py", line 52, in partitions_mount pmb.helpers.mount.bind_file(args, source, target) File "/usr/lib/python3.12/site-packages/pmb/helpers/mount.py", line 72, in bind_file pmb.helpers.run.root(args, ["mount", "--bind", source, File "/usr/lib/python3.12/site-packages/pmb/helpers/run.py", line 52, in root return user(args, cmd, working_dir, output, output_return, check, env, ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.12/site-packages/pmb/helpers/run.py", line 30, in user return pmb.helpers.run_core.core(args, msg, cmd, working_dir, output, ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.12/site-packages/pmb/helpers/run_core.py", line 403, in core check_return_code(args, code, log_message) File "/usr/lib/python3.12/site-packages/pmb/helpers/run_core.py", line 251, in check_return_code raise RuntimeError(f"Command failed (exit code ): " + RuntimeError: Command failed (exit code 32): % sudo mount --bind /dev/sdb3 /home/s31bz/Documents/nyan-blaze/chroot_native/dev/installp3
From the looks of things, it seems the postmarketOS python script may be having issues with the installed python packages as well as some other issues that I haven’t troubleshot before.
Hmm, I wonder if it’s the aspects of Python on this oddball Nobara 39 install? Perhaps I’ll go give it a try on my pure Fedora 40 install that runs on my Framework. After rebooting the Nobara desktop (after running updates) it seems it’s still failing, and I’m a bit too lazy to dig in deep and see what could be wrong on this install.
While waiting for the process of installing to a new microsd card after fully updating the Fedora 40 Framework 13 (7840U, 48gb ram) I went ahead and unscrewed all the screws that clamp the keyboard deck and bottom half together.
Looks like someone was in here previously! An electrical-taped battery connector doesn’t seem like a safe sight to behold, but that could also explain why it seems this guy doesn’t have a functioning battery. As I got this system for free, and it’s quite flimsy, I’m not about to invest any amount of money in replacing the battery etc, so I’ll just repaste the ARM CPU for now and take out that bottom-right write protect screw.
Now that I’ve removed the write protect screw, let’s see if we can finally install postmarketOS edge to this chromebook, per the instructions on the postmarketOS site.
Sadly, it looks to be that even after updating pmbootstrap and trying to install to an sdcard again on the Fedora 40 laptop, it’s a failure, possibly stemming from more python issues.
I’ll give this another try during the weekend or next Monday and write a new blog post around then to see if anything’s changed. I’ll make sure my python installs are up to date around then, with all Fedora updates applied as well along with an updated pmbootstrap install.
In other news, here are some videos and blog posts I found interesting these past two weeks!