shimboot/README.md

63 lines
2.4 KiB
Markdown
Raw Normal View History

2023-10-02 15:17:59 -04:00
# Chrome OS RMA Shim Bootloader
2023-10-04 02:56:57 -04:00
This is a set of scripts for patching a Chrome OS RMA shim to serve as a bootloader for a standard Linux disto.
## Current Development Roadmap:
- ~~build the image automatically~~
- ~~boot to a shell~~
2023-10-06 13:29:10 -04:00
- ~~switch_root into an actual rootfs~~
- ~~start X11 in the actual rootfs~~
- ~~ui improvements in the bootloader~~
2023-10-20 08:04:19 -04:00
- ~~load all needed drivers~~
- ~~autostart X11~~
- ~~host repo for patched systemd packages~~
- ~~use debootstrap to install debian~~
2023-10-20 16:51:56 -04:00
- ~~prompt user for hostname and account when creating the rootfs~~
2023-10-20 22:30:02 -04:00
- ~~auto load iwlmvm~~
2023-10-20 16:51:56 -04:00
- get wifi fully working
2023-10-20 08:18:09 -04:00
- host prebuilt images
- write detailed documentation
2023-10-06 13:29:10 -04:00
2023-10-20 16:51:56 -04:00
### Long Term Goals:
- get zram to work
- eliminate binwalk dependency
- get audio to work
2023-10-06 13:29:10 -04:00
## Usage:
2023-10-20 16:51:56 -04:00
### Prerequisites:
2023-10-20 22:30:02 -04:00
- A separate Linux PC for the build process (preferably something Debian-based)
2023-10-20 16:51:56 -04:00
- A USB that is at least 8GB in size
- At least 20GB of free disk space
- An x86-based Chromebook
### Instructions:
2023-10-06 13:29:10 -04:00
1. Grab a Chrome OS RMA Shim from somewhere. Most of them have already been leaked and aren't too difficult to find.
2023-10-20 08:04:19 -04:00
2. Download a Chrome OS [recovery image](https://chromiumdash.appspot.com/serving-builds?deviceCategory=ChromeOS) for your board.
3. Clone this repository and cd into it.
2023-10-20 22:30:02 -04:00
4. Run `mkdir -p data/rootfs` to make a directory for the rootfs.
2023-10-20 08:04:19 -04:00
5. Run `sudo ./build_rootfs.sh data/rootfs bookworm` to build the base rootfs.
2023-10-20 08:18:09 -04:00
6. Run `sudo ./patch_rootfs.sh path_to_shim path_to_reco data/rootfs` to patch the base rootfs and add any needed drivers.
7. Run `sudo ./build.sh image.bin path_to_shim data/rootfs` to generate a disk image at `image.bin`.
2023-10-20 08:04:19 -04:00
8. Flash the generated image to a USB drive or SD card.
2023-10-06 14:05:15 -04:00
2023-10-20 08:18:09 -04:00
Note that these instructions are currently incomplete.
2023-10-06 14:05:15 -04:00
## License:
```
ading2210/shimboot: Boot desktop Linux from a Chrome OS RMA shim.
Copyright (C) 2023 ading2210
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program. If not, see <https://www.gnu.org/licenses/>.
```