You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: README.md
+20-9Lines changed: 20 additions & 9 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -37,7 +37,7 @@ Driver support depends on the device you are using shimboot on. This list is for
37
37
- Webcam
38
38
39
39
### What Doesn't Work:
40
-
- Audio (due to a firmware bug)
40
+
- Audio (due to a firmware bug on `dedede`, this works just fine on `octopus`)
41
41
- Suspend (disabled by the kernel)
42
42
- Swap (disabled by the kernel)
43
43
@@ -59,8 +59,11 @@ Driver support depends on the device you are using shimboot on. This list is for
59
59
- Finish Python TUI rewrite
60
60
61
61
### Long Term Goals:
62
+
- Transparent disk compression
63
+
- Full disk encryption
62
64
- eliminate binwalk dependency
63
65
- get audio to work
66
+
- get kexec working
64
67
65
68
## Usage:
66
69
@@ -71,37 +74,45 @@ Driver support depends on the device you are using shimboot on. This list is for
71
74
- An x86-based Chromebook
72
75
73
76
### Build Instructions:
77
+
1. Find the board name of your Chromebook. You can search for the model name on [chrome100.dev](https://chrome100.dev/).
78
+
1. Clone this repository and cd into it.
79
+
2. Run `sudo ./build_complete.sh <board_name>` to download the required data and build the disk image.
80
+
81
+
Alternatively, you can run each of the steps manually:
74
82
1. Grab a Chrome OS RMA Shim from somewhere. Most of them have already been leaked and aren't too difficult to find.
75
83
2. Download a Chrome OS [recovery image](https://chromiumdash.appspot.com/serving-builds?deviceCategory=ChromeOS) for your board.
76
-
3. Unzip the recovery image and shim if you haven't done so already.
77
-
4. Clone this repository and cd into it.
78
-
5. Run `mkdir -p data/rootfs` to create a directory to hold the rootfs.
79
-
6. Run `sudo ./build_rootfs.sh data/rootfs bookworm` to build the base rootfs.
80
-
7. Run `sudo ./patch_rootfs.sh path_to_shim path_to_reco data/rootfs` to patch the base rootfs and add any needed drivers.
81
-
8. Run `sudo ./build.sh image.bin path_to_shim data/rootfs` to generate a disk image at `image.bin`.
84
+
3. Unzip the shim and the recovery image if you have not done so already.
85
+
4. Run `mkdir -p data/rootfs` to create a directory to hold the rootfs.
86
+
5. Run `sudo ./build_rootfs.sh data/rootfs bookworm` to build the base rootfs.
87
+
6. Run `sudo ./patch_rootfs.sh path_to_shim path_to_reco data/rootfs` to patch the base rootfs and add any needed drivers.
88
+
7. Run `sudo ./build.sh image.bin path_to_shim data/rootfs` to generate a disk image at `image.bin`.
82
89
83
90
### Booting the Image:
84
-
1. Obtain a shimboot image by downloading a [prebuilt one](https://dl.ading.dev/shimboot/) or building it yourself.
91
+
1. Obtain a shimboot image by downloading a [prebuilt one](https://github.com/ading2210/shimboot/actions) or building it yourself.
85
92
2. Flash the shimboot image to a USB drive or SD card. Use the [Chromebook Recovery Utility](https://chrome.google.com/webstore/detail/chromebook-recovery-utili/pocpnlppkickgojjlmhdmidojbmbodfm) or [dd](https://linux.die.net/man/1/dd) if you're on Linux.
86
93
3. Enable developer mode on your Chromebook. If the Chromebook is enrolled, follow the instructions on the [sh1mmer website](https://sh1mmer.me) (see the "Executing on Chromebook" section).
87
94
4. Plug the USB into your Chromebook and enter recovery mode. It should detect the USB and run the shimboot bootloader.
88
95
5. Boot into Debian and log in with the username and password that you configured earlier. The default username/password for the prebuilt images is `user/user`.
89
96
6. Expand the rootfs partition so that it fills up the entire disk by running `sudo growpart /dev/sdX 4` (replacing `sdX` with the block device corresponding to your disk) to expand the partition, then running `sudo resize2fs /dev/sdX4` to expand the filesystem.
97
+
7. Change the root password and regular user password by running `sudo passwd root` and `passwd user`.
90
98
91
99
## FAQ:
92
100
93
101
#### I want to use a different Linux distribution. How can I do that?
94
102
Using any Linux distro is possible, provided that you apply the [proper patches](https://github.com/ading2210/chromeos-systemd) to systemd and recompile it. Most distros have some sort of bootstrapping tool that allows you to install it to a directory on your host PC. Then, you can just pass that rootfs dir into `build.sh`.
95
103
96
104
#### How can I install a desktop environment other than XFCE?
97
-
You can pass another argument to the `build_rootfs.sh` script, like this: `sudo ./build_rootfs.sh data/rootfs bookworm "task-lxde-desktop"`. The third argument is a list of packages that will be installed in the place of XFCE.
105
+
You can pass another argument to the `build_rootfs.sh` script, like this: `sudo ./build_rootfs.sh data/rootfs bookworm custom_packages=task-lxde-desktop`. The `custom_packages` argument is a list of packages that will be installed in the place of XFCE.
98
106
99
107
#### Will this prevent me from using Chrome OS normally?
100
108
Shimboot does not touch the internal storage at all, so you will be able to use Chrome OS as if nothing happened. However, if you are on an enterprise enrolled device, booting Chrome OS again will force a powerwash due to the attempted switch into developer mode.
101
109
102
110
#### Can I unplug the USB drive while using Debian?
103
111
By default, this is not possible. However, you can simply copy your Debian rootfs onto your internal storage by first using `fdisk` to repartition it, using `dd` to copy the partition, and `resize2fs` to have it take up the entire drive. In the future, loading the OS to RAM may be supported, but this isn't a priority at the moment.
104
112
113
+
#### GPU acceleration isn't working, how can I fix this?
114
+
If your kernel version is too old, the standard Mesa drivers will fail to load. Instead, you must download and install the `mesa-amber` drivers. Download this zip file (https://shimboot.ading.dev/mesa-amber.zip), extract it, and install all of the `.deb` files.
115
+
105
116
## Copyright:
106
117
Shimboot is licensed under the [GNU GPL v3](https://www.gnu.org/licenses/gpl-3.0.txt). Unless otherwise indicated, all code has been written by me, [ading2210](https://github.com/ading2210).
Copy file name to clipboardExpand all lines: website/index.html
+13-9Lines changed: 13 additions & 9 deletions
Original file line number
Diff line number
Diff line change
@@ -68,21 +68,25 @@
68
68
After copying all the firmware from the recovery image and shim to the rootfs, we're able to boot to a mostly working XFCE desktop.
69
69
70
70
<bid="prebuilt">Prebuilt Images:</b>
71
-
Prebuilt images are available <ahref="https://dl.ading.dev/shimboot/">here</a>. If there is not a prebuilt image for your board, you must manually build the shimboot image.
71
+
Prebuilt images are available <ahref="https://github.com/ading2210/shimboot/actions">here</a>. If there is not a prebuilt image for your board, you must manually build the shimboot image.
72
72
73
73
For these images, the root password is "root". The name of the default user is "user" and its password is "user" as well. You should change these credentials as soon as possible.
74
74
75
75
<bid="build">Build Instructions:</b>
76
+
1. Find the board name of your Chromebook. You can search for the model name on <ahref="https://chrome100.dev/">chrome100.dev</a>.
77
+
1. Clone this repository and cd into it.
78
+
2. Run `sudo ./build_complete.sh [board_name]` to download the required data and build the disk image.
79
+
80
+
Alternatively, you can run each of the steps manually:
76
81
1. Grab a Chrome OS RMA Shim from somewhere. Most of them have already been leaked and aren't too difficult to find.
77
82
2. Download a Chrome OS <ahref="https://chromiumdash.appspot.com/serving-builds?deviceCategory=ChromeOS">recovery image</a> for your board.
78
-
3. Clone this repository and cd into it.
79
-
4. Run `mkdir -p data/rootfs` to create a directory to hold the rootfs.
80
-
5. Run `sudo ./build_rootfs.sh data/rootfs bookworm` to build the base rootfs.
81
-
6. Run `sudo ./patch_rootfs.sh path_to_shim path_to_reco data/rootfs` to patch the base rootfs and add any needed drivers.
82
-
7. Run `sudo ./build.sh image.bin path_to_shim data/rootfs` to generate a disk image at `image.bin`.
83
-
84
-
<bid="usage">Usage:</b>
85
-
1. Obtain a shimboot image by downloading a <ahref="https://dl.ading.dev/shimboot/">prebuilt one</a> or building it yourself.
83
+
3. Run `mkdir -p data/rootfs` to create a directory to hold the rootfs.
84
+
4. Run `sudo ./build_rootfs.sh data/rootfs bookworm` to build the base rootfs.
85
+
5. Run `sudo ./patch_rootfs.sh path_to_shim path_to_reco data/rootfs` to patch the base rootfs and add any needed drivers.
86
+
6. Run `sudo ./build.sh image.bin path_to_shim data/rootfs` to generate a disk image at `image.bin`.
87
+
88
+
<bid="usage">Booting the Image:</b>
89
+
1. Obtain a shimboot image by downloading a <ahref="https://github.com/ading2210/shimboot/actions/">prebuilt one</a> or building it yourself.
86
90
2. Flash the shimboot image to a USB drive or SD card. Use the <ahref="https://chrome.google.com/webstore/detail/chromebook-recovery-utili/pocpnlppkickgojjlmhdmidojbmbodfm">Chromebook Recovery Utility</a> or <ahref="https://linux.die.net/man/1/dd">dd</a> if you're on Linux.
87
91
3. Enable developer mode on your Chromebook. If the Chromebook is enrolled, follow the instructions on the <ahref="https://sh1mmer.me">sh1mmer website</a> (see the "Executing on Chromebook" section).
88
92
4. Plug the USB into your Chromebook and enter recovery mode. It should detect the USB and run the shimboot bootloader.
0 commit comments