rainestorme / murkmod

A continuation of fakemurk and mush that includes a plugin manager and additional useful utilities.
MIT License
21 stars 17 forks source link

ChromeOS cant update due to wrong commands #108

Closed xytrux closed 1 day ago

xytrux commented 1 week ago

Describe the bug When trying to Update ChromeOS, it doesn't update due to some commands being wrong.

To Reproduce Steps to reproduce the behavior:

  1. Go to mush
  2. Choose Update ChromeOS
  3. See error

Expected behavior Able to update with no issues

Screenshots I have some terminal logs:

Do you want to use the default ChromeOS bootsplash? [y/N] n

Updating to 16033.51.0. THIS MAY DELETE ALL USER DATA! Press enter to confirm, Ctrl+C to cancel.

Dumping emergency revert backup to stateful (this might take a while)...
Finding correct partitions...
Connection to 127.0.0.1 closed.
Dumping kernel...
8+0 records in
8+0 records out
33554432 bytes (34 MB, 32 MiB) copied, 0.176408 s, 190 MB/s
Connection to 127.0.0.1 closed.
Dumping rootfs...
377487360 bytes (377 MB, 360 MiB) copied, 4 s, 94.0 MB/s
90+1 records in
90+1 records out
379019264 bytes (379 MB, 361 MiB) copied, 4.02329 s, 94.2 MB/s
Connection to 127.0.0.1 closed.
Creating restore flag...
Connection to 127.0.0.1 closed.
Connection to 127.0.0.1 closed.
Backups complete, actually updating now...
Connection to 127.0.0.1 closed.
Downloading 16033.51.0 from "https://dl.google.com/dl/edgedl/chromeos/recovery/chromeos_16033.51.0_trogdor_recovery_stable-channel_mp-v14.bin.zip"...
Pseudo-terminal will not be allocated because stdin is not a terminal.
1633104384 bytes (1.6 GB, 1.5 GiB) copied, 56 s, 29.2 MB/s 

3216465+1 records in
3216465+1 records out
1646830156 bytes (1.6 GB, 1.5 GiB) copied, 56.3054 s, 29.2 MB/s
Unzipping update binary...
Pseudo-terminal will not be allocated because stdin is not a terminal.
4962855936 bytes (5.0 GB, 4.6 GiB) copied, 127 s, 39.1 MB/s
gzip: stdin: invalid compressed data--length error

9693869+0 records in
9693869+0 records out
4963260928 bytes (5.0 GB, 4.6 GiB) copied, 127.014 s, 39.1 MB/s
Connection to 127.0.0.1 closed.
Invoking image patcher...
                      __                      .___
  _____  __ _________|  | __ _____   ____   __| _/
 /     \|  |  \_  __ \  |/ //     \ /  _ \ / __ | 
|  Y Y  \  |  /|  | \/    <|  Y Y  (  <_> ) /_/ | 
|__|_|  /____/ |__|  |__|_ \__|_|  /\____/\____ | 
      \/                  \/     \/            \/

        The fakemurk plugin manager - v6.1.1
/usr/share/vboot/bin/ssd_util.sh
Not using a custom bootsplash.
Will unfuck stateful partition upon boot.
Creating loop device...
/dev/loop9
Setting up loop with /dev/loop9 and /mnt/stateful_partition/update_tmp//image.bin
Disabling kernel verity...
DEBUG: Prerequisite check
DEBUG: Probing Kernel B information
DEBUG: Reading Kernel B from partition 4
DEBUG: Checking if Kernel B is valid
DEBUG: Changing boot parameter to remove rootfs verification
DEBUG: New kernel config: console= loglevel=7 init=/sbin/init cros_secure drm.trace=0x106 root=PARTUUID=%U/PARTNROFF=1 rootwait rw dm_verity.error_behavior=3 dm_verity.max_bios=-1 dm_verity.dev_wait=0 dm="1 vroot none ro 1,0 5324800 verity payload=ROOT_DEV hashtree=HASH_DEV hashstart=5324800 alg=sha256 root_hexdigest=0d09180217ec8efe138c199dd8bf173cec31ca383ba006358525c2da6920e54d salt=bfca9a16c5f1135b4a66c553a008facb5724b4f481eb720b8ca2c05933bedcf5" noinitrd vt.global_cursor_default=0 kern_guid=%U cros_lsb_release_hash=8uMwDbi49NXrTHM20zLE8cdxpBfTAUbnBFgGBEV1uJI= cpuidle.governor=teo irqchip.gicv3_pseudo_nmi=1
ssd_util.sh: INFO: Kernel B: Disabled rootfs verification.
DEBUG: Removing rootfs verification for legacy boot configuration.
DEBUG: Re-signing Kernel B from /tmp/tmp.Po8ZvyZpvo to /tmp/tmp.mf9oSvzju0
DEBUG: Using key: /usr/share/vboot/devkeys/kernel_data_key.vbprivk
DEBUG: Creating new kernel image (vboot+code+config)
DEBUG: for debug purposes, check *.dbgbin
DEBUG: Verifying new kernel and keys
DEBUG: Backup old kernel blob
ssd_util.sh: INFO: Backup of Kernel B is stored in: /mnt/stateful_partition/cros_sign_backups/kernel_B_20241114_105218.bin
DEBUG: Writing Kernel B to partition 4
DEBUG: Make the root file system writable if needed.
DEBUG: Non-ext2 partition: /dev/loop95, skip.
ssd_util.sh: INFO: Kernel B: Re-signed with developer keys successfully.
DEBUG: Complete.
ssd_util.sh: INFO: Successfully re-signed 1 of 1 kernel(s)  on device /dev/loop9.
ssd_util.sh: INFO: Please remember to reboot before updating the kernel on this device.
Enabling RW mount...
DEBUG: Prerequisite check
DEBUG: Probing Kernel A information
DEBUG: Reading Kernel A from partition 2
DEBUG: Checking if Kernel A is valid
ssd_util.sh: INFO: Skipping resign for /dev/loop9
ssd_util.sh: INFO: dev: /dev/loop9 658505728
ssd_util.sh: INFO: Disabling rootfs ext2 RO bit hack
DEBUG: Complete.
Mounting target...
Staging populator...
Murkmod-ing root...
Disabling autoupdates...
Installing startup scripts...
Detected newer version of CrOS, using new chromeos_startup
Installing murkmod components...
Installing startup services...
Installing other utilities...
Chmod-ing everything...
Done.
Adding murkmod bootsplash...
Done. Have fun.
exiting successfully
Connection to 127.0.0.1 closed.
Connection to 127.0.0.1 closed.
Connection to 127.0.0.1 closed.
Performing update...
Overwriting partitions in 3 (this is your last chance to cancel)...2...1...
Installing kernel patch to p...
65536+0 records in
65536+0 records out
33554432 bytes (34 MB, 32 MiB) copied, 0.358639 s, 93.6 MB/s
Connection to 127.0.0.1 closed.
Installing root patch to p1...
368034304 bytes (368 MB, 351 MiB) copied, 4 s, 92.0 MB/s
dd: writing to 'p1': No space left on device
740273+0 records in
740272+0 records out
379019264 bytes (379 MB, 361 MiB) copied, 4.18959 s, 90.5 MB/s
Connection to 127.0.0.1 closed.
Setting kernel priority...
ERROR: missing drive argument
Connection to 127.0.0.1 closed.
ERROR: missing drive argument
Connection to 127.0.0.1 closed.
ERROR: invalid argument to -i: "-P"

Usage: cgpt add [OPTIONS] DRIVE

Add, edit, or remove a partition entry.

Options:
  -D NUM       Size (in bytes) of the disk where partitions reside;
                 default 0, meaning partitions and GPT structs are
                 both on DRIVE
  -i NUM       Specify partition (default is next available)
  -b NUM       First block (a.k.a. start of partition)
  -s NUM       Size (in blocks)
  -t GUID      Partition Type GUID
  -u GUID      Partition Unique ID
  -l LABEL     Label
  -S NUM       set Successful flag (0|1)
  -T NUM       set Tries flag (0-15)
  -P NUM       set Priority flag (0-15)
  -R NUM       set Required flag (0|1)
  -B NUM       set Legacy Boot flag (0|1)
  -A NUM       set raw 16-bit attribute value (bits 48-63)

Use the -i option to modify an existing partition.
The -b, -s, and -t options must be given for new partitions.

The partition type may also be given as one of these aliases:

    firmware    ChromeOS firmware
    kernel      ChromeOS kernel
    rootfs      ChromeOS rootfs
    data        Linux data
    basicdata   Basic data
    reserved    ChromeOS reserved
    efi         EFI System Partition
    unused      Unused (nonexistent) partition
    minios      ChromeOS miniOS
    hibernate   ChromeOS hibernate

Connection to 127.0.0.1 closed.
Setting crossystem and vpd block_devmode...
Connection to 127.0.0.1 closed.
Connection to 127.0.0.1 closed.
Cleaning up...
Connection to 127.0.0.1 closed.
Done! Press enter to continue.

System (please complete the following information):

Additional context Judging by my very inexperienced skill in terminals and bash, it looks like one of the commands is wrong.

Eboi47 commented 4 days ago

The terminal output says that there is no space left on the device, it could have something to do with that.

I also see this as an error: ERROR: invalid argument to -i: "-P"

There is also an invalid compressed length error, which could have something to do with this as well.

xytrux commented 4 days ago

i seen the no space error and its very clear that there is storage on my chromebook.

rainestorme commented 3 days ago

It's just found an invalid loopdev somehow. Can you recover and see if you can repro again?

xytrux commented 3 days ago

It's just found an invalid loopdev somehow. Can you recover and see if you can repro again?

Let me see

xytrux commented 3 days ago

It's just found an invalid loopdev somehow. Can you recover and see if you can repro again?

Tried it, gave the same error, just without the no space.

Packjackisback commented 2 days ago

Found the error, my PR (#104 ) should fix it.

xytrux commented 2 days ago

Found the error, my PR (#104 ) should fix it.

THANK YOU

rainestorme commented 1 day ago

Merged.

xytrux commented 1 day ago

Still get a no space left error

...on a directory that doesn't exist

Packjackisback commented 11 hours ago

@rainestorme please reopen this issue, this might require a slightly more involved fix