arnoldthebat / chromiumos

Stub Repo for chromiumos issues
https://arnoldthebat.co.uk/
Other
264 stars 35 forks source link

Chrome OS w/ Android + Vulkan works on regular PC #153

Open XaeroVincent opened 6 years ago

XaeroVincent commented 6 years ago

Has anyone here tried to run the official Chrome OS images work, rather than Chromium OS, which lacks Android, Google Assistant, and Flash support?

It appears with some fiddling around, it's possible to get the genuine Chrome OS images to work on an ordinary Windows laptop. Mine is a Dell Inspiron 15 5000 series with a touch screen. At first, audio and wireless didn't work but after copying over the firmware directory from Arnoldthebat's Special Build and removing a kernel module blacklist, everything started working. 3D acceleration, sound, touch screen, web cam, touch pad, Android, etc. all work and installed to the hard drive.

It's not perfect, however. For some odd reason it takes like 3 minutes or so to login with my user account at the login screen, whereas on Chromium OS, I log in instantly. Once booted, everything is fine, though. Furthermore, laptop suspend/sleep (S3 power state) doesn't function properly (probably due to the older 4.4 kernel with newer ones having better laptop ACPI support), so I made sure to turn that off in the ChromeOS power settings. Lastly, automatic updates won't work. It sees the Omaha update server but the logs are showing that it refuses to connect because the update tool doesn't detect valid Chromebook BIOS firmware and/or hardware security module.

Out of curiosity, I replaced the 4.4.86 kernel with Arnoldthebat's Special Build 4.14 kernel and March 2nd 4.4.118 daily build kernel with the ChromeOS image and it booted fine and showed up in uname, however, the Android container wouldn't start but some of the ARC++ container mount points were still be made via df. ARC++ error messages in /var/log showed permission denied and file not found messages when using the other kernels. So it appears there is some special code compiled into with the official ChromeOS kernels that aren't included with the FOSS Chromium kernel sources?

Anyway, here is a screenshot:

oscarbg commented 6 years ago

Hi @XaeroVincent, interesting experiments!! can you confirm if you have Vulkan inside this "Android on ChromeOS" by downloading VulkanCapsViewer similar to how I asked in your Oreo efforts.. if Play Store works OK then ok if not download from: https://vulkan.gpuinfo.org/download.php https://vulkan.gpuinfo.org/downloads/vulkancapsviewer_1_4_x86.apk maybe noob question but have you tested your modified ChromeOS via Qemu GVT Dma-buf to see if it works? thanks..

XaeroVincent commented 6 years ago

Hi @oscarbg,

Yes! Vulkan works on ChromeOS's Android container on my Dell Inspiron 5559. It was broken in the previous ChromeOS build but appears to be working in v10176.76.0 / 64.0.3282.190.

I tested the GPU with 3DMark, VulkanCapsViewer and OpenGL ES CapsViewer. It appears ChromeOS 64 is using Mesa 17.3 RC5, which on the Intel i915 driver exposes Vulkan 1.0.57 and OpenGL ES 3.1 in the Android 7.1.1 container. As of now, the Intel OpenGL ES driver seems to be more optimized than their Vulkan driver.

I would love to be able to get it working in VMware on my gaming laptop with a GTX 1070. I'm able to recompile the Linux 4.4 kernel with the VMware SVGA3D graphics driver (VMWGX), however the VMware just reboots at the splash screen. With the newer 4.14 ChromeOS kernel, VMware will boot into ChromiumOS desktop but Android support breaks whenever not using the official 4.4 kernel, which defeats the point of wanting to use it. I've also tried making kernel headers from the 4.4.96 kernel and manually compiling the driver in a chroot but for whatever reason the symbols still don't match and I'm not able to modprobe nor insmod 'vmwgfx.ko'. It's seems pretty clear that the magic bits to make Android / ARC++ work on ChromeOS is secretive.

I have been unsuccessful at getting the Play Store / Android to work with anything except the official bundled ChromeOS 4.4.96 kernel, even when testing bare-metal on my Dell laptop. :( [cries a long time] I've tried compiling several different ChromeOS kernels, making sure the Android kernel features were enabled in base.conf and even extracting the base.conf from the binary, official ChromeOS kernel, but still no dice. When I click the Play Store icon when running on other kernels, it just spins--no window ever pops up and the ARC container doesn't mount properly in '/run'. It should mount the Android root to something like "/run/containers/android_5oNjIR/".

ChromeOS in QEMU w/ GVT + DMA-BUF may work, but as I've mentioned on the Intel forum, I was only able to get DMA-BUF working with SeaBIOS. ChromeOS at best would only support TianoCore UEFI, as Chrome OS will not work with SeaBIOS or any legacy BIOS / CSM from what I can tell. Chrome OS appears to require an EFI system with some special ChromeOS EFI extensions and a GPT partition table. Your best bet is to just run an Android x86 Oreo build directly on-top of QEMU w/ SeaBIOS as we already know that DMA-BUF works that way. The filesystem layout (comprising of several different partitions) is very strange compared to normal Linux distros.

Here's a screenshot. Enjoy!

mploetne commented 6 years ago

Hi @XaeroVincent , can you give me a hint on what you mean with

"It appears with some fiddling around, it's possible to get the genuine Chrome OS images to work on an ordinary Windows laptop."

I searched, but didn't found somthing.

XaeroVincent commented 6 years ago

Hi there @mploetne,

There are no official guides. The gist of it is you first need to install a Chromium OS build then download an official recovery image listed in recovery.conf, copy it to a flash drive then use gparted to resize the resulting the sda1 and sda3 partitions. Afterwards, boot into Chromium OS and use 'dd' to overwrite the data in the sda1 and sda3 partitions from the respective partitions on the flash drive. I recommend using an x86-64 branch that uses the Linux 4.4 kernel, such as 'eve' or 'coral'

https://www.chromium.org/chromium-os/developer-information-for-chrome-os-devices

After this, you should be able to boot into official chrome OS (if you have integrated Intel graphics). Almost no chance of it working with Radeon or GeForce GPUs because the driver modules for those aren't included with the official builds. However there will still be problems. You'll very likely need to download the Linux binary firmware files for and place them in /lib for Intel / Realtek WiFi + Bluetooth to work then remove the blacklisted module in /etc/modprobe for audio to work.

It's quite an involved process and you definitely need to be comfortable with a Linux environment and have 'close-enough' laptop hardware. Now of course it's possible to recompile the kernel with more features and driver modules for broader hardware support (I've done just that multiple times) but for whatever reason, it breaks Android support, which is the only reason anyone would want to try an official image in the first place.

What might be another interesting scenario is if it's possible to get an Android OS image to run on-top of the KVM-based Crosvm virtual machine. I know Google is working to port QEMU's Virtio GPU drivers to Crossvm to provide accelerated graphics output on Chrome OS's built-in Wayland compositor.

I'll have to check and see if the Crossvm bits have landed in vanilla Chromium OS 67 developer builds that Arnold The Bat hosts. I have managed to get QEMU w/ an Android guest to appear on Chrome OS's Wayland compistor with GTK and SDL QEMU windows (when I recompiled the kernel with KVM and VirtIO support enabled), by using Crouton chroot but only with software rendering enabled. The QEMU window freezes on the Chrome OS's Ash desktop when '-vga virtio' + 'gl=on' is enabled but works fine with software rendering but that sucks for playing Android games.

Anyway, it's a lot of fun to play with but honestly the best Android support I've seen outside of Official Chrome OS is running Android as a VM guest on-top of QEMU on Archlinux or Ubuntu w/ DMA-BUF enabled (Intel GVT-g shared GPU pass-through technology). Virtio GPU may work on bleeding-edge Android x86 builds as well but I haven't tried that yet.

Thisuu commented 6 years ago

@XaeroVincent, Just out of curiosity, Chrome OS uses some kernel modules(namely ashmem and binder,which should be added as either out-of-tree or in-kernel) to be able to run Android apps. does AndroidTheBat kernel include these? or could that be the case may be?

XaeroVincent commented 6 years ago

@Thisuu, Yeah the kernel base.conf has some modules that are compiled in and I made sure those were enabled my kernel config:

CONFIG_ANDROID=y CONFIG_ANDROID_BINDER_DEVICES="binder,hwbinder,vndbinder" CONFIG_ANDROID_BINDER_IPC=y CONFIG_ANDROID_TIMED_GPIO=y CONFIG_ANDROID_TIMED_OUTPUT=y CONFIG_ASHMEM=y

However, even if I compile the same exact release kernel

https://chromium.googlesource.com/chromiumos/third_party/kernel/+/release-R64-10176.B-chromeos-4.4

...with the exact base.conf extracted from the backup kernel via: cat /proc/config.gz | gunzip > base.config, Android apps still won't run with the freshly compiled kernel.

However, I did notice something interesting, which might explain it? I've been using the latest GCC 7.x toolchain in my chroot or VM to compile the kernel.

It appears Google is using the GCC 4.9 Android compiler toolchain to build the official ChromeOS kernels.

Thisuu commented 6 years ago

@XaeroVincent Not sure if that's causing the issue.. may be try with GCC 4.9? Also make sure support for cgroups and user namespace etc are enabled, see https://www.funtoo.org/Linux_Containers#Kernel_configuration

And please ping me if you find a workaround/reason causing that delayed login :) I did some digging through but couldn't find anything yet.

Thisuu commented 6 years ago

@XaeroVincent So it seems like some dbus services are causing the login process hang, Try removing /etc/dbus-1/system.d/org.chromium.TpmManager.conf & /etc/dbus-1/system.d/org.chromium.Trunks.conf to see if it makes any difference.

XaeroVincent commented 6 years ago

@Thisuu Thanks for the suggestion! 'org.chromium.Trunks.conf' does indeed contain a 4 minute timeout to halt the login process relating to the TPM and taking ownership of it. Because this Dell laptop isn't a chromebook it doesn't recognize it's TPM chip, which just causes the various TPM related processes to fail and spawn error messages in dmesg, which is probably the reason for the long delay--before Chrome's login manager finally gives up trying to query info from the unrecognized TPM. Lowering the value or deleting these or other files does have an impact, however not the one I was expecting. Instead of the long pause before logging in, it just quickly just rejects the login authentication and just loops back to the login screen and I'm never able to login. Deleting other files like tpm_manager, cryptohome, trunks, attestation, etc will just break the login manager and never log the user in. The log files shown it was cryptohome daemon rejecting the credentials when timeout is set really low. Trusted Platform Module chip authentications and SELinux enforced policies are very heavily ingrained in the the official ChromeOS images. Google isn't joking when they say they focus on security with Chrome OS. That said, I managed to get another Chrome OS image to work without the login lag (after a fair bit of fiddling) and is based on the new Meltdown/Spectre-patched Chrome 65. This image came with kernel 3.18, which works with Android too. I swapped that kernel out from the image for another image's 4.4.111 kernel and that is working just fine too with Android's Google Play. The images are missing a lot of proprietary firmware blobs, so I just merged my Archlinux VM's /lib/firmware directory with that on Chrome OS and suddenly WiFi and Bluetooth started working.

@Thisuu Have you tried making an official Chrome OS w/ Android support working on a standard PC too? You should try it...it's plenty of fun and Chrome OS is quite a nice operating system w/ an added Linux chroot and far more interesting with container-based Android support because most Chrome Web Apps and games are laughable garbage compared to the Play Store and the Chrome App platform has been deprecated by Google in favor of WebAssembly and other web technologies. I won't try redistributing my PC-fixed official Chrome OS images as I'm sure Google's lawyers would unleash their wrath on me but I doubt Google cares if you you're geeky enough to make them work on your whitebox PCs for the purpose of personal use. :)

I will see if I can get the Android 4.9.x GCC stack and build 4.14 with Android support enabled and see if that makes it work. That said, simply recompiling the kernel with RadeonSI/AMDGPU and Nouveau modules enabled aren't enough (I tried) because the ChromeOS's Mesa stack is missing the OpenGL drivers for AMD and Nvidia cards too, which means Mesa will need to be recompiled with those drivers. This would probably require a full ChromeOS rebuild?

Thisuu commented 6 years ago

@XaeroVincent Yeah,I already have :D Did a dd from Chromium OS img to two partitions to be used as ROOT-A & STATE then mounted an official ChromeOS image and sudo rsync -zavhEAX /directory/to-ChromeOS/ROOT-A/ /directory/to-ChromiumOS/ROOT-A/ed. It's later that i realized Google assistant is only included in Pixelbook images :) so maybe next time i'll go with the Pixelbook one. And yeah,it's lot of fun to play with. Other than that logging delay and few issues like S3 state which i can live with,it's working perfectly fine. Really looking forward for Crostini,to see if i can make it my primary OS with all the linux apps in place and the added advantage of Play Store.It's still linux after all. That logging lag is the one i really need to be fixed,Cuz i hate it booting within 4-5 seconds then having to wait 2 minutes just to logging in :D

I had a 4-5 minutes login lag before and it was reduced to 2mins after removing /etc/dbus-1/system.d/org.chromium.TpmManager.conf & /etc/dbus-1/system.d/org.chromium.Trunks.conf.Then attestationd had few respawns in dmesg but removing /etc/dbus-1/system.d/org.chromium.Attestation.conf breaks login,causing cryptohome to continuesly respawn. And yeah,removing files from /etc/init seems to make it unable to login. sudo initctl stop tpm_managerd will work,but you will need to run it at every login since it isn't persistent. I'm not much familiar with Upstart and it seems that chkconfig is the one to disable Upstart jobs,which doesn't exist in ChromeOS. Which image did work for u exactly? I'll first try with a Pixelbook img and see if it works fine.

Welll i have no idea tbh. I really needed to give it a try building an img and see how it goes,my my HD is full of personal stuff right now. So may be i'll have to do a clean up first :)

Also what's ur Arch's kernel version? I'm using Solus as primary OS,so I'll see if copying over firmware from that works.

brudarko commented 6 years ago

Well, I'm gonna try do this too, TRY!

allanin commented 6 years ago

Hi everone, very interesting thread.

I also installed Chromium OS (Special build from Arnold) and replaced the content of the sd*3 partition with the asuka recovery build.

I did not replace the /boot and the /lib folder. Furthermore I also commented the entry in alsa-sld.conf for audio support.

Everything works fine except Google Playstore. Accepting the licenses results in an error.

allanin commented 6 years ago

Okay, found it.

I had to change the settings in the file selinux.conf to permissive.

The apps are working really fast, multiple apps at the same time are no problems at all:

screenshot 2018-04-03 at 13 31 51

ggy7 commented 6 years ago

Can anybody publish step by step instructions on how to get chrome os on desktop pc, with working playstore for extra dummy?

allanin commented 6 years ago

Do you have a working Chromium OS installation from https://arnoldthebat.co.uk/wordpress/2018/02/11/chromiumos-enhanced-special-build-r64-10176-b/ on your PC?

ggy7 commented 6 years ago

Yes, i do. Latest Arnold's chromium os 64 special

allanin commented 6 years ago

fine. then you need to download a recovery image, which is is fitting for your architecture/platform

you have here a list for all supported devices https://www.chromium.org/chromium-os/developer-information-for-chrome-os-devices

here you can find your chosen image: https://dl.google.com/dl/edgedl/chromeos/recovery/recovery.conf e.g. chromeos_10323.62.0_asuka_recovery_stable-channel_mp.bin

after downloading please use following commands to open the third partition of the image (be sure to be root)

losetup -fP {path_to}/chromeos_10323.62.0_asuka_recovery_stable-channel_mp.bin mkdir /home/chronos/image mkdir /home/chronos/local

mkfs.ext4 /dev/sda5

mount /dev/sda5 /home/chronos/local

type losetup to get a list, search for loop{number}p3

mount /dev/loop{number}p3 /home/chronos/image -o loop,ro

cp -av /home/chronos/image/* /home/chronos/local

rm -rf /home/chronos/local/lib/firmware rm -rf /home/chronos/local/lib/modules/ (name of folder depends on kernel)

cp -av /lib/firmware /home/chronos/local/lib/modules/ cp -av /lib/modules/4.14.3 /home/chronos/local/lib/modules/

rm -rf /home/chronos/local/etc/modprobe/alsa-skl.conf

change in /home/chronos/local/etc/selinux/config the word enforcing to permissive

type in the command sync to ensure everything is stored and then reboot.

after that you need to change the bootloader to set root=/dev/sda5 to see if everything has worked out fine.

just type e on the black bootloader screen, change the root entry as described above and press F10.

you should now see the Chrome OS image instead of Chromium OS.

i am not sure if you will lose any data, so be sure to backup everything needed.

ggy7 commented 6 years ago

localhost / # mount /dev/loop1p3 /home/chronos/image -o loop,ro mount: /dev/loop1p3: failed to setup loop device: No such file or directory

In /dev are:

ashmem cpu hidraw1 i2c-11 i2c-8 loop0 loop2p4 loop6 null rfkill sda3 sdb2 uhid vhci binder cpu_dma_latency hidraw2 i2c-12 i2c-9 loop1 loop2p5 loop7 nvram rtc sda4 sdb3 uinput vhost-vsock block disk hidraw3 i2c-13 input loop2 loop2p6 loop-control port rtc0 sda5 sdb4 urandom vndbinder bsg dm-0 hpet i2c-2 ion loop2p1 loop2p7 mapper ppp sda sda6 shm usb watchdog bus dri hwbinder i2c-3 jail-control loop2p10 loop2p8 mem pstore sda1 sda7 snd usbmon0 watchdog0 char fd hwrng i2c-4 jail-request loop2p11 loop2p9 memory_bandwidth ptmx sda10 sda8 stderr usbmon1 xt_qtaguid chromeos-low-mem full i2c-0 i2c-5 kmsg loop2p12 loop3 net ptp0 sda11 sda9 stdin usbmon2 zero console fuse i2c-1 i2c-6 kvm loop2p2 loop4 network_latency pts sda12 sdb stdout usbmon3 zram0 core hidraw0 i2c-10 i2c-7 log loop2p3 loop5 network_throughput random sda2 sdb1 tty usbmon4

Then

localhost / # cp -av /lib/modules/firmware /home/chronos/image/lib/modules/ cp: cannot stat '/lib/modules/firmware': No such file or directory

ls gives

localhost / # ls /lib/modules/ 4.14.3

Then:

localhost / # cp -av /lib/modules/4.14.3 /home/chronos/image/lib/modules/ cp: cannot create directory '/home/chronos/image/lib/modules/4.14.3': Read-only file system

allanin commented 6 years ago

I updated my description / mistakes.

Thank you for your feedback.

In your case the required partition seems to be loop2p3. Try that for the losetup command.

ggy7 commented 6 years ago

losetup show's:

localhost Downloads # losetup
NAME       SIZELIMIT OFFSET AUTOCLEAR RO BACK-FILE                                                                    DIO
/dev/loop1         0      0         0  0 /home/user/91999e3615d25d1c90fe6ec2a4cb51a0d0d2c7e5/Downloads/chromeos_10176.76.0_caroline_recovery_stable-channel_mp.bin
  0
/dev/loop0         0      0         0  0 /mnt/stateful_partition/encrypted.block                                        0

But ls /dev, show's loop1p3, so i used it:

localhost Downloads # ls /dev
ashmem            dri       i2c-10  ion           loop1p3  loop-control        ptp0    sda4    tty          watchdog
binder            fd        i2c-11  jail-control  loop1p4  mapper              pts     sda5    uhid         watchdog0
block             full      i2c-12  jail-request  loop1p5  mem                 random  sda6    uinput       xt_qtaguid
bsg               fuse      i2c-13  kmsg          loop1p6  memory_bandwidth    rfkill  sda7    urandom      zero
bus               hidraw0   i2c-2   kvm           loop1p7  net                 rtc     sda8    usb          zram0
char              hidraw1   i2c-3   log           loop1p8  network_latency     rtc0    sda9    usbmon0
chromeos-low-mem  hidraw2   i2c-4   loop0         loop1p9  network_throughput  sda     sdb     usbmon1
console           hidraw3   i2c-5   loop1         loop2    null                sda1    sdb1    usbmon2
core              hpet      i2c-6   loop1p1       loop3    nvram               sda10   shm     usbmon3
cpu               hwbinder  i2c-7   loop1p10      loop4    port                sda11   snd     usbmon4
cpu_dma_latency   hwrng     i2c-8   loop1p11      loop5    ppp                 sda12   stderr  vhci
disk              i2c-0     i2c-9   loop1p12      loop6    pstore              sda2    stdin   vhost-vsock
dm-0              i2c-1     input   loop1p2       loop7    ptmx                sda3    stdout  vndbinder

Command's seem's to be worked fine. After reboot i pressed e, and added to boot string root=/dev/sda5 and i got chrome logo, but it goest to reboot, probably downloaded incompatible image or probably due to using nvidia gpu as main. I'm gonna try asuka too.

msprengholz commented 6 years ago

Thanks for the guidance! I've noticed that only the 'asuka' recovery image worked. The others I tried simply didn't have files on the third partition. Maybe this has to do something with the version number (10323 compared to 10176 of the three other images I tested)? Though when I boot up I have only a few seconds at the login screen before my system crashes without any warning. It doesn't matter what input I make. I had the same problem when I tried updating ChromiumOS to official ChromeOS via the script mentioned here. Anyone else has this problem?

@ggy7 I simply chose local image B to boot into chrome OS, as in the boot entries there is no 'root=/dev/sdX' text but instead UUIDs for the different partitions.

@XaeroVincent Can you tell me how you resized the sda1 and sda3 partitions? With GParted I get the error that e2fsck needs to be updated. (I'm using a version from 22-Mar-2018, so that shouldn't be the case)

ggy7 commented 6 years ago

@ggy7 I simply chose local image B to boot into chrome OS, as in the boot entries there is no 'root=/dev/sdX' text but instead UUIDs for the different partitions.

Local image B doesn't work for me, i just changed UUID to root=/dev/sda5 in Local image A boot string

ggy7 commented 6 years ago

Ok, system boot's. Can you tell me, how can i permanently save boot entry root=/dev/sda5 in Grub? How can i find and mount boot partition to edit grub.cfg, if i understand properly. Thnx. And look like i don't have sound.

msprengholz commented 6 years ago

@ggy7 On the 12th partition (/dev/sda12) is the boot loader (efi and syslinux). You can find the files to change there.

ggy7 commented 6 years ago

Thanks, done with it. But i've noticed that i don't have a sound. Sound control show's only one output UVC cam, USB... Alsamixer show's only this variant too. Any ideas?

allanin commented 6 years ago

@ggy7 did you remove this file: /home/chronos/local/etc/modprobe/alsa-skl.conf

it prevents loading the kernel module for sound

ggy7 commented 6 years ago

look like i skipped this command. I tried this command again and it say's done, it doesn't helped. When i checked where is alsa-skl.conf, using find / -name alsa-skl.conf it say's /etc/modprobe.d/alsa-skl.conf and it's in read-only mode, i can't remove it.

XaeroVincent commented 6 years ago

I used Gparted Live CD to resize them. @ggy7 ChromeOS by default boots with the root partition in read only mode. Do "sudo mount -o remount, rw /" to fix that.

ggy7 commented 6 years ago

Thanks. Fixed!

Thisuu commented 6 years ago

@XaeroVincent, Is webcam working for you within Android apps?

lucabelluccini commented 6 years ago

@allanin Great step by step guide.

I've followed your procedure and it worked. Then I've tried to perform the same procedure mounting the chromium image as loop device and editing the original image itself, then tried to flash it directly to the disk instead of the usb. The system booted (editing the boot device to /dev/sda5), but when logging in, it loads few minutes and finally goes back to login.

I've checked the logs and in the chrome logs I can clearly see there's "email or password cannot be verified".

The chromium os is setting up something at first boot?

I've also tried to force it to out of the box experience. It didn't solve the issue.

modaifallah commented 6 years ago

Guys this really looks promising. If someone makes a noobie guide and add missing drivers to the official image, it will be really appreciated. I hate Windows and now hackintoshed my Asus laptop, but Chrome with Google play and Android apps is way more better.

kkartas commented 6 years ago

First of all thank you for your contribution! I have a Dell Inspiron 5558, with Intell Wireless 3160. Everything works fine in the last special Chromium OS build by arnoldthebat except Wi-Fi and sound. I used Acer Chromebook 15's bin. Should I try another Broadwell bin? If yes, then I have to redo the installation of Chromium and do the steps again, or I just import the recovery image, as before, in my current Chrome OS installation? Thank you!

rojter-tech commented 6 years ago

I made an "extra dummy" summary of what is discussed here, with different approaches for installing Chrome OS primarily for Intel devices.

http://rojterqnap.myqnapcloud.com/WordPress/2018/05/26/39

The biggest diffrence is really just that I've used FlintOS Dev distribution instead of Arnold's Special Build, finding out that it has a broader support for graphics and in my case even WiFi after trying this method on 5 different devices.

If there is something that I should add or change you could point it out! :)

suoko commented 6 years ago

Do you think it's possibile to have a live hybrid chromium/chrome os with working playstore ?

rojter-tech commented 6 years ago

@suoko Yes, I am actually using such an USB right now to write this reply! :)

suoko commented 6 years ago

Ohhh, so I'll ask where you downloaded/uploaded the iso/img from/to !!! :-D

rojter-tech commented 6 years ago

@suoko In this case I flashed a USB with FlintOS Dev Build into a 16GB USB, resized partition 3 on the USB from 2GB to 3GB and then copied, and overwrited the content of p3 on the USB, with p3 of the "lars" recovery image. After modifying /etc/selinux/config and removed alsa-skl.conf i now have full support for wireless network, graphics, sound and Google Play Store.

This machine is an Asus K556U with the Skylake architecture. FlintOS Dev is downloaded from https://flintos.io/download/

msprengholz commented 6 years ago

@penguinfamily Thanks for your guide! I wouldn't have imagined that the cpu architecture of the recovery image must be same as in the pc. I've tried it and now it works! Anyone wanting to extend the data partition on the hard drive to fill the entire space, may follow this guide: Link This works from within ChromeOS, as I couldn't manage to get this working with GParted. I am missing a few kernel modules for sensors and volume buttons on my tablet. Could I just copy them over from another linux distro?

volram commented 6 years ago

screenshot 2018-06-01 at 01 11 06 The update to Chrome OS 66 broke the Play Store. We must investigate what is responsible for that. (Edit: as far I could digg in this, it has to do with session manager (sbin folder). With the file 'session manager' version 64, the login screen is not showed. The log in chrome://system/ point to session_manager. Someone with more expertise could look at this. Thanks in advance.

danilvr commented 6 years ago

It's possible to install ChromeOS by this instruction on Sandy Bridge Intel processor?

rojter-tech commented 6 years ago

@McForse. Did you check https://www.chromium.org/chromium-os/developer-information-for-chrome-os-devices? If not, I can tell that you will definitely find the answer there. If you did, do it again.

I did a summary of this thread here,

modaifallah commented 6 years ago

@penguinfamily I have Skylake too, can you share final image?

rojter-tech commented 6 years ago

@modaifallah. Sure, i uploaded it here on Mega. It's a 14 GB disk image.

sanslar commented 6 years ago

@penguinfamily Suitable for kabylake? They are very similar... I tried to make a bootable usb for kabylake taking the image of .bin from the pixelbook and vanilla chromium... The system boots, but after entering the login and the password there is an endless download, and then I return back to entering the password.

rojter-tech commented 6 years ago

@sanslar I have some experience with running Skylake on a Broadwell machine with noticeable incompatibilities. I guess that your best shot is just to try it :). Or try another base Chromium image.

h20ray commented 6 years ago

@penguinfamily how to install to hardisk? i try /usr/sbin/chromeos-install --dst /dev/sda and it's not working

modaifallah commented 6 years ago

@penguinfamily thanks bro ❤️

PiktCai commented 6 years ago

I installed Chrome OS on my PC, but now I have a question"how can I update to beta/dev/canary channel?".I try to check update from settings app, but nothing changed......

sanslar commented 6 years ago

@penguinfamily thanks :)