Hi, I’ve been using the MrChromebox script to swap out the 128 GB eMMC that came with my my Idea Pad 5 Chrome 16IAU7 laptop to an NVME drive and set up the machine to dual boot into Ubuntu 23.
Spec sheet: https://psref.lenovo.com/syspool/Sys/PDF/IdeaPad/IP_5_Chrome_16IAU7_Gaming/IP_5_Chrome_16IAU7_Gaming_Spec.pdf
I had to follow these instructions to be able to boot from the NMVE: https://www.reddit.com/r/chromeos/comments/15x3q11/lenovo_gaming_16_taniks_i3_sku_how_to_upgrade/?share_id=aOkZLv9ctGCIhOSQglNle&utm_content=2&utm_medium=ios_app&utm_name=ioscss&utm_source=share&utm_term=1
But I got things working. I have a few problems though I was hoping someone could tell me figure out:
Sometimes when booting I get the error “nvme nvme0: Device not ready; aborting installaition, CSTS=0x0”. Also sometimes when coming out of sleep I think the same error occurs and it causes the login screen to break. This also occurred during Ubuntu installation (install would sometimes only see the USB stick and not the NVME drive, other times it could). I think going to the boot menu and picking a boot device lowers rate of failure but doesn’t eliminate it.
I can’t get sound to work even using GitHub - WeirdTreeThing/chromebook-linux-audio: Script to enable audio support on many Chrome devices
I can’t get Fn keys to work. Pressing the search key before the fn key works in ChromeOS but not Ubuntu
I’m not sure if all these are firmware related but I think at least some ought to be (and if anyone has tips on the others I’d appreciate it). I searched the forum and didn’t see any relevant previous posts.
Oops the nvme error message is “nvme nvme0: Device not ready; aborting initalization, CSTS=0x0". And of course when it can’t find the hard drive boot fails.
I also tried MrChromebox’s scripts for hotkeys without success.
I’m afraid I don’t know anything about replacing your Chromebook’s internal storage. As for identifying sound issues on your Chromebook, please run the debugging script and tag WeirdTreeThing.
Can you also share the .conf file in /etc/keyd here so I can take a look and see if I can help with the shortcut key issue you’re having?
Replacing the internal storage worked fine. I believe the error related to not finding the NVME is independent of that (but I mentioned it just in case it was somehow relevant) as this never happens when booting to ChromeOS, it only happens with edk2 booting to grub for Ubuntu. Once the boot partition is found there are never any errors accessing the disk from Ubuntu.
Here’s the contents of /etc/keyd:
$ cat /etc/keyd/cros.conf
f1 = back
f2 = refresh
f3 = f11
f4 = scale
f5 = print
f6 = brightnessdown
f7 = brightnessup
f8 = micmute
f9 = mute
f10 = volumedown
f11 = volumeup
back = back
refresh = refresh
zoom = f11
scale = scale
print = print
brightnessdown = brightnessdown
brightnessup = brightnessup
micmute = micmute
mute = mute
volumedown = volumedown
volumeup = volumeup
f1 = f1
f2 = f2
f3 = f3
f4 = f4
f5 = f5
f6 = f6
f7 = f7
f8 = f8
f9 = f9
f10 = f10
f11 = f11
back = f1
refresh = f2
zoom = f3
scale = f4
print = f5
brightnessdown = f6
brightnessup = f7
micmute = f8
mute = f9
volumedown = f10
volumeup = f11
backspace = delete
brightnessdown = kbdillumdown
brightnessup = kbdillumup
f6 = kbdillumdown
f7 = kbdillumup
f5 = print
scale = print
Here’s the output of debug script: https://file.io/Mgs0NGrPS5zL
That all looks right to me. You don’t have an F13 key but it shouldn’t stop all of the other keymappings from working.
@sadlerm wrt to the Fn keys, to be clear, they do work as ‘back’ / ‘volume up’ etc… keys but I’m unable to find a key combination that actually sends F1, F2 etc… which is what I want. I’ve tried both search + F-key (which is what works in ChromeOS) as well as Ctrl+Alt+F-key (somewhere on the internet I think I read maybe that’s how it should be accessed). Am I just not using the right modifier key? Is the [meta] from the config file the Chrome ‘search’ key?
Ideally I’d be able to set them to send F1, F2 … by default and then have a modifier for sound up / mute / etc… but as long as I can use both modes somehow that’s good enough for me.
Forgot to tag @MrChromebox in reply with the debugging script output.
if you’re dual booting, you’re running the stock firmware, and there’s nothing one can do at the firmware level to fix any issues which might come out of running RW_LEGACY along side it – be they audio or keymapping related.
if your NVMe drive is failing to boot from edk2, it could be a coreboot issue, or it could be an edk2 issue, but there’s no way to debug it because there’s no debug output from the stock firmware. You’d have to flash the UEFI Full ROM firmware and hope the issue is reproducible there, and hope it’s in edk2 so it can be fixed there.
You were supposed to tag @WeirdTreeThing
No audio for them on taniks apparently, they ran the debugging script and sent a link
I tried xubuntu 23 and now hotkeys are working fine.
if your NVMe drive is failing to boot from edk2, it could be a coreboot issue, or it could be an edk2 issue, but there’s no way to debug it because there’s no debug output from the stock firmware
Will rerunning the MrChromebox script update coreboot/edk2? Assuming it is a bug in one of those I’d like to try newer versions of them as they’re available.
Issue is 6.5 kernel
Is 6.5 too new or too old or what? I happy to do a bunch of manual steps to fix there’s a way to fix it.
Used ‘mainline kernels’ to upgrade to 6.6.15 and then ran the ‘chromebook-linux-audio’ setup again and still only see the dummy output device. Anything else required?
> uname -a
Linux <hostname> 6.6.15-060615-generic #202402010035 SMP PREEMPT_DYNAMIC Thu Feb 1 01:23:26 UTC 2024 x86_64 x86_64 x86_64 GNU/Linux
you need to make sure you are booting on the chrultrabook kernel.
catloaf@debian:~$ uname -r
I use this script to install the kernel:
sudo echo "root permission granted"
sudo apt install -y ./*.deb
apt should make it the default kernel.
If uname -r still doesn’t show a chrultrabook kernel, try uninstalling the chrultrabook kernel and installing it again:
apt search linux-image | grep installed
and remove all of them that end in chrultrabook, then rerun audio script.
The modified kernel & running the script again worked!! Thank you!!
Is the kernel documented on https://docs.chrultrabook.com/ anywhere? I hadn’t seen references to it elsewhere