sebanc / brunch

Boot ChromeOS on x86_64 PC - Supports Intel CPU/GPU from 8th gen or AMD Ryzen
GNU General Public License v3.0
3.65k stars 389 forks source link

Chrome Os Is Not Booting #77

Closed MhFoysal closed 4 years ago

MhFoysal commented 4 years ago

My old pc have intel processor.UEFI is not support on my pc. is there any brunch which is not require uefi firmwire. after i installed chrome os then i restarted but i got a message which is no operating system found.

sebanc commented 4 years ago

Actually could you confirm if you have /efi/boot/grub.cfg ? I think I forgot to include it...

sebanc commented 4 years ago

Nevermind, it is there, you can try:

Well, for now let's hardcode it, we will see that later:

configfile (hd0,gpt12)/efi/boot/grub.cfg
darethehair commented 4 years ago

Nope, just a grub prompt :( But I can confirm that the location you mention seems valid:

grub> ls (hd0,gpt12)/efi/boot
grub.cfg

It almost looks like it is ignoring your config file (?).

sebanc commented 4 years ago

Could you try to type in directly "configfile (hd0,gpt12)/efi/boot/grub.cfg" ?

darethehair commented 4 years ago

It reacts! I just the familiar grub "*ChromeOS" boot entry! However, when I select it, I get:

error: disk `,7' not found
error: you need to load the kernel first

Press any key to continue...

So '$' parameters are not getting resolved, I guess? e.g. $disk.

darethehair commented 4 years ago

I temporarily overrode the grub boot lines and changed "$disk" to "hd0", and Brunch started to boot! However it ran into a problem:

brunch: Chromeos was not found on any device. fallback to shell..

sebanc commented 4 years ago

Ok so 2 issues: 1) I don't know where grub expect the default config to be 2) There is the need for a different boot script

Nevertheless, if you want, you can copy the below text in /syslinux/grub.cfg and use "configfile grub.cfg" when you see grub, it should attempt to boot:

set timeout=2

menuentry "ChromeOS" {
  linux (hd0,gpt7)/kernel boot=local noresume noswap loglevel=7 disablevmx=off cros_secure cros_debug
  initrd (hd0,gpt7)/initramfs.img
}
sebanc commented 4 years ago

Ah sorry I missed your previous comment, could you post a short video of the boot process ?

darethehair commented 4 years ago

I hope it is OK, but rather than do exactly what you suggested, I repeated what I had already done (i.e. edited the grub command line to replace $disk). I used my camera to record, converted the MOV file to AVI, and uploaded to Dropbox:

https://www.dropbox.com/s/n3xm76xtol47naw/brunch_bios.avi?dl=0

Maybe file video conversion makes it too pixely?

sebanc commented 4 years ago

Thanks for the video, it's perfect. Unfortunately the "trap invalid opcode" message means that the recovery image was build with cpu instructions which are not supported by your cpu... And there are no more recovery images with less cpu instructions, those devices are not updated anymore (AUE)

I am really sorry to tell you that after all the efforts you have made to debug this.

darethehair commented 4 years ago

That just happens to be one of the old laptops that I own without UEFI, so it is not really important to me. What is more important is that your/our goal to get BIOS-machines to work with UEFI can still continue, right? I will try to find something else to test on...

EDIT: I just tried on an old Acer Aspire One, but also got a 'trap invalid opcode'. I will look for something else...

sebanc commented 4 years ago

Thanks a lot for helping with this, I will try to figure out the main missing piece: why does grub not load the default grub.cfg ?

sebanc commented 4 years ago

Another attempt: testmbr7.zip

darethehair commented 4 years ago

Another laptop (Toshiba Satellite E100), this time looking quite good...but encountering errors as it proceeds:

brunch: Chromeos found on removable device, booting it!
e2fsck 1.45.5 (07-Jan-2020)
Signal (4) SIGILL si_code=ILL_ILLOPN fault addr=0x7a5eb7d163c7
EXT4-fs (sdb7): recovery complete
EXT4-fs (sdb7): mounted filesystem with ordered data mode. Opts: (null)
random: crng init done
brunch: new install detected
EXT4-fs (sdb5): mounting ext2 file system using the ext4 subsystem
EXT4-fs (sdb5): mounted filesystem without journal. Opts: (null)
brunch: rebuilding ChromeOS rootfs, it might take a few minutes...
...

(this rebuild completes, and then the screen moves too quickly for me to write it down)

...
brunch: /firmware/patches/99-updater.sh success
mke2fs 1.45.4 (23-Sep-2019)
/dev/sdb1 contains a ext2 file system
traps: mkfs.ext4[348] trap invalid opcode ip:78c24de86aa5b sp:7fffa4ecfe58 error:0 in libext2fs.so.2.4[78c24e840000+34000]
illegal instruction

At this point it is frozen :(

sebanc commented 4 years ago

Another laptop (Toshiba Satellite E100), this time looking quite good...but encountering errors as it proceeds:

brunch: Chromeos found on removable device, booting it!
e2fsck 1.45.5 (07-Jan-2020)
Signal (4) SIGILL si_code=ILL_ILLOPN fault addr=0x7a5eb7d163c7
EXT4-fs (sdb7): recovery complete
EXT4-fs (sdb7): mounted filesystem with ordered data mode. Opts: (null)
random: crng init done
brunch: new install detected
EXT4-fs (sdb5): mounting ext2 file system using the ext4 subsystem
EXT4-fs (sdb5): mounted filesystem without journal. Opts: (null)
brunch: rebuilding ChromeOS rootfs, it might take a few minutes...
...

(this rebuild completes, and then the screen moves too quickly for me to write it down)

...
brunch: /firmware/patches/99-updater.sh success
mke2fs 1.45.4 (23-Sep-2019)
/dev/sdb1 contains a ext2 file system
traps: mkfs.ext4[348] trap invalid opcode ip:78c24de86aa5b sp:7fffa4ecfe58 error:0 in libext2fs.so.2.4[78c24e840000+34000]
illegal instruction

At this point it is frozen :(

Sorry but I think this one just encountered another error "Signal (4) SIGILL si_code=ILL_ILLOPN fault addr=0x7a5eb7d163c7" which allowed it to bypass the first "trap invalid opcode" but then it got caught at the second one: "traps: mkfs.ext4[348] trap invalid opcode"

sebanc commented 4 years ago

I have not looked exactly at which cpu instructions is missing but from the cases I have seen so far you need at least 1st generation from https://en.wikipedia.org/wiki/Intel_Core to boot.

darethehair commented 4 years ago

I have not looked exactly at which cpu instructions is missing but from the cases I have seen so far you need at least 1st generation from https://en.wikipedia.org/wiki/Intel_Core to boot.

I've run out of old computers to try this on, but I will try that last zip file to see if grub booting works better. Hopefully someone else with a qualifying CPU can take over my spot :)

Unfortunately this probably means that I won't be able to offer Brunch to everyone with an old BIOS computer, even if success is ultimately achieved for booting :(

B3ATDROP3R commented 4 years ago

When I can I'll try this on my i5 laptop

darethehair commented 4 years ago

Another attempt: testmbr7.zip

Yes! The USB stick now boots successfully to a Grub menu containing the ChromeOS entry, and then continues to boot (on my Toshiba Satellite E100) but (of course) runs into the same illegal instructions that it did before (as would be assumed).

The important fact is that you have achieved a significant milestone! I will be very interested to see if others (like B3ATDROP3R) can take this all the way to a full Brunch boot!

B3ATDROP3R commented 4 years ago

"the system is repairing itself" atm

B3ATDROP3R commented 4 years ago

It works! awesome. image

B3ATDROP3R commented 4 years ago

Not sure if this is related to brunch itself but i was about to sign in then the laptop lost all wifi. I checked logged in as root and the state partition is 220GB so that worked.

darethehair commented 4 years ago

Thanks to B3ATDROP3R for taking over, and especially to sebanc for the patience required to pursue this issue!

I am curious: will this require an alternate script/download for those wishing to install to BIOS-style machines, or is there a way to automatically work properly with both BIOS and UEFI machines?

Also, I hope that there is an easy way to predict ahead of time whether a BIOS machine is 'new enough' that this will work (considering that three of my own did not).

Fortunately, I have UEFI-converted Chromebooks/boxes that work just fine. My concern is for friends that have old BIOS computers and might be interested in Brunch...

B3ATDROP3R commented 4 years ago

I have a P4 machine I could eventually test to see if its recognized later. also i lost wifi because f2 without function key turns off wifi.... My bios is from 2011 if that matters.

sebanc commented 4 years ago

Happy to see that it now mostly works :)

I am not yet sure how to implement it as the dual boot feature notably will probably not work with mbr or not with the same script.

@darethehair I can still try one last thing for your laptops, I just looked at the cpu instructions which are missing and it reminded me of an old android x86 patch.

sebanc commented 4 years ago

@darethehair Could you try the testmbr7.zip package with the release which is in "brunch-testing" repo (not this one) with one of your laptop that did not boot yesterday ?

darethehair commented 4 years ago

@darethehair Could you try the testmbr7.zip package with the release which is in "brunch-testing" repo (not this one) with one of your laptop that did not boot yesterday ?

I think this is what you wanted me to do:

darren@asusk501:~/Downloads$ tar zxvf brunch_r81_k4.19_testing_20200517.tar.gz
chromeos-install.sh
efi_legacy.img
efi_secure.img
rootc.img
darren@asusk501:~/Downloads$ unzip testmbr7.zip
Archive:  testmbr7.zip
replace chromeos-install.sh? [y]es, [n]o, [A]ll, [N]one, [r]ename: A
  inflating: chromeos-install.sh     
  inflating: gptmbr.bin              
  inflating: mbr.img                 
darren@asusk501:~/Downloads$ time sudo bash chromeos-install.sh -m -src chromeos_12739.111.0_samus_recovery_stable-channel_mp-v3.bin -dst /dev/sdb
[sudo] password for darren:       
All data on device /dev/sdb will be lost, are you sure ? (type yes to continue) yes
umount: /dev/sdb: not mounted.
umount: /dev/sdb10: not mounted.
umount: /dev/sdb11: not mounted.
umount: /dev/sdb12: not mounted.
umount: /dev/sdb2: not mounted.
umount: /dev/sdb4: not mounted.
umount: /dev/sdb5: not mounted.
umount: /dev/sdb6: not mounted.
umount: /dev/sdb9: not mounted.
F78C8D91-E96E-2147-9EF1-1FD2DC3DE88D
1+0 records in
1+0 records out
440 bytes copied, 0.00507863 s, 86.6 kB/s
       start        size    part  contents
           0           1          PMBR (Boot GUID: FDEBF418-0000-0000-0000-000000000000)
           1           1          Pri GPT header
           2          32          Pri GPT table
    19255304    11022280       1  Label: "STATE"
                                  Type: Linux data
                                  UUID: 4A4F6011-C6B8-0A42-8BC6-035BF93C4E52
     2117638       65536       2  Label: "KERN-A"
                                  Type: ChromeOS kernel
                                  UUID: B9896D0F-7468-FE41-B3BC-BEBBBC416F1D
                                  Attr: priority=15 tries=15 successful=0 
    10866696     8388608       3  Label: "ROOT-A"
                                  Type: ChromeOS rootfs
                                  UUID: F6C9047F-9773-384E-8558-DC294554142B
     2183174       65536       4  Label: "KERN-B"
                                  Type: ChromeOS kernel
                                  UUID: F8283BC8-4D89-A747-B517-28B9F620AD27
                                  Attr: priority=0 tries=15 successful=0 
     2478088     8388608       5  Label: "ROOT-B"
                                  Type: ChromeOS rootfs
                                  UUID: AAF9592C-B894-594F-BE97-BF37A725BCED
       16448           1       6  Label: "KERN-C"
                                  Type: ChromeOS kernel
                                  UUID: 8BED592B-3E23-924C-AAF9-CC48951084DC
                                  Attr: priority=0 tries=15 successful=0 
       16456     2097152       7  Label: "ROOT-C"
                                  Type: ChromeOS rootfs
                                  UUID: 556B8E6F-5762-7D44-8E03-A055F32F53C4
     2248712       32768       8  Label: "OEM"
                                  Type: Linux data
                                  UUID: 68916F82-5EE1-4045-BAEF-1139CF15A995
     2113608           1       9  Label: "reserved"
                                  Type: ChromeOS reserved
                                  UUID: 935EA98C-DA46-8C4B-8260-5ADA5541F8B2
     2113609           1      10  Label: "reserved"
                                  Type: ChromeOS reserved
                                  UUID: B2E14B52-914C-0542-A225-7762A4F9C6F6
          64       16384      11  Label: "RWFW"
                                  Type: ChromeOS firmware
                                  UUID: 83A81E9A-228B-3540-8322-67E1BB2AD664
     2412552       65536      12  Label: "EFI-SYSTEM"
                                  Type: EFI System Partition
                                  UUID: F78C8D91-E96E-2147-9EF1-1FD2DC3DE88D
                                  Attr: legacy_boot=1 
    30277599          32          Sec GPT table
    30277631           1          Sec GPT header
Writing partition 1
10.0MiB 0:00:00 [64.1MiB/s] [=========================================================================================================================>] 100%            
Writing partition 2
16.0MiB 0:00:00 [59.3MiB/s] [=========================================================================================================================>] 100%            
Writing partition 3
2.00GiB 0:03:49 [8.92MiB/s] [=========================================================================================================================>] 100%            
Writing partition 4
16.0MiB 0:00:00 [26.5MiB/s] [=========================================================================================================================>] 100%            
Writing partition 5
2.00GiB 0:03:50 [8.87MiB/s] [=========================================================================================================================>] 100%            
Writing partition 6
 512 B 0:00:00 [1.66MiB/s] [==========================================================================================================================>] 100%            
Writing partition 7
1.00GiB 0:01:29 [11.5MiB/s] [=========================================================================================================================>] 100%            
Writing partition 8
16.0MiB 0:00:01 [10.6MiB/s] [=========================================================================================================================>] 100%            
Writing partition 9
 512 B 0:00:00 [2.25MiB/s] [==========================================================================================================================>] 100%            
Writing partition 10
 512 B 0:00:00 [ 874KiB/s] [==========================================================================================================================>] 100%            
Writing partition 11
8.00MiB 0:00:00 [62.8MiB/s] [=========================================================================================================================>] 100%            
Writing partition 12
32.0MiB 0:00:00 [68.6MiB/s] [=========================================================================================================================>] 100%            
ChromeOS installed.

real    14m16.237s
user    0m0.556s
sys 0m17.184s

On the Toshiba Satellite E100, very slow startup with at least 3 traces generated -- but eventually (after 20 minutes or so?) results in a ChromeOS welcome screen -- but even the ChromeOS animation was extremely slow. At that point, it either stalled out, or was too slow for anything at all, so I moved on to other machines.

On the Acer Aspire One, some sort of trace, followed by 'ChromeOS was not found on any device'. This is similar to the previous attempt on this old netbook.

On the ASUS K501 (the one I used for the video), very similar -- if not identical -- to previous attempt i.e. some sort of trace, followed by 'ChromeOS was not found on any device'.

darethehair commented 4 years ago

UPDATE: I re-tried the Toshiba Satellite E100 again. Progress was much faster, but quickly deteriorates into a crash and reboot. Conclusion is that the 'Android patch' might be useful for other cases, but not for the old laptops I own.

sebanc commented 4 years ago

@darethehair thanks a lot for all the testing, indeed visibly the android x86 cpu instructions emulation patch is not sufficient to make it work...

While browsing, I found an opcode-emulator, I will generate a test build as well to see if it would help but I doubt it.

sebanc commented 4 years ago

@darethehair I have just uploaded the new test release in "brunch-testing" branch if you want to try

sebanc commented 4 years ago

Just for log purpose, tried 2 things to support Intel devices prior to 1st generation (https://en.wikipedia.org/wiki/Intel_Core):

Unfortunately both did not work.

darethehair commented 4 years ago

@darethehair I have just uploaded the new test release in "brunch-testing" branch if you want to try

darren@asusk501:~/Downloads$ tar zxvf brunch_r81_k4.19_testing_20200517_v2.tar.gz chromeos-install.sh efi_legacy.img efi_secure.img rootc.img darren@asusk501:~/Downloads$ unzip testmbr7.zip Archive: testmbr7.zip replace chromeos-install.sh? [y]es, [n]o, [A]ll, [N]one, [r]ename: A inflating: chromeos-install.sh
inflating: gptmbr.bin
inflating: mbr.img
darren@asusk501:~/Downloads$ time sudo bash chromeos-install.sh -m -src chromeos_12739.111.0_samus_recovery_stable-channel_mp-v3.bin -dst /dev/sdb [sudo] password for darren:
All data on device /dev/sdb will be lost, are you sure ? (type yes to continue) yes umount: /dev/sdb: not mounted. umount: /dev/sdb10: not mounted. umount: /dev/sdb11: not mounted. umount: /dev/sdb12: not mounted. umount: /dev/sdb2: not mounted. umount: /dev/sdb4: not mounted. umount: /dev/sdb5: not mounted. umount: /dev/sdb6: not mounted. umount: /dev/sdb9: not mounted. 0B07DE41-32EA-0442-8ACA-209F3D6B2640 1+0 records in 1+0 records out 440 bytes copied, 0.00517536 s, 85.0 kB/s start size part contents 0 1 PMBR (Boot GUID: FDEBF418-0000-0000-0000-000000000000) 1 1 Pri GPT header 2 32 Pri GPT table 19255304 11022280 1 Label: "STATE" Type: Linux data UUID: CE3AD81C-BA04-F245-B934-BC7EC598A043 2117638 65536 2 Label: "KERN-A" Type: ChromeOS kernel UUID: 5D33D4AD-E682-2347-B9AB-2B296FDE311D Attr: priority=15 tries=15 successful=0 10866696 8388608 3 Label: "ROOT-A" Type: ChromeOS rootfs UUID: 1C424493-9747-484B-8132-378362BF4AEF 2183174 65536 4 Label: "KERN-B" Type: ChromeOS kernel UUID: D4ACC4C2-8B84-C04A-BEAD-0398D785D791 Attr: priority=0 tries=15 successful=0 2478088 8388608 5 Label: "ROOT-B" Type: ChromeOS rootfs UUID: DC27969A-CD25-614E-BC7D-4E19DE801D7D 16448 1 6 Label: "KERN-C" Type: ChromeOS kernel UUID: B73ED5EE-0B90-E345-AD04-6DD167A39D81 Attr: priority=0 tries=15 successful=0 16456 2097152 7 Label: "ROOT-C" Type: ChromeOS rootfs UUID: D04D704E-0E3D-1741-B575-8C06A7308716 2248712 32768 8 Label: "OEM" Type: Linux data UUID: 47FE64A5-FC4C-6F4E-B953-66100A133E13 2113608 1 9 Label: "reserved" Type: ChromeOS reserved UUID: 000A330F-9F5E-E44B-9E02-7604C02BF926 2113609 1 10 Label: "reserved" Type: ChromeOS reserved UUID: A49B63BA-44B9-BE4F-8660-F2ABCE9EA726 64 16384 11 Label: "RWFW" Type: ChromeOS firmware UUID: FD851ED5-F554-984B-8E12-7054A3FD658B 2412552 65536 12 Label: "EFI-SYSTEM" Type: EFI System Partition UUID: 0B07DE41-32EA-0442-8ACA-209F3D6B2640 Attr: legacy_boot=1 30277599 32 Sec GPT table 30277631 1 Sec GPT header Writing partition 1 10.0MiB 0:00:00 [62.7MiB/s] [=========================================================================================================================>] 100%
Writing partition 2 16.0MiB 0:00:00 [61.8MiB/s] [=========================================================================================================================>] 100%
Writing partition 3 2.00GiB 0:03:43 [9.16MiB/s] [=========================================================================================================================>] 100%
Writing partition 4 16.0MiB 0:00:01 [11.4MiB/s] [=========================================================================================================================>] 100%
Writing partition 5 2.00GiB 0:03:48 [8.98MiB/s] [=========================================================================================================================>] 100%
Writing partition 6 512 B 0:00:00 [1.90MiB/s] [==========================================================================================================================>] 100%
Writing partition 7 1.00GiB 0:01:25 [12.0MiB/s] [=========================================================================================================================>] 100%
Writing partition 8 16.0MiB 0:00:00 [33.3MiB/s] [=========================================================================================================================>] 100%
Writing partition 9 512 B 0:00:00 [2.08MiB/s] [==========================================================================================================================>] 100%
Writing partition 10 512 B 0:00:00 [1.31MiB/s] [==========================================================================================================================>] 100%
Writing partition 11 8.00MiB 0:00:00 [39.2MiB/s] [=========================================================================================================================>] 100%
Writing partition 12 32.0MiB 0:00:00 [71.5MiB/s] [=========================================================================================================================>] 100%
ChromeOS installed.

real 14m54.703s user 0m0.518s sys 0m16.699s


On Toshiba Satellite E100, complaints about corrupted file system on USB stick (?), no space remaining on device (?), and eventually seemed to stall out soon after creating a journal and writing superblocks and filesystem accounting information.  Re-did the USB stick.  Again, 'ext2 superblock corruption on /dev/sdb7'.  Superblock is corrupt.  Nevertheless, ChromeOS rootfs is rebuilt successfully.  Then 'ext2 superblock corruption on /dev/sdb3'.  Something wrong with my USB stick, or something new in the process?  I have no idea.

On Acer Aspire One, no traces that I can see, but still ends up with 'Chromeos was not found on any device'.  Same with Asus K501.
sebanc commented 4 years ago

@darethehair Thanks again for the feedback :)

MBR support being not full (no dual boot), I will probably keep it as a separate package for now which will be linked from the main page.

I have cleaned up a bit my code, could someone try the below package and confirm if it still boots correctly in bios mode ? mbrsupport.zip

darethehair commented 4 years ago

@darethehair Thanks again for the feedback :)

MBR support being not full (no dual boot), I will probably keep it as a separate package for now which will be linked from the main page.

I have cleaned up a bit my code, could someone try the below package and confirm if it still boots correctly in bios mode ? mbrsupport.zip

Sure, but I get an error while doing this:

-m argument in not valid

Not required anymore?

sebanc commented 4 years ago

Sorry forgot to mention, you don't have to add "-m" anymore so that commands are exactly the same as for UEFI

darethehair commented 4 years ago

Yes, it does seem to boot as desired! Proved on my Acer Aspire One -- even though the CPU is incompatible, so it doesn't actually fully boot to ChromeOS. Similar with Toshiba Satellite E100. Still hoping for someone with a compatible CPU to boot to full success!

darren@asusk501:~/Downloads$ tar zxvf brunch_r81_k4.19_stable_20200510.tar.gz
chromeos-install.sh
efi_legacy.img
efi_secure.img
rootc.img

darren@asusk501:~/Downloads$ unzip mbrsupport.zip
Archive:  mbrsupport.zip
replace chromeos-install.sh? [y]es, [n]o, [A]ll, [N]one, [r]ename: A
  inflating: chromeos-install.sh     
  inflating: mbr.bin                 
  inflating: mbr.img                 

darren@asusk501:~/Downloads$ time sudo bash chromeos-install.sh -src chromeos_12739.111.0_samus_recovery_stable-channel_mp-v3.bin -dst /dev/sdb
All data on device /dev/sdb will be lost, are you sure ? (type yes to continue) yes
umount: /dev/sdb: not mounted.
umount: /dev/sdb10: not mounted.
umount: /dev/sdb11: not mounted.
umount: /dev/sdb12: not mounted.
umount: /dev/sdb2: not mounted.
umount: /dev/sdb4: not mounted.
umount: /dev/sdb5: not mounted.
umount: /dev/sdb6: not mounted.
umount: /dev/sdb9: not mounted.
0F039F90-15C8-0F40-9E08-FF997687DD8C
       start        size    part  contents
           0           1          PMBR (Boot GUID: 0F039F90-15C8-0F40-9E08-FF997687DD8C)
           1           1          Pri GPT header
           2          32          Pri GPT table
    19255304    11022280       1  Label: "STATE"
                                  Type: Linux data
                                  UUID: 92C3774A-4559-EE41-8DF4-8B11353606B2
     2117638       65536       2  Label: "KERN-A"
                                  Type: ChromeOS kernel
                                  UUID: F0F78F7B-E3DF-C940-91E9-DAFD48798ABA
                                  Attr: priority=15 tries=15 successful=0 
    10866696     8388608       3  Label: "ROOT-A"
                                  Type: ChromeOS rootfs
                                  UUID: 1F27925B-D867-344B-A8DC-349DA9D2B4F4
     2183174       65536       4  Label: "KERN-B"
                                  Type: ChromeOS kernel
                                  UUID: B5443345-0502-CC4C-891B-E3A571892423
                                  Attr: priority=0 tries=15 successful=0 
     2478088     8388608       5  Label: "ROOT-B"
                                  Type: ChromeOS rootfs
                                  UUID: 17D55C7E-AF28-2E45-9B79-D781A46A57BF
       16448           1       6  Label: "KERN-C"
                                  Type: ChromeOS kernel
                                  UUID: 3CE89F3C-7578-EB40-B2B3-A43A93935892
                                  Attr: priority=0 tries=15 successful=0 
       16456     2097152       7  Label: "ROOT-C"
                                  Type: ChromeOS rootfs
                                  UUID: 5B4DC338-06D7-5F49-964A-A2F1DC3F2FD0
     2248712       32768       8  Label: "OEM"
                                  Type: Linux data
                                  UUID: 38F50A3C-228E-E448-A293-580AC948A007
     2113608           1       9  Label: "reserved"
                                  Type: ChromeOS reserved
                                  UUID: B788B86A-AF4B-AD4C-9881-D46AE989B164
     2113609           1      10  Label: "reserved"
                                  Type: ChromeOS reserved
                                  UUID: E482838B-F41C-D343-B916-DD01C045F55C
          64       16384      11  Label: "RWFW"
                                  Type: ChromeOS firmware
                                  UUID: A320E367-D0A4-1544-B413-4943482826C5
     2412552       65536      12  Label: "EFI-SYSTEM"
                                  Type: EFI System Partition
                                  UUID: 0F039F90-15C8-0F40-9E08-FF997687DD8C
                                  Attr: legacy_boot=1 
    30277599          32          Sec GPT table
    30277631           1          Sec GPT header
Writing partition 1
10.0MiB 0:00:00 [65.6MiB/s] [=========================================================================================================================>] 100%            
Writing partition 2
16.0MiB 0:00:00 [61.2MiB/s] [=========================================================================================================================>] 100%            
Writing partition 3
2.00GiB 0:03:49 [8.93MiB/s] [=========================================================================================================================>] 100%            
Writing partition 4
16.0MiB 0:00:00 [21.3MiB/s] [=========================================================================================================================>] 100%            
Writing partition 5
2.00GiB 0:03:50 [8.87MiB/s] [=========================================================================================================================>] 100%            
Writing partition 6
 512 B 0:00:00 [2.27MiB/s] [==========================================================================================================================>] 100%            
Writing partition 7
1.00GiB 0:01:29 [11.5MiB/s] [=========================================================================================================================>] 100%            
Writing partition 8
16.0MiB 0:00:00 [53.3MiB/s] [=========================================================================================================================>] 100%            
Writing partition 9
 512 B 0:00:00 [2.41MiB/s] [==========================================================================================================================>] 100%            
Writing partition 10
 512 B 0:00:00 [2.10MiB/s] [==========================================================================================================================>] 100%            
Writing partition 11
8.00MiB 0:00:00 [64.3MiB/s] [=========================================================================================================================>] 100%            
Writing partition 12
32.0MiB 0:00:00 [68.5MiB/s] [=========================================================================================================================>] 100%            
ChromeOS installed.

real    15m33.963s
user    0m0.530s
sys 0m16.620s
sebanc commented 4 years ago

@darethehair Thanks again, I will update the instructions on the main page with this archive attached to allow mbr boot.

I think @B3ATDROP3R has successfully booted his laptop as he has opened a crostini related issue.

sebanc commented 4 years ago

I was going to upload the file when I thought about an issue with one of my scripts and had to change something.

@darethehair would you mind trying this last one when you have the time ? sorry about that. mbr_support.zip

darethehair commented 4 years ago

Being able to contribute in this small way to the usefullness of Brunch makes me happy! Yes, initial boot success with this as well (but no further on my devices ):

darren@asusk501:~/Downloads$ tar zxvf brunch_r81_k4.19_stable_20200510.tar.gz
chromeos-install.sh
efi_legacy.img
efi_secure.img
rootc.img
darren@asusk501:~/Downloads$ unzip mbr_support.zip
Archive:  mbr_support.zip
replace chromeos-install.sh? [y]es, [n]o, [A]ll, [N]one, [r]ename: A
  inflating: chromeos-install.sh     
  inflating: mbr.bin                 
  inflating: mbr.img                 
darren@asusk501:~/Downloads$ time sudo bash chromeos-install.sh -src chromeos_12739.111.0_samus_recovery_stable-channel_mp-v3.bin -dst /dev/sdb
[sudo] password for darren:       
All data on device /dev/sdb will be lost, are you sure ? (type yes to continue) yes
umount: /dev/sdb: not mounted.
umount: /dev/sdb1: not mounted.
umount: /dev/sdb10: not mounted.
umount: /dev/sdb11: not mounted.
umount: /dev/sdb12: not mounted.
umount: /dev/sdb2: not mounted.
umount: /dev/sdb3: not mounted.
umount: /dev/sdb4: not mounted.
umount: /dev/sdb5: not mounted.
umount: /dev/sdb6: not mounted.
umount: /dev/sdb8: not mounted.
umount: /dev/sdb9: not mounted.
BC1107A4-4379-0E47-B319-0A7326B80795
       start        size    part  contents
           0           1          PMBR (Boot GUID: BC1107A4-4379-0E47-B319-0A7326B80795)
           1           1          Pri GPT header
           2          32          Pri GPT table
    19255304    11022280       1  Label: "STATE"
                                  Type: Linux data
                                  UUID: 09698496-5F2E-0646-A712-72CC54A8FC72
     2117638       65536       2  Label: "KERN-A"
                                  Type: ChromeOS kernel
                                  UUID: 984F4555-E0B0-9146-BE03-056EDB0E9811
                                  Attr: priority=15 tries=15 successful=0 
    10866696     8388608       3  Label: "ROOT-A"
                                  Type: ChromeOS rootfs
                                  UUID: 618A5372-238B-1644-A545-8CE240880C7C
     2183174       65536       4  Label: "KERN-B"
                                  Type: ChromeOS kernel
                                  UUID: 0786B917-0FD3-BC45-9D9D-158A0216636C
                                  Attr: priority=0 tries=15 successful=0 
     2478088     8388608       5  Label: "ROOT-B"
                                  Type: ChromeOS rootfs
                                  UUID: 71BA9148-754B-EB43-9D44-D6684D020AD2
       16448           1       6  Label: "KERN-C"
                                  Type: ChromeOS kernel
                                  UUID: 45E939A4-435E-4E4B-B273-545DCDFE9F9F
                                  Attr: priority=0 tries=15 successful=0 
       16456     2097152       7  Label: "ROOT-C"
                                  Type: ChromeOS rootfs
                                  UUID: A7866BB5-81B2-6042-BC14-5F30D613F0F9
     2248712       32768       8  Label: "OEM"
                                  Type: Linux data
                                  UUID: 7DCBB10A-724B-044C-B331-3793E8097738
     2113608           1       9  Label: "reserved"
                                  Type: ChromeOS reserved
                                  UUID: 851A30F0-AE03-7540-852E-7BA69C432DD2
     2113609           1      10  Label: "reserved"
                                  Type: ChromeOS reserved
                                  UUID: 93C737B5-9132-4F4B-990D-82FCB50D1154
          64       16384      11  Label: "RWFW"
                                  Type: ChromeOS firmware
                                  UUID: 7BFB11F0-F2ED-C549-BAA4-2007D2F1669A
     2412552       65536      12  Label: "EFI-SYSTEM"
                                  Type: EFI System Partition
                                  UUID: BC1107A4-4379-0E47-B319-0A7326B80795
                                  Attr: legacy_boot=1 
    30277599          32          Sec GPT table
    30277631           1          Sec GPT header
Writing partition 1
10.0MiB 0:00:00 [62.0MiB/s] [=========================================================================================================================>] 100%            
Writing partition 2
16.0MiB 0:00:00 [58.5MiB/s] [=========================================================================================================================>] 100%            
Writing partition 3
2.00GiB 0:03:52 [8.81MiB/s] [=========================================================================================================================>] 100%            
Writing partition 4
16.0MiB 0:00:00 [39.0MiB/s] [=========================================================================================================================>] 100%            
Writing partition 5
2.00GiB 0:03:49 [8.91MiB/s] [=========================================================================================================================>] 100%            
Writing partition 6
 512 B 0:00:00 [2.25MiB/s] [==========================================================================================================================>] 100%            
Writing partition 7
1.00GiB 0:01:29 [11.4MiB/s] [=========================================================================================================================>] 100%            
Writing partition 8
16.0MiB 0:00:00 [65.5MiB/s] [=========================================================================================================================>] 100%            
Writing partition 9
 512 B 0:00:00 [2.08MiB/s] [==========================================================================================================================>] 100%            
Writing partition 10
 512 B 0:00:00 [2.11MiB/s] [==========================================================================================================================>] 100%            
Writing partition 11
8.00MiB 0:00:00 [55.1MiB/s] [=========================================================================================================================>] 100%            
Writing partition 12
32.0MiB 0:00:00 [55.8MiB/s] [=========================================================================================================================>] 100%            
ChromeOS installed.

real    15m4.413s
user    0m0.709s
sys 0m17.230s
sebanc commented 4 years ago

@darethehair Thanks a lot for the confirmation ! I think this one was the good one :)

sebanc commented 4 years ago

The "mbr_support" package has been added to the brunch master branch and instructions are in the main page readme.

Huge thanks goes to @darethehair for all the help :)

EnzoRimapa commented 4 years ago

hello good afternoon I have a problem with the latest support for mbr when installing it on a Toshiba satellite PC with corei3 everything indicates that it is installed from linux mint, I restart it but when it starts it throws me some messages and returns me to the boot menu indicating a failure Boot. I attach some photos I hope you can help me. Screenshot_QuickPic_20200520-193444 Screenshot_QuickPic_20200520-193452 Screenshot_QuickPic_20200520-193503 IMG_20200520_194414

EnzoRimapa commented 4 years ago

@sebanc this showed me. code.txt

sebanc commented 4 years ago

Actually some had issues with the previous mbr support package, I have reviewed it so that it would support a wider range of devices. Could all those using the previous package try this one and verify that it also works for them ? mbr_new2.zip

darethehair commented 4 years ago

I'm not really directly involved in this anymore, but I did try the latest MBR package:

darren@frodo3:~/Downloads$ catar zxvf brunch_r81_k4.19_stable_20200510.tar.gz
chromeos-install.sh
efi_legacy.img
efi_secure.img
rootc.img
darren@asusk501:~/Downloads$ unzip mbr_new2.zip
Archive:  mbr_new2.zip
replace chromeos-install.sh? [y]es, [n]o, [A]ll, [N]one, [r]ename: A
  inflating: chromeos-install.sh     
  inflating: mbr.bin                 
  inflating: mbr.img                 
darren@asusk501:~/Downloads$ time sudo bash chromeos-install.sh -src chromeos_12739.111.0_samus_recovery_stable-channel_mp-v3.bin -dst /dev/sdb
[sudo] password for darren:       
All data on device /dev/sdb will be lost, are you sure ? (type yes to continue) yes
umount: /dev/sdb: not mounted.
umount: /dev/sdb10: not mounted.
umount: /dev/sdb11: not mounted.
umount: /dev/sdb12: not mounted.
umount: /dev/sdb2: not mounted.
umount: /dev/sdb3: not mounted.
umount: /dev/sdb4: not mounted.
umount: /dev/sdb5: not mounted.
umount: /dev/sdb6: not mounted.
umount: /dev/sdb9: not mounted.
5CEAE7D0-9FE7-A24D-86CC-A25EA7027814
Warning: The kernel is still using the old partition table.
The new table will be used at the next reboot or after you
run partprobe(8) or kpartx(8)
The operation has completed successfully.
       start        size    part  contents
           0           1          PMBR (Boot GUID: 5CEAE7D0-9FE7-A24D-86CC-A25EA7027814)
           1           1          Pri GPT header
           2          32          Pri GPT table
    19255304    11022280       1  Label: "STATE"
                                  Type: Linux data
                                  UUID: 78011BAD-3B25-6D4B-B1B9-0F2B40CB51C9
     2117638       65536       2  Label: "KERN-A"
                                  Type: ChromeOS kernel
                                  UUID: C8C98DFC-02D9-F24D-B70F-26BA392002C4
                                  Attr: priority=15 tries=15 successful=0 
    10866696     8388608       3  Label: "ROOT-A"
                                  Type: ChromeOS rootfs
                                  UUID: 95C896F1-D3D5-BC4B-BBE3-0FB5B34871FA
     2183174       65536       4  Label: "KERN-B"
                                  Type: ChromeOS kernel
                                  UUID: 0ECD02E3-1727-CA40-B64C-790F0D2EC8AC
                                  Attr: priority=0 tries=15 successful=0 
     2478088     8388608       5  Label: "ROOT-B"
                                  Type: ChromeOS rootfs
                                  UUID: 753C5A93-EB7E-6F4F-9CFC-51DA92DE78B0
       16448           1       6  Label: "KERN-C"
                                  Type: ChromeOS kernel
                                  UUID: 4CFE087E-51CC-0848-806C-60E5C92125EC
                                  Attr: priority=0 tries=15 successful=0 
       16456     2097152       7  Label: "ROOT-C"
                                  Type: ChromeOS rootfs
                                  UUID: 3C657413-BF63-274C-A902-657B822D92A6
     2248712       32768       8  Label: "OEM"
                                  Type: Linux data
                                  UUID: 90D2297A-D421-EF4E-81A4-4BFAA28887F5
     2113608           1       9  Label: "reserved"
                                  Type: ChromeOS reserved
                                  UUID: D98B04D5-D846-134E-ACD7-9757B118B955
     2113609           1      10  Label: "reserved"
                                  Type: ChromeOS reserved
                                  UUID: EE694BEA-D1F3-6344-9013-AE4E141592ED
          64       16384      11  Label: "RWFW"
                                  Type: ChromeOS firmware
                                  UUID: 269C25F7-9E9E-0144-95A9-067738745AFC
     2412552       65536      12  Label: "EFI-SYSTEM"
                                  Type: EFI System Partition
                                  UUID: 5CEAE7D0-9FE7-A24D-86CC-A25EA7027814
                                  Attr: legacy_boot=1 
    30277599          32          Sec GPT table
    30277631           1          Sec GPT header
Writing partition 1
10.0MiB 0:00:00 [61.9MiB/s] [=========================================================================================================================>] 100%            
Writing partition 2
16.0MiB 0:00:00 [59.2MiB/s] [=========================================================================================================================>] 100%            
Writing partition 3
2.00GiB 0:03:43 [9.18MiB/s] [=========================================================================================================================>] 100%            
Writing partition 4
16.0MiB 0:00:00 [50.2MiB/s] [=========================================================================================================================>] 100%            
Writing partition 5
2.00GiB 0:03:47 [9.01MiB/s] [=========================================================================================================================>] 100%            
Writing partition 6
 512 B 0:00:00 [2.24MiB/s] [==========================================================================================================================>] 100%            
Writing partition 7
1.00GiB 0:01:25 [12.0MiB/s] [=========================================================================================================================>] 100%            
Writing partition 8
16.0MiB 0:00:02 [7.97MiB/s] [=========================================================================================================================>] 100%            
Writing partition 9
 512 B 0:00:00 [2.27MiB/s] [==========================================================================================================================>] 100%            
Writing partition 10
 512 B 0:00:00 [2.01MiB/s] [==========================================================================================================================>] 100%            
Writing partition 11
8.00MiB 0:00:00 [56.2MiB/s] [=========================================================================================================================>] 100%            
Writing partition 12
32.0MiB 0:00:00 [72.0MiB/s] [=========================================================================================================================>] 100%            
ChromeOS installed.

real    15m29.562s
user    0m0.666s
sys 0m16.884s

My Asus netbook booted from GRUB just fine as it has, but ChromeOS is 'not found' (as per normal).

sebanc commented 4 years ago

@darethehair Thanks again for trying it ! It confirms that the new change I made does not bring a regression compared to the previous one.

darethehair commented 4 years ago

@darethehair Thanks again for trying it ! It confirms that the new change I made does not bring a regression compared to the previous one.

I cannot tell from the various reports that folks have been providing, but there are success stories booting Brunch on some MBR/BIOS machines, right?

sebanc commented 4 years ago

I have had 1 clear report that it worked on a 1st gen intel device (according to https://en.wikipedia.org/wiki/Intel_Core) from @B3ATDROP3R , aside from that Z3r0shin from issue #173 should be able to boot with the new patch but there is no feedback yet.

sebanc commented 4 years ago

I believe this issue is fixed so I will close it, don't hesitate to re-open it if needed

srevinsaju commented 4 years ago

@sebanc I had a question; Is it possible to make ChromeOs work on

I tried the mbr_support on master; but it crashes on SYSLINUX bad configuration, and I am not able to get to grub; I used octopus recovery.

EDIT: I retried with samus recovery; but still it does not boot

Error:

SYSLINUX 6.03 EDD Load error: boot error

Thanks; sorry if I am taking your time