Replies: 10 comments 23 replies
-
|
note: i am not a maintainer first, i would recommend moving away from using an llm. i don't mean that you need to immediately stop and do it yourself, i mean that you should use online documentation and stuff instead, and using it more and more over time will help you learn about linux and nix. that aside (and to be clear, i mean "first" as in my first part, not that you need to do it before this second part) - i believe the reposity you are looking for is ading2210/chromeos-systemd. good luck! |
Beta Was this translation helpful? Give feedback.
-
|
For this to be realistic, you need to be able to host a repository with prebuilt versions of the patched systemd packages. This is what is already done with Debian. Otherwise you'd have to compile everything on the Chromebook and that would be a big pain. I don't know too much about NixOS, but I suspect that its design might hinder you here. You need to swap out all systemd packages for the patched versions. However, in NixOS, many things like the package paths, are dependent on the package's hash rather than just the name. Also, if you just want to run Hyprland, you can use Debian unstable. https://packages.debian.org/sid/hyprland |
Beta Was this translation helpful? Give feedback.
-
|
Progress update: With assistance from LLMs, we began initializing a fork to use nix expressions (using existing scripts as a reference) in attempt to create and parse shimboot rootfs and kernel declaratively. I used a Nix overlay that applies the necessary I've also set up a public Cachix binary cache from the forked shimboot-nixos repo here: Right now, I'm trying to see if I can use buildFHSEnv in attempt to construct a FHS rootfs that looks like a standard Linux distro, but is declaratively built and reproducible. This FHS environment should contain the patched For the shim, I'll focus on I'm also simultaneously trying to familiarize the build processes used for Debian shimboot with READMEs and LLMs. It's honestly a lot to digest, especially with little to no programming experience, but hopefully it clarifies the process I need to take to get a shimbooted nixos running. The wip tree is on my fork here: https://github.com/PopCat19/shimboot-nixos/tree/nixos |
Beta Was this translation helpful? Give feedback.
-
|
Nice work, keep it up! |
Beta Was this translation helpful? Give feedback.
-
|
that's awesome! watching the repo, i'll check out what you're doing. |
Beta Was this translation helpful? Give feedback.
-
Beta Was this translation helpful? Give feedback.
-
|
Progress update: We're finally getting somewhere! (at least I think we are) Since buildEnv approach with shimboot-nixos on nixos took 2s
❯ nixos-generate --list
amazon
azure
docker
do
gce
hyperv
install-iso-hyperv
install-iso
iso
kubevirt
linode
lxc-metadata
lxc
openstack
proxmox-lxc
proxmox
qcow
raw-efi
raw
sd-aarch64-installer
sd-aarch64
vagrant-virtualbox
virtualbox
vm-bootloader
vm
vm-nogui
vmware
I first tried ~
❯ sudo dd if=/home/popcat19/shimboot-nixos/shimboot_nixos.bin of=/dev/sdc bs=4M status=progress && \
sudo partprobe /dev/sdc && \
sudo mount /dev/sdc4 /mnt && \
eza -1 --icons=auto -l /mnt && \
sudo umount /mnt && \
lsblk /dev/sdc
[sudo] password for popcat19:
989855744 bytes (990 MB, 944 MiB) copied, 1 s, 988 MB/s
391+0 records in
391+0 records out
1639972864 bytes (1.6 GB, 1.5 GiB) copied, 30.4139 s, 53.9 MB/s
Warning: Not all of the space available to /dev/sdc appears to be used, you can fix the GPT to use all of the space (an extra 247423494 blocks) or continue with the current setting?
dr-xr-xr-x - root 31 Dec 1979 boot
dr-xr-xr-x - root 31 Dec 1979 EFI
dr-xr-xr-x - root 31 Dec 1979 isolinux
drwx------ - root 13 Jun 07:06 lost+found
.r--r--r-- 343M root 31 Dec 1979 nix-store.squashfs
.r--r--r-- 12 root 31 Dec 1979 version.txt
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTS
sdc 8:32 1 119.5G 0 disk
├─sdc1 8:33 1 1M 0 part
├─sdc2 8:34 1 32M 0 part
├─sdc3 8:35 1 32M 0 part
└─sdc4 8:36 1 1.5G 0 part
Instead, I went with ~
❯ sudo dd if=/home/popcat19/shimboot-nixos/shimboot_nixos.bin of=/dev/sdc bs=4M status=progress && \
sudo partprobe /dev/sdc && \
sudo mount /dev/sdc4 /mnt && \
eza -1 --icons=auto -l /mnt && \
sudo umount /mnt && \
lsblk /dev/sdc
[sudo] password for popcat19:
3925868544 bytes (3.9 GB, 3.7 GiB) copied, 126 s, 31.1 MB/s
937+1 records in
937+1 records out
3931111424 bytes (3.9 GB, 3.7 GiB) copied, 286.099 s, 13.7 MB/s
Warning: Not all of the space available to /dev/sdc appears to be used, you can fix the GPT to use all of the space (an extra 242948614 blocks) or continue with the current setting?
.r-xr-xr-x 5.7k root 31 Dec 1969 activate
lrwxrwxrwx - root 31 Dec 1969 append-initrd-secrets -> /nix/store/mmz4qa42fhacp04wfjhwlslnlfffyxjv-append-initrd-secrets/bin/append-initrd-secrets
dr-xr-xr-x - root 31 Dec 1969 bin
.r--r--r-- 605 root 31 Dec 1969 boot.json
drwxr-xr-x - root 31 Dec 1969 dev
.r-xr-xr-x 2.1k root 31 Dec 1969 dry-activate
drwxr-xr-x - root 31 Dec 1969 etc
.r--r--r-- 0 root 31 Dec 1969 extra-dependencies
lrwxrwxrwx - root 31 Dec 1969 firmware -> /nix/store/ir6rlshly8xh6jhn31xa7k6hg85x4ckn-firmware/lib/firmware
.r-xr-xr-x 4.4k root 31 Dec 1969 init
.r--r--r-- 9 root 31 Dec 1969 init-interface-version
lrwxrwxrwx - root 31 Dec 1969 initrd -> /nix/store/1xwn6zx5qq9ahxcpgdcmdylpga6qv6iy-initrd-linux-6.12.32/initrd
lrwxrwxrwx - root 31 Dec 1969 kernel -> /nix/store/h3w4lxpqlgsimj93ajlzakqdxa5khap3-linux-6.12.32/bzImage
lrwxrwxrwx - root 31 Dec 1969 kernel-modules -> /nix/store/7f327c4abvvas77jwh1ki5g97n08ysqp-linux-6.12.32-modules
.r--r--r-- 32 root 31 Dec 1969 kernel-params
drwx------ - root 13 Jun 08:16 lost+found
drwxr-xr-x - root 31 Dec 1969 nix
.r--r--r-- 182k root 31 Dec 1969 nix-path-registration
.r--r--r-- 12 root 31 Dec 1969 nixos-version
drwxr-xr-x - root 31 Dec 1969 proc
dr-xr-xr-x - root 31 Dec 1969 specialisation
lrwxrwxrwx - root 31 Dec 1969 sw -> /nix/store/f2i942x8r564z0vq5pcakii0111f6vs5-system-path
drwxr-xr-x - root 31 Dec 1969 sys
.r--r--r-- 12 root 31 Dec 1969 system
lrwxrwxrwx - root 31 Dec 1969 systemd -> /nix/store/343lc8igwgb1097j7ify1aplflwz7kly-systemd-257.5
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTS
sdc 8:32 1 119.5G 0 disk
├─sdc1 8:33 1 1M 0 part
├─sdc2 8:34 1 32M 0 part
├─sdc3 8:35 1 32M 0 part
└─sdc4 8:36 1 3.6G 0 part
| As suggested by LLMs, we first tried to configure Afterwards, I was able to boot and finally have systemd started up: [ 17.547061] systemd[1]: Startup finished in 15.490s (kernel) + 2.055s (userspace) = 17.546s.and some extra after idling: [ 17.547061] systemd[1]: Startup finished in 15.490s (kernel) + 2.055s (userspace) = 17.546s.
[915.305622] systemd[1]: Starting Cleanup of Temporary Directories...
[915.338061] systemd[1]: systemd-tmpfiles-clean.service: Deactivated successfully.
[915.344135] systemd[1]: Finished Cleanup of Temporary Directories.Now, I'll continue to figure out what we can do from here. Hopefully, I'll be able progress enough to see TTY shell soon.
|
Beta Was this translation helpful? Give feedback.
-
|
I created a new repo since the methods vastly changed for non-FHS builds compared to this repo. Since my final school year starts at Aug 25, I'd want to get this working before I have to hand in the chromebook. Though, I could buy the same model on ebay, if it has a bargain price. I've also updated the README to reflect what I've tried so far, and what I'm planning to do next. It's been a long journey so far, yet I still anticipate for nixos shimboot becoming a reality. Looking forward to hear any feedbacks. |
Beta Was this translation helpful? Give feedback.
-
|
NixOS Shimboot finally boots past LightDM and into Hyprland! Still had to use scripts for partitioning due to Nix sandbox, which also need to use |
Beta Was this translation helpful? Give feedback.
-
|
I'm almost ready to support other boards than dedede. If anyone wants to test nixos-shimboot on a specific x86_64 board supported by shimboot, let me know your board name and whether if you prefer to build the image or download a flashable image. ^^ |
Beta Was this translation helpful? Give feedback.










Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
-
I'm interested in building NixOS for shimbooting on
dededebecause it's easier to reproduce (also just wanted to see if I can get hyprland running as well).Despite recently installing and daily driving NixOS on desktop, I'm still inexperienced, so I'll rely on LLM guidance to devise a plan.
Repo: https://github.com/PopCat19/nixos-shimboot
Feedback and assistance is welcome.
Beta Was this translation helpful? Give feedback.
All reactions