From 3de0b9aa55d3f09719ab9fca05e547b07114218e Mon Sep 17 00:00:00 2001 From: ading2210 Date: Tue, 26 Dec 2023 03:33:28 +0000 Subject: [PATCH] improve documentation --- README.md | 8 ++++++-- build.sh | 3 +-- build_rootfs.sh | 1 + rootfs/opt/setup_rootfs.sh | 3 --- 4 files changed, 8 insertions(+), 7 deletions(-) diff --git a/README.md b/README.md index e607503..622e5f5 100644 --- a/README.md +++ b/README.md @@ -33,9 +33,10 @@ Driver support depends on the device you are using shimboot on. This list is for - Bluetooth - Zram - Wifi +- Booting a squashfs ### What Doesn't Work: -- Audio +- Audio (due to a firmware bug) - Suspend (disabled by the kernel) - Swap (disabled by the kernel) @@ -91,11 +92,14 @@ Driver support depends on the device you are using shimboot on. This list is for 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`. #### How can I install a desktop environment other than XFCE? -Simply edit `rootfs/opt/setup_rootfs.sh`, and change the line after the `#install desktop` comment. By default, this is set to install XFCE using the `task-xfce-desktop` package, but you can change this to install whatever you want. +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. #### Will this prevent me from using Chrome OS normally? 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. +#### Can I unplug the USB drive while using Debian? +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. + ## Copyright: 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). diff --git a/build.sh b/build.sh index 10ec5ca..40f9385 100755 --- a/build.sh +++ b/build.sh @@ -58,7 +58,6 @@ echo "extracting data from kernel" initramfs_dir=/tmp/shim_initramfs rm -rf $initramfs_dir extract_initramfs $kernel_dir/kernel.bin $kernel_dir $initramfs_dir -umount $shim_rootfs losetup -d $shim_loop echo "patching initramfs" @@ -66,7 +65,7 @@ patch_initramfs $initramfs_dir echo "creating disk image" rootfs_size=$(du -sm $rootfs_dir | cut -f 1) -rootfs_part_size=$(($rootfs_size * 11 / 10)) +rootfs_part_size=$(($rootfs_size * 12 / 10)) #create a 20mb bootloader partition #rootfs partition is 20% larger than its contents create_image $output_path 20 $rootfs_part_size diff --git a/build_rootfs.sh b/build_rootfs.sh index 4669ab7..d1dc2b6 100755 --- a/build_rootfs.sh +++ b/build_rootfs.sh @@ -44,6 +44,7 @@ packages="${3-'task-xfce-desktop'}" debootstrap --arch amd64 $release_name $rootfs_dir http://deb.debian.org/debian/ cp -ar rootfs/* $rootfs_dir +cp /etc/resolv.conf $rootfs_dir/etc/resolv.conf chroot_mounts="proc sys dev run" for mountpoint in $chroot_mounts; do diff --git a/rootfs/opt/setup_rootfs.sh b/rootfs/opt/setup_rootfs.sh index 6e69f41..6fda0a7 100755 --- a/rootfs/opt/setup_rootfs.sh +++ b/rootfs/opt/setup_rootfs.sh @@ -24,9 +24,6 @@ Pin: origin ${custom_repo_domain} Pin-Priority: 1001 END -#fix name servers -echo "nameserver 1.1.1.1" > /etc/resolv.conf - #install the patched systemd apt-get install -y ca-certificates apt-get update