Lenovo Chromebook C13 yoga

Hi there! First time posting. I recall getting a rundown of how these projects are working now from Elly previously.
Previously, various projects existed to get Fedora in some shape or form running on this Chromebook of mine, but some of them are defunct now.

May I have some assistance in building a Fedora image for this device?

1 Like

Hi, welcome! :wave:

According to our documentation, C13 Yoga == MORPHIUS, so no need to build custom images if your device is using NVME as storage.

Situation is a bit more complicated with eMMC as Picasso is (AFAIK) the only x86 platform using MMIO (Memory Mapped I/O), where you’d need to either put /boot/efi and /boot on mSD/USB, or indeed - build a depthcharge image.

Ultramarine folks are working on it, so it should get easier fairly soon!

Please post the output from lsblk in ChromeOS, it’ll help with identifying the storage type used by your device :blush:

1 Like

Hi there! Thanks for replying!
This guy uses NVMe instead of emmc so that should be fine. Perhaps one day I’ll upgrade it to a 512gb 2242 instead of the 128gb in there now.
Here’s the results of lsblk from the Linux container- I’m going to enable Developer mode now to get better access to that built-in terminal:

s31bz@penguin:~$ lsblk
vda   254:0    0   66M  1 disk /opt/google/cros-containers
vdb   254:16   0 35.4G  0 disk /dev/net/tun
pmem0 259:0    0  710M  0 disk 

You are supposed to run lsblk in crosh, after running shell. Not in crostini.

It appears lsblk doesn’t work in crosh?

crosh> lsblk
ERROR - ERROR: unknown command: lsblk

Ah, I re-read the docs and here it is:

crosh> shell
Sudo commands will not succeed by default.
If you want to use sudo commands, use the VT-2 shell
(Ctrl-Alt-{F2/Right arrow/Refresh}) or build the image with the
login_enable_crosh_sudo USE flag:

$ USE=login_enable_crosh_sudo emerge-$BOARD chromeos-login
$ USE=login_enable_crosh_sudo cros build-packages --board=$BOARD
chronos@morphius-rev6 / $ lsblk
       7:0    0   804K  1 loop /run/chromeos-config/v1
       7:1    0  32.6G  0 loop 
     254:1    0  32.6G  0 dm   /home/chronos
       7:2    0  87.2M  1 loop /usr/share/chromeos-assets/speech_synthesis/patts
       7:3    0   9.2M  1 loop /usr/share/chromeos-assets/quickoffice/_platform_specific
       7:4    0   6.5M  1 loop /usr/share/cros-camera/libfs
       7:5    0     8M  1 loop 
     254:2    0   5.5M  1 dm   /run/imageloader/sr-bt-dlc/package
       7:6    0     4M  1 loop 
     254:3    0   320K  1 dm   /run/imageloader/fio-dlc/package
       7:7    0  19.9M  1 loop 
     254:4    0  13.3M  1 dm   /run/imageloader/tts-en-us-b/package
       7:8    0  16.9M  1 loop 
     254:5    0   6.4M  1 dm   /run/imageloader/nc-ap-dlc/package
       7:9    0    40M  1 loop 
     254:6    0   8.6M  1 dm   /run/imageloader/assistant-dlc/package
     253:0    0  15.5G  0 disk [SWAP]
     259:0    0 119.2G  0 disk 
|    259:1    0 111.1G  0 part /run/daemon-store-cache/usb_bouncer/acdf57a2f84894da3371494b8c1602eeb6aca6a2
|                              /run/daemon-store-cache/shill/acdf57a2f84894da3371494b8c1602eeb6aca6a2
|                              /run/daemon-store-cache/pvm/acdf57a2f84894da3371494b8c1602eeb6aca6a2
|                              /run/daemon-store-cache/u2f/acdf57a2f84894da3371494b8c1602eeb6aca6a2
|                              /run/daemon-store-cache/appsync-consent/acdf57a2f84894da3371494b8c1602eeb6aca6a2
|                              /run/daemon-store-cache/debugd/acdf57a2f84894da3371494b8c1602eeb6aca6a2
|                              /run/daemon-store-cache/biod/acdf57a2f84894da3371494b8c1602eeb6aca6a2
|                              /run/daemon-store-cache/dlp/acdf57a2f84894da3371494b8c1602eeb6aca6a2
|                              /run/daemon-store-cache/appsync-optin/acdf57a2f84894da3371494b8c1602eeb6aca6a2
|                              /run/daemon-store-cache/smbfs/acdf57a2f84894da3371494b8c1602eeb6aca6a2
|                              /run/daemon-store-cache/crosvm/acdf57a2f84894da3371494b8c1602eeb6aca6a2
|                              /run/daemon-store-cache/federated/acdf57a2f84894da3371494b8c1602eeb6aca6a2
|                              /run/daemon-store-cache/session_manager/acdf57a2f84894da3371494b8c1602eeb6aca6a2
|                              /run/daemon-store-cache/smbproviderd/acdf57a2f84894da3371494b8c1602eeb6aca6a2
|                              /run/daemon-store-cache/pvm-dispatcher/acdf57a2f84894da3371494b8c1602eeb6aca6a2
|                              /run/daemon-store-cache/chaps/acdf57a2f84894da3371494b8c1602eeb6aca6a2
|                              /run/daemon-store-cache/cdm-oemcrypto/acdf57a2f84894da3371494b8c1602eeb6aca6a2
|                              /run/daemon-store-cache/kerberosd/acdf57a2f84894da3371494b8c1602eeb6aca6a2
|                              /run/daemon-store-cache/crash/acdf57a2f84894da3371494b8c1602eeb6aca6a2
|                              /run/daemon-store-cache/uma-consent/acdf57a2f84894da3371494b8c1602eeb6aca6a2
|                              /run/daemon-store/usb_bouncer/acdf57a2f84894da3371494b8c1602eeb6aca6a2
|                              /run/daemon-store/shill/acdf57a2f84894da3371494b8c1602eeb6aca6a2
|                              /run/daemon-store/pvm/acdf57a2f84894da3371494b8c1602eeb6aca6a2
|                              /run/daemon-store/u2f/acdf57a2f84894da3371494b8c1602eeb6aca6a2
|                              /run/daemon-store/appsync-consent/acdf57a2f84894da3371494b8c1602eeb6aca6a2
|                              /run/daemon-store/debugd/acdf57a2f84894da3371494b8c1602eeb6aca6a2
|                              /run/daemon-store/biod/acdf57a2f84894da3371494b8c1602eeb6aca6a2
|                              /run/daemon-store/dlp/acdf57a2f84894da3371494b8c1602eeb6aca6a2
|                              /run/daemon-store/appsync-optin/acdf57a2f84894da3371494b8c1602eeb6aca6a2
|                              /run/daemon-store/smbfs/acdf57a2f84894da3371494b8c1602eeb6aca6a2
|                              /run/daemon-store/crosvm/acdf57a2f84894da3371494b8c1602eeb6aca6a2
|                              /run/daemon-store/federated/acdf57a2f84894da3371494b8c1602eeb6aca6a2
|                              /run/daemon-store/session_manager/acdf57a2f84894da3371494b8c1602eeb6aca6a2
|                              /run/daemon-store/smbproviderd/acdf57a2f84894da3371494b8c1602eeb6aca6a2
|                              /run/daemon-store/pvm-dispatcher/acdf57a2f84894da3371494b8c1602eeb6aca6a2
|                              /run/daemon-store/chaps/acdf57a2f84894da3371494b8c1602eeb6aca6a2
|                              /run/daemon-store/cdm-oemcrypto/acdf57a2f84894da3371494b8c1602eeb6aca6a2
|                              /run/daemon-store/kerberosd/acdf57a2f84894da3371494b8c1602eeb6aca6a2
|                              /run/daemon-store/crash/acdf57a2f84894da3371494b8c1602eeb6aca6a2
|                              /run/daemon-store/uma-consent/acdf57a2f84894da3371494b8c1602eeb6aca6a2
|                              /home/user/acdf57a2f84894da3371494b8c1602eeb6aca6a2/MyFiles/Downloads
|                              /home/chronos/u-acdf57a2f84894da3371494b8c1602eeb6aca6a2/MyFiles/Downloads
|                              /home/chronos/user/MyFiles/Downloads
|                              /home/.shadow/acdf57a2f84894da3371494b8c1602eeb6aca6a2/mount/user/MyFiles/Downloads
|                              /home/root/acdf57a2f84894da3371494b8c1602eeb6aca6a2
|                              /home/user/acdf57a2f84894da3371494b8c1602eeb6aca6a2
|                              /home/chronos/u-acdf57a2f84894da3371494b8c1602eeb6aca6a2
|                              /home/chronos/user
|                              /home/.shadow/acdf57a2f84894da3371494b8c1602eeb6aca6a2/mount/root
|                              /home/.shadow/acdf57a2f84894da3371494b8c1602eeb6aca6a2/mount/user
|                              /var/cache/dlc-images
|                              /usr/local
|                              /home
|                              /mnt/stateful_partition
|    259:2    0    32M  0 part 
|    259:3    0     4G  0 part 
|    259:4    0    32M  0 part 
|    259:5    0     4G  0 part 
|    259:6    0   512B  0 part 
|    259:7    0   512B  0 part 
|    259:8    0    16M  0 part /usr/share/oem
|    259:9    0   512B  0 part 
|    259:10   0   512B  0 part 
|    259:11   0   512B  0 part 
     259:12   0    64M  0 part 

Yep, that’s nvme so full rom will work correctly.

1 Like

@jaiden any ideas on a UM or Fedora install using full rom on this? I can test things if need be.

Booting live usbs of Fedora 39 XFCE or Gnome seems to result in none of the function buttons being recognized, nor the search button. I’ll do so more digging.

You may want to just map these with Keyd. Keyd is in Terra, here’s a copy of the config for vivaldi Chromebooks

# AT keyboard is device 0001:0001

back = back
refresh = refresh
zoom = f11
scale = scale
print = print
brightnessdown = brightnessdown
brightnessup = brightnessup
mute = mute
volumedown = volumedown
volumeup = volumeup
# the lock button is mapped to sleep by default
sleep = coffee

# When search key is held make the top row act like function keys
back = f1
refresh = f2
zoom = f3
scale = f4
print = f5
brightnessdown = f6
brightnessup = f7
mute = f8
volumedown = f9
volumeup = f10
# no need for F11 as the fullscreen button is mapped to f11
sleep = f12

######## ChromeOS shortcuts ########
# alt + backspace = delete
backspace = delete
# alt + meta = capslock
meta = capslock
# alt + brightness = keyboardbacklightbrightness
brightnessdown = kbdillumdown
brightnessup = kbdillumup

######## Extra shortcuts ########
# Ctrl + alt + backspace = ctrl + alt + delete
backspace = C-A-delete
1 Like

I have a script to generate the keyd config automatically based on the device GitHub - WeirdTreeThing/cros-keyboard-map: Utility to generate keyd configurations for use on Chromebooks.

1 Like

Current state of booting Fedora 39 Gnome on the C13 Yoga via RW_Legacy firmware:

That is, to say, that a GUI seems impossible currently on this machine with RW_Legacy, but I don’t have the skills to make my own SuzyQable to install full from on it. Seeing if a friend can make one.

Booting the Ubuntu 23.10.1 live image in safe graphics mode, utilizing RW_Legacy firmware, it runs through the installer fine but then boots to a black screen after.
Wonder if full UEFI is required for this…

Went ahead and took the machine apart, repasting it in the process. Tried the battery method and it didn’t work. No unpopulated jumper that I could see anywhere on the motherboard. I believe this may be one of the devices that requires CCD debugging in order to unlock UEFI for rull rom.

Weird, your device should work with the battery method. Does the battery cable disconnect from the battery or motherboard side? If both, disconnect from both sides.

Taking another look inside, yeah there’s two battery connectors. I’ll try that again.

Nope, I’m just a tad slow. There was only one connector after all.

Not sure why the battery isn’t disabling WP in that case.

Nvm got it figured out. The cable was a little loose to begin with.
Went ahead and reinstalled ChromeOS, then enabled Developer Mode, fully unplugged the battery and installed UEFI firmware.
Hello from Fedora- trying out Cinnamon.
Looks like I can update my firmware from here too.