Using ChromeOS Firmware Utility Script on Acer Chromebook C720P - Chromebooks

https://mrchromebox.tech/#fwscript
To download and run the script, from a terminal/shell type:
cd; curl -LO https://mrchromebox.tech/firmware-util.sh && sudo bash firmware-util.sh
3. Install/Update Custom coreboot Firmware (Full ROM)
As this is a full replacement firmware, the script will offer users the option to back up their stock firmware on USB. Chromebox users have the option of a Legacy Boot or UEFI compatible firmware. When the Legacy Boot option is selected, users will have the option to set the default boot device (internal storage [default] or USB/SD); Haswell/Broadwell Chromebox users will also have the option to enable "headless" (no display attached) booting, as well as the option to enable PXE (Ethernet/network) booting via iPXE. If PXE support is enabled, it can also be set to be the default boot device. As before, changing any of these boot options requires re-running this script function.
Since Haswell/Broadwell/Baytrail Chromeboxes store their Ethernet MAC address in the VPD (vital product data) region of the stock firmware, the script will extract that region from the stock firmware and inject it into the new firmware ensuring the unique MAC address isn't lost. It will also persist the VPD region across firmware updates, so this is all transparent to the user.
After installing the Custom coreboot / Full ROM Firmware, your device will boot directly in UEFI (or Legacy) Mode; ChromeOS will not boot (though it will try to do so and fail, until a new OS is installed). Your ChromeOS device is now a "regular PC," and you can install the OS of your choice without any special instructions.
Supported Devices: All SandyBridge, IvyBridge, Haswell, Broadwell, Baytrail, Braswell, and Skylake ChromeOS devices, plus the 2018/Kabylake Chromeboxes
Requires firmware write-protect disabled: YES
Notes -
I am finally giving the middle finger to Google googledevs with their firmware restrictions on Acer Chreomebook C720P
1. Removed firmware protection screw from motherboard.
2. Ran the mrchromebox script above making sure to backup the original firmware to usb disk, in case of unfortunate bricking.
3. Reboot - I now have a fully functional UEFI PC with no firmware restrictions.
3. Can run Arnoldthebat v72 or FydeOS 6.0 with Kernel 4.14.83... or efi ubuntu, arch linux, (which I could already with seabios) etc.
4. Can run all variants of chromefied eve, nocturne, etc with Kernel 4.14.83 & FydeOS 6.0 or ATB v72 as base...
Next step - use the internal SSD to dd my Chrome OS of choice.
I am happy like a piglet in mud
Comment - this confirms that Google's firmware is crippleware to stop customers from updating their Chromebooks with unofficial ROMs

Background info: I own many ChromeOS devices (primarily used off eBay), including some older ones (Acer C720 and C720P), which -- as you know -- have expiring support in June 2019. In the meantime, I have plenty of experience running MrChromebox firmware enabling legacy dual-boot to my Linux-distro-of-choice -- either internally on a re-partitioned SSD, or an external USB stick. There is no great urgency to seeking out solutions to my soon-ending ChromeOS support, but your posts suggest that you are the 'expert' on the various options available for the C720P -- as noted in your post above.
Question: Have you considered the creation of an all-inclusive web page describing a C720P conversion -- not just the 'Full ROM/UEFI' change from MrChromebox, but everything else to get back an auto-update (?) ChromeOS with the latest features (Android/Linux) -- the stuff within #3 and #4 above?

darethehair said:
Background info: I own many ChromeOS devices (primarily used off eBay), including some older ones (Acer C720 and C720P), which -- as you know -- have expiring support in June 2019. In the meantime, I have plenty of experience running MrChromebox firmware enabling legacy dual-boot to my Linux-distro-of-choice -- either internally on a re-partitioned SSD, or an external USB stick. There is no great urgency to seeking out solutions to my soon-ending ChromeOS support, but your posts suggest that you are the 'expert' on the various options available for the C720P -- as noted in your post above.
Question: Have you considered the creation of an all-inclusive web page describing a C720P conversion -- not just the 'Full ROM/UEFI' change from MrChromebox, but everything else to get back an auto-update (?) ChromeOS with the latest features (Android/Linux) -- the stuff within #3 and #4 above?
Click to expand...
Click to collapse
You are welcome to give this a go - I do not have the expertise, or patience to set up an automated service of any sort, this is just a hobby to me, & owning a C720P, I just wanted it to be more useful to me despite the Acer & Google built in restrictions

Windows 10 To Go on Acer Chromebook C720P
This might become a thread if needed...
Soon after I purchased Acer CB C720P (in July 2014)- tinkerer hobbyist that I was, I tried to get Windows 8.1 to run from its USB 3.0 on it -
Of course this is a modest machine, so it was expected that they will try & discourage this as Windows 8.1, then later 10 laptops are more expensive, & this is supposed to be a Chrome OS machine, so running Windows on it will be made hard with lack of drivers & the sort...
Anyways, with the help of a few hackers posted advice, I managed to get it working with most functionalities, especially the trackpad.
As I have a Windows To Go 10 USB 3.0 SSD lying around, & after flashing the C720P firmware, just for fun, I tried to boot from it on the C720P...
& all the answers with drivers & howtos are published by coolstar (saving me having to find them) -
https://coolstar.org/chromebook/windows-install.html?device=peppy
Surprisingly, it became very stable with the latest iteration of Windows 10, with most drivers working, apart from trackpad & screen touch...
I will try & get these to work, & if so, will publish results & cooking here, with links to drivers I scavenge too...
coolstar did the work - head on here for resources, howtos & drivers -
https://coolstar.org/chromebook/windows-install.html?device=peppy

Hi, I've a question. I have Acer CXI3-I716GKM (on 8gen Intel) and I want to reflash windows and drivers. Should I use your recommendations when using modern Chromebox? Thank u in advance

Related

[UBUNTU][Testing] How-to install it on the Prime

-----------
HOW-TO: Ubuntu on Asus Transformer Prime TF201
Port by lilstevie (thank you for your hard work)
--------
DISCLAIMER:
I wrote this how-to from my experience installing successfully Ubuntu on my Prime.
I am in no way responsible for what you do with your Prime, even when you are following my instructions.
There is always the risk of making it worse, hardbricking your device, and this risk is completely down to you !
This is not a final version. This port is currently very unstable !
Install Ubuntu on your TF201 for testing purposes only !
HOW-TO Unbrick your Prime (or not...):
http://forum.xda-developers.com/showthread.php?t=1514088
--------
VERSION:
v0.1: First version of the tutorial
ABOUT:
- Working:
Wifi – Same patch as for the TF101
Keyboard (if you have a dock)
USB Host (if you have a dock)
- Partially working:
Graphics Acceleration (only 2D at this point)
Touchscreen (it works but every few touches are off target by 1/2 the screen)
- Not working:
Bluetooth
Trackpad
Sound
Sensors (ALS, Gyroscope, Accelerometer, GPS, magnetometer)
Shutdown, Reboot, Suspend
--------
Links:
Bootimage http://173.244.200.139/ports/prime-sdlinux.blob
RootFS http://173.244.200.139/ports/ubuntu-prime.img.gz
Fastboot http://alpharev.nl/wintools.zip
MD5:
9625d336062b2ff7eb9530dd5e48fb9e prime-sdlinux.blob
1a59e7918c199a85f805cb62ca130dae ubuntu.img
81238957a42b207213442cba7eeff684 wintools.zip
--------
Hardware:
Asus Transformer Prime TF201 (bootloader unlocked & with data/charge cable)
A computer with Linux installed
MicroSD card of at least 4GB (a fast card is better)
--------
Pre-requisities:
1. You need to have an already unlocked Prime.
To unlock it, use the official Asus Bootloader Unlock Tool APK on Android.
2. You need to have the latest ClockWorkMod (CWM) Recovery installed to easily backup & restore your device.
To install it, you can use the Android tool 'ROM Manager' from Play Store if you system is already rooted.
Otherwise, you can use the 'Fastboot' tool along with this tutorial (BE CAREFUL!):
HOW-TO 1: http://www.theandroidsoul.com/install-cwm-5-8-2-0-on-transformer-prime/
HOW-TO 2: http://forum.xda-developers.com/showthread.php?t=1576937
(You can also install the Touch version of CWM to avoid destroying your volume buttons while navigating )
CLASSIC : http://download.clockworkmod.com/recoveries/recovery-clockwork-5.8.2.0-tf201.img
TOUCH : http://download.clockworkmod.com/recoveries/recovery-clockwork-touch-5.8.1.8-tf201.img
3. Before trying to do anything with your device, make a full nandroid backup of the current WORKING Android system.
To do that:
- Reboot on CWM (see the sticky, at the end)
- Navigate to 'backup and restore', then 'backup'
- Wait until the full backup is done...
--------
- INSTALL Ubuntu -
Introduction:
To have a working Ubuntu system on the Prime, you have to:
- Extract the root file system on your MicroSD card
- Flash the bootimage right on the device
While installing Ubuntu, the only thing you modify about Android, is the bootimage. You leave the system intact,
so you'll be able to do a pseudo-dualboot between Ubuntu, and Android (we'll see that later).
HOW-TO:
Extraction of the root filesystem:
- Connect your MicroSD card on the computer running linux (ex: /dev/sdc)
- Umount all current partitions from the card
- Using fdisk, fully erase it, rebuild partition table, and create one partition (ex: /dev/sdc1)
- Format it in 'ext4' (ex: $ mkfs.ext4 /dev/sdc1)
- Using 'dd' command, extract the 'ubuntu.img' filesystem to the recently created partition
(ex: $ dd if=ubuntu.img of=/dev/sdc1)
- Wait until extraction completes... (It takes a while...)
- Mount the partition to verify that the extraction completes successfully (ex: $ mount /dev/sdc1 folder)
- Umount it, eject the card and put it on the Prime (ex: $ umount /dev/sdc1)
- Your Ubuntu filesystem is ready to use !
Flashing the bootimage (BE CAREFUL!):
- Reboot in fastboot mode (see the sticky, at the end)
- Connect the Prime to the computer, and be sure the drivers are correctly installed
You can find the drivers here: http://forum.xda-developers.com/showthread.php?t=1426502
- Extract the fastboot archive 'wintools.zip' and move the file 'prime-sdlinux.blob' in the same folder
- Execute the command: fastboot -i 0x0b05 flash boot prime-sdlinux.blob
(WARNING! This command will overwrite the bootimage of your Prime! Be sure you know what you're doing!)
- Wait until the flash completes... (it generally takes a few seconds...)
- When the blue progress bar is full, on the Prime, hold the Power switch to reboot the device
- Be sure that the MicroSD card is in the Prime
- Your Prime is now booting on Ubuntu, you should see some text displaying on the screen
- Wait until the system initializes... (It takes a while for the first boot...)
You should see kernel verbose booting, displaying something saying the system is resizing a partition
on the MicroSD card...
- Your Ubuntu system is installed ! You can do the graphical basic setup, then do a hard reboot of the device !
- Good luck with your freshly installed Ubuntu on your awsome Asus Transformer Prime !
--------
- RESTORE Android -
Introduction:
After installing Ubuntu, to have Android back on the Prime, you have to:
- (OPTIONAL: Do a full nandroid backup to be able to restore the Ubuntu bootimage directly from the CWM later)
- Simply restore the Android bootimage from the nandroid backup made before the installation of Ubuntu
HOW-TO:
To do that:
- Reboot on CWM (see the sticky, at the end)
- Go to 'backup and restore', then 'advanced restore'
- Choose the Android backup made before installing Ubuntu
- Choose 'Restore boot' option
- Wait until the restore is done...
- Choose 'reboot system now' to boot in Android
--------
- DUALBOOT Android/Ubuntu -
Introduction:
We can note that the both systems are installed on two different storage devices.
Android is directly on the device and Ubuntu is on the MicroSD.
The only thing that changes between the two systems is the bootimage.
If you have a nandroid backup of each WORKING systems, you can do an advanced restore of the boot 'boot.img'
of Ubuntu to boot it from the MicroSD card, or restore the boot of the Android backup to boot on Android !
HOW-TO:
To do that:
- Reboot on CWM (see the sticky, at the end)
- Go to 'backup and restore', then 'advanced restore'
- Choose the correct backup (the Android one, or the Ubuntu one)
- Choose 'Restore boot' option
- Wait until the restore is done...
--------
STICKY:
- Booting the Prime on recovery mode (CWM):
1. Power off the device (using Android, or by a long press of the power switch)
2. Power it on, by keeping simultaneously pressed the power switch and the volume down button
3. When text displays on top of the screen, release all, and press the volume up button
4. Wait a few seconds and CWM will appear on the Prime...
- Booting the prime in fastboot mode:
1. Power off the device (using Android, or by a long press of the power switch)
2. Power it on, by keeping simultaneously pressed the power switch and the volume down button
3. Wait until the message saying 'OS will coldboot in 10 seconds' etc... then release all buttons
4. Use the volume down button to select the USB icon
5. Validate with volume up
6. You can connect your device to a computer to send fastboot commands...
Testing request
If someone want to test it and confirm that this tutorial can be fully approved, it'll be great
This is really great news!!!...I wanted to run ubuntu on my prime and use it as fully fledged portable laptop...
all there already was had either ubuntu running through vnc server and that too outdated version or chroot ubuntu...(if i am not missing anything here)
I wish that we would be soon able to get ubuntu for android (UFA) from canonical preinstalled with the next update of tf201...I heard that we cannot possibly install it without asus agreeing to team up with canonical...
atm, this seems great...will test and report...!!!
Would be nice to have grub or a similar bootmanager to switch between the systems on startup
OP, so what is your connection with lilstevie? I notice the links for the downloads of the blob and image file go to http://lilstevie.geek.nz/ports/ and the files there are almost 6 weeks old. Your working/not working list is also the exact same as the original post from lilstevie at http://androidroot.mobi/2012/02/23/ubuntu-on-the-transformer-prime/
Just wondering are you actually developing any of this or just found the links and put up a howto?
Thanks
As I said at the beginning, this is the work of lilstevie. I searched how to install it, and once I've set it up on my Prime, I made that tutorial today.
I share it here if someone want to try installing Ubuntu on their Prime.
The files are the original ones hosted by lilstevie. And I did not found any version newer, so let's wait for a new release, or a final version.
And no I don't work with him for the development.
I was waiting for something like this! Thanks a lot for writing up a guide and trying it on tf201.
Now we need proper dual boot, shouldn't be too hard to figure out...
Just followed your howto and it's working fine on my tf201.
Now I'm updating via apt-get
Looking Forward to this
Will transform then Device into a laptop excellent.
Not sure why more people arn't getting involved.
ryanbell said:
Will transform then Device into a laptop excellent.
Not sure why more people arn't getting involved.
Click to expand...
Click to collapse
Probably due the the high risk of completely bricking your prime until a safe dual boot or single boot solution is in place. Certainly that is what is holding me back.
The whole reason I bought the Prime was for this, but without nvflash I am going to hold back until some more intrepid soul does the boot work
do we need linux to format the sd card or can we do it in windows?
jellydroid13 said:
do we need linux to format the sd card or can we do it in windows?
Click to expand...
Click to collapse
You need Linux, but don't let that stop you if you're a windows user - installing, say, Ubuntu is INCREDIBLY simple on windows, you can install it as a windows program, run live CDs, or (with just a liitle more effort) set up a dual-boot with windows and the Linux distros you like. I am NOT computer savvy, so trust me when I say it isn't hard
To anyone who has tried this, any comments on how well it runs? I'm not going to try this just yet, but I'm really curious. Does it run as well as Ubuntu on today's low-range laptops? I guess what I'm wondering is, does it seem like ordinary Ubuntu on ordinary x86 machine? Forget about the known issues, just browsing Unity or gnome, is it smooth and pleasant enough? Thanks for any info
Komodo Rogue said:
You need Linux, but don't let that stop you if you're a windows user - installing, say, Ubuntu is INCREDIBLY simple on windows, you can install it as a windows program, run live CDs, or (with just a liitle more effort) set up a dual-boot with windows and the Linux distros you like. I am NOT computer savvy, so trust me when I say it isn't hard
To anyone who has tried this, any comments on how well it runs? I'm not going to try this just yet, but I'm really curious. Does it run as well as Ubuntu on today's low-range laptops? I guess what I'm wondering is, does it seem like ordinary Ubuntu on ordinary x86 machine? Forget about the known issues, just browsing Unity or gnome, is it smooth and pleasant enough? Thanks for any info
Click to expand...
Click to collapse
thanks but i dug through and found my live linux flash drive(im no noob ) i will be installing soon and tell you how it goes.
just tried it and it looks very promising. I could finally use remote desktop decently from my prime and control vms within the server, which was awesome.
can't wait for these corageous and smart people to get dual boot working among the other issues
also found out:
- no functioning battery indicator for both batteries (dock/tablet)
- couldn't install flash so for youtube (guess none is available for arm?)
i also just tried it out and cant wait for it to be fully functional (is anyone even still working on it?) anyways i would replace android with it.
jellydroid13 said:
i also just tried it out and cant wait for it to be fully functional (is anyone even still working on it?) anyways i would replace android with it.
Click to expand...
Click to collapse
But then what is the point of having a tablet over a netbook or cheap laptop? Battery life? Touch screen?
dotnerdify said:
But then what is the point of having a tablet over a netbook or cheap laptop? Battery life? Touch screen?
Click to expand...
Click to collapse
Both of those things, plus versatility (dock, no dock, Linux or Android), and of course the cool factor
I would want to keep android around (hence desire for dual boot) for the times I might want it (like to watch movies on a flight, etc) but I think for the most part if there was a good, fast native Linux that's where I would be.
My opinion is that there is no need for Linux Ubutnu on Primes, because I bought just because PRIME has Android OS and has features that no laptop! And more like Prime with Android OS because it is function of the sea than no have a laptop with Windows, Mac or Linux Ubuntu. Some of the features that I like on my To: Touchscreen, Bluetooth, trackpad, sensor (ALS, Gyroscope, Accelerometer, GPS, magnetometer), shutdown, reboot, no need for always shotdown and wait time for the system start, It is great for work and playing games, two cameras, GPS, BATTERY LIVES IS MUCH BETTER THAN IN LAPTOPS and lot more options.
Sure tabs have their use cases, but having a full blown Linux distro running as well extends that set of use cases by a phenomenal amount. I can certainly use a Linux distro on my tab for the full blown IDE Eclipse an other apps available like FTP, VNC etc.
Current users, can you say how the touch screen works? Still half of the screen?
qubz said:
Sure tabs have their use cases, but having a full blown Linux distro running as well extends that set to use cases by a phenomenal amount. I can certainly use a Linux distro on my tab for the full blown IDE Eclipse an other apps available like FTP, VNC etc.
Current users, can you say how the touch screen works? Still half of the screen?
Click to expand...
Click to collapse
My touchscreen has been working fine so far also lilsteve said on his twitter that he has a most stuff working and that the release of Ubuntu 12.04 in 4 days is supposed to have native tegra 3 support so he is planning on a 12.04 release with most stuff working soon.
Sent from my Galaxy Nexus using Tapatalk 2

[WIP]Android on Samsung Chromebook series 3

UPDATE: See second post for initial downloads of AOSP, CM , Arndale and Linaro/Arndale builds. These are very much a work in progress and may not even work. I am putting them forth for testing for the dev community to try out on their chromebooks.
These builds will be based on the latest JB builds. There is still alot of work to be done here. The AOSP builds initially have been put up. The other builds will go up as they are completed. I am working on the documentation for putting this together as a repeatable process is doable. In time there will be an installer and other goodies, but for now this will just be a very vanilla and manual process.
My goal is to get a working port of JB on the Samsung Chromebook. There has been no significant work on this front AFAIK. So I am taking it on myself to learn and try this out. Any community input would be helpful in making this work. I am fairly n00b at this but am looking to make this work.
I found some promising information. I might be able to build this using the binaries from arndaleboard which appears to mostly use the same hardware.
FYI for anyone experimenting to make this work please note that the following MUST be done for any chance of these root files to boot from SD.
SD/MMC boot
vold.fstab
* Change the sdcard0 and sdcard1 lines so that the first line is sdcard1 and the second is sdcard0.
fstab.arndale
* Change all references to mmcblk0px to mmcblk1px.
init.arndale.rc
* Change the 2 references to mmcblk0px to mmcblk1px.
mountd.conf
* Change the reference to mmcblk0 to mmcblk1
http://www.arndaleboard.org/wiki/index.php/Main_Page
http://forum.insignal.co.kr/viewtopic.php?f=6&t=62
http://forum.insignal.co.kr/viewtopic.php?f=6&t=63
Now that the rootfs part is addressed I am tackling the booting issues. Current uboot methods focus mainly on linux distro booting. Android appears to require its own ramdisk (which is in the links below) there will be some extra downloads such as a working uboot.
Once there are working versions of all the needed components working. An installer or installer script will be put together along with documentation. I may release this to a separate thread which I will post here.
Additional info on flashing the actual arndale. http://www.arndaleboard.org/wiki/ind...Flash_a_Device
Arndale is the base hardware also used on a Samsung series 3 Chromebook. Most if not all the components will work.
Additionally MANTA aka nexus 10 hardware is similarly identical and can be used with some success. I am working on compiling base builds based on CM10, AOSP, Linaro and Arndale's git.
Some more info on the bootloader
http://www.denx.de/wiki/U-Boot
http://www.chromium.org/chromium-os/...arm-chromebook
Im using this post to keep notes on what I find and build. I might edit some more to update as I find stuff. I will create a separate post if I have any success. I got two of these. I can live with bricking one if it happens. And I imagine there is a way to restore the system if needed. I figure I will figure that part out first. To avoid any mishaps and have a brick.
CREDITS: Musical_chairs for his invaluable input and resources he has linked in this post. I will update credits for other contributors once I get through the whole thread and credit all those obviously who build the original code these builds will be based on.
DISCLAIMER: For advanced users ONLY!! Not responsible if your chromebook gets bricked, struck by lightning or eaten by a pack of wild boars or attacked by crab people! Anything you do strongly recommended it be done on an SDcard to ensure easy rollbacks and no destruction of firmware.
Here are the first downloads of the rootfs and ramdisk (both of which are needed for a working android install on chromebook) These are based on AOSP. More files will be coming as I am compiling. Basic instructions on how to set up uboot will be posted above as well as how to properly flash an SDcard. This assumes you know how to get your chromebook into dev-mode. Please note this is strictly for anyone with android system experience. The system may not even boot properly at this point. This is pre-pre-alpha at this point. There is alot of work to do before it even comes close to being usable. But if you get it working, please make a DD image (instructions above) and post it for all to use and work from. FOSS means sharing and sharing means caring. This will speed up the work needed to make this work for all of us.
aosp-ramdisk.img
https://mega.co.nz/#!sZgVmIQY!M9ANXXEJYAWR0TlRxV_mC3CdEXkTKC_Tgr1PdOD0Hxo
aosp-rootfs.tar.bz2
https://mega.co.nz/#!ZNgAFYqR!HkXcLxead3Zgm7lNcUzjb0YlfzEbbogTL5CnZDuUtIA
arndale-kernel
https://mega.co.nz/#!gIQXVLRC!U_L0WSutAXdGzdqhFrlzD1ij750Q8lTlKwHVoC28C14
arndale-ramdisk.img.ub
https://mega.co.nz/#!RB4XBAjS!JtNgciYJrLL_TDmjXjnZkTouPKwAhva26b7U9zvBYA0
arndale-rootfs.tar.bz2
https://mega.co.nz/#!xJwBVALa!QnwJRjQzhC218tcjMtKnimKZE2kn73sGs8XgeC75fDU
I'm super excited that you're working on this Opieum. This would be absolute dream come true. I'd love to help out but I can't be a tester lol. After I get my next few paychecks I'd love to send a donation to you sir!
Im still working on it. Its a bit tricker than I thought to get it working. Not impossible tho. I just lack the experience and knowledge to get this up and running. I figured I could do it over the weekend lol. Humbling experience. Once I have something working that is moderatly usable I figure I will take some donations to support other types of chromebooks, for now tho I will just do this cause I want to get android working on the samsung chromebook series 3.
opieum said:
Im still working on it. Its a bit tricker than I thought to get it working. Not impossible tho. I just lack the experience and knowledge to get this up and running. I figured I could do it over the weekend lol. Humbling experience. Once I have something working that is moderatly usable I figure I will take some donations to support other types of chromebooks, for now tho I will just do this cause I want to get android working on the samsung chromebook series 3.
Click to expand...
Click to collapse
May want to wait for IO until after if Chrome and Android get close enough to jump from one to the other.
Also, I guess you could try and use the Cyanogen Mod port tool to try and get Android on it. It's what I used to try and get Ubuntu-Phone on my Nook. Nearly have it, but got the black screen of doom.
Thanks moocow, I appreciate the advice. I had not considered the Cyanogen tool. I know google IO is right around the corner but I want to see if I can get it working. Part of it is as much a technical exercise to see if I can do it as much as it is just doing it.
Do you have a link for this porting tool? I was looking for one. If its just porting from the git I guess I can do that too. I was just wondering if there was a specific tool do this with. I was not aware there actually was a tool.
I'm so excited someone is trying to make this work! I'm no dev, but I'd love to help in anyway. Subbing now.
http://wiki.cyanogenmod.org/w/Doc:_porting_intro
This might help also.
http://wiki.cyanogenmod.org/w/Development
Amazing! I wish you the best of luck on this
I've seen some great development for the ARM Chromebook over on the Linux side, so anything is possible
Hope your efforts will be fruitful
Thanks!
I'm excited to see some effort being put into this!
I don't think you need to worry about flashing procedures just yet, and I certainly would forget about messing with uboot until way later in the game. It's pretty easy to get a dual-boot setup on the chromebook, getting the files in place is way easier than it is on a typical Android device because you can write them to an sdcard from inside ChromeOS, then reboot to the sdcard. We can worry about booting Android from the internal storage later, shouldn't be too hard. And to do anything with uboot, you're going to need to physically disassemble the chromebook and remove the write protect screw/sticker, IMO it would be best to avoid that.
Maybe we should start by adapting this procedure, but putting an Android filesystem and kernel on the sdcard instead of Linux?
http://blogs.arm.com/software-enablement/848-running-linux-on-the-series-3-chromebook/
Thanks. I have been hitting wall after wall with u-boot so yea I am working on the dualboot method for now. That post is great! I had not seen it before. Bookmarked among many. Hopefully I can find the issues keeping me from making this work.
The first obstacle I am seeing is that while ChromeOS uses a pretty standard Linux kernel and no ramdisk (and that is what uboot will be looking for), Android uses a kernel and ramdisk on a /boot partition. I don't know enough about Android to know if it's possible to boot it with a different configuration, but I've got a hunch that if we're going to get Android to boot on this thing, we're going to need to do it a lot more like the Android x86 people do it than like a typical Android ROM.
Two exercises that I think will be very helpful here:
1. Install a Linux (Ubuntu, Debian, Arch, Fedora, whatever) on the sdcard of a chromebook without using a script like chrubuntu
2. Install Android x86 on a 'normal' computer.
I have almost done the first (I cheated and ended up using a script to install Ubuntu), the second I may eventually do if I can find the time.
...and like I said, I think the best approach here is going to be a x86 style Android installation, but with an arm build.
---------- Post added at 01:42 PM ---------- Previous post was at 01:27 PM ----------
...or maybe this is what we need - chainload uboot:
https://plus.google.com/117557107585466185396/posts/hVWc5EE9EK6
---------- Post added at 02:09 PM ---------- Previous post was at 01:42 PM ----------
Okay, this looks to be the official documentation on using nv-U-boot (chainloading uboot):
http://www.chromium.org/chromium-os...using-nv-u-boot-on-the-samsung-arm-chromebook
Upon further reading, I believe that this is the correct method:
1. Pack nv-U-boot as a signed kernel and dd it to a chromeos kernel partition.
2. nv-U-boot then boots Android using a typical Android boot command.
For the time being, I'm pretty sure it will be better to keep nv-U-boot and all the Android partitions on an sdcard, as it is no harder to boot from there than from the eMMc, and it's a whole lot safer to test stuff this way. Once we've got it working, we can repartition the eMMc and install everything there so it's faster and all that good stuff.
Bear in mind this is pretty much just academic at this point, I tried to chainload nv-U-boot but haven't actually gotten it to work. I'm pretty comfortable mucking around in Linux systems, but this uboot stuff is all new to me.
What I've done so far:
1. Set up partitions on my sdcard (including two kernel partitons) as per the first link I posted.
2. Got a working Lubuntu installation on the sdcard (cheated and used a chrubuntu-derived script).
3. Got a working Crouton (chrooted) Lubuntu setup on the internal storage (doesn't really apply here, though it comes in handy for some of the tools needed for manipulating files and stuff)
4. Tried the nv-U-boot image from opensuse:
http://download.opensuse.org/repositories/openSUSE:/12.2:/ARM:/Contrib:/Chromebook/standard/armv7hl/
5. Tried the nv-U-boot image from the Chromium Projects:
http://commondatastorage.googleapis.com/chromeos-localmirror/distfiles/nv_uboot-snow.kpart.bz2
In both cases, the process is the same. Pack nv-U-boot as a signed kernel, something like this (both commands are run in a shell from within ChromeOS, in dev mode):
Code:
vbutil_kernel --pack newkernel --keyblock /usr/share/vboot/devkeys/kernel.keyblock --version 1 --signprivate /usr/share/vboot/devkeys/kernel_data_key.vbprivk --vmlinuz u-boot.img --arch arm
write it to the sdcard with dd, something like this (remember you can hose almost anything with dd if you point it at the wrong place, so use with care:
Code:
sudo dd if=newkernel of=/dev/mmcblk1p2
(this writes it to partiton 2 of my sdcard, partition 1 is my good Ubuntu kernel.)
I haven't seen nv-U-boot yet but I think I'm close.
musical_chairs said:
Upon further reading, I believe that this is the correct method:
1. Pack nv-U-boot as a signed kernel and dd it to a chromeos kernel partition.
2. nv-U-boot then boots Android using a typical Android boot command.
For the time being, I'm pretty sure it will be better to keep nv-U-boot and all the Android partitions on an sdcard, as it is no harder to boot from there than from the eMMc, and it's a whole lot safer to test stuff this way. Once we've got it working, we can repartition the eMMc and install everything there so it's faster and all that good stuff.
Bear in mind this is pretty much just academic at this point, I tried to chainload nv-U-boot but haven't actually gotten it to work. I'm pretty comfortable mucking around in Linux systems, but this uboot stuff is all new to me.
What I've done so far:
1. Set up partitions on my sdcard (including two kernel partitons) as per the first link I posted.
2. Got a working Lubuntu installation on the sdcard (cheated and used a chrubuntu-derived script).
3. Got a working Crouton (chrooted) Lubuntu setup on the internal storage (doesn't really apply here, though it comes in handy for some of the tools needed for manipulating files and stuff)
4. Tried the nv-U-boot image from opensuse:
http://download.opensuse.org/repositories/openSUSE:/12.2:/ARM:/Contrib:/Chromebook/standard/armv7hl/
5. Tried the nv-U-boot image from the Chromium Projects:
http://commondatastorage.googleapis.com/chromeos-localmirror/distfiles/nv_uboot-snow.kpart.bz2
In both cases, the process is the same. Pack nv-U-boot as a signed kernel, something like this (both commands are run in a shell from within ChromeOS, in dev mode):
Code:
vbutil_kernel --pack newkernel --keyblock /usr/share/vboot/devkeys/kernel.keyblock --version 1 --signprivate /usr/share/vboot/devkeys/kernel_data_key.vbprivk --vmlinuz u-boot.img --arch arm
write it to the sdcard with dd, something like this (remember you can hose almost anything with dd if you point it at the wrong place, so use with care:
Code:
sudo dd if=newkernel of=/dev/mmcblk1p2
(this writes it to partiton 2 of my sdcard, partition 1 is my good Ubuntu kernel.)
I haven't seen nv-U-boot yet but I think I'm close.
Click to expand...
Click to collapse
Yea the u-boot stuff is real new to me. I have no issues either with linux its the bootloader stuff with android I am struggling with. I'm going to look at the arndale instructions as it uses similar hardware on how to load it from SDcard. The documentation there seems to show how to load the system. I already built and compiled the code from arndale seeing as it uses the exact specs needed. Since we have the ability to boot from SDcard on a chromebook this should be easily doable. The build will be the hard part. I am going to see what i can do with that method, I'm adapting from various sources. Ideally if I can come up with a simple image that can just be DDed over to a 32GB SD card that would be best for all to start and test with until a much easier method can be adapted. I had read elsewhere that the android method had been tried using the linux methods and it did not work. Hence why I havent looked as deeply into it. But I think at this point it seems like looking at this with a mixed methods might be the better approach. I'll post my results tomorrow as I am trying this out now.
UPDATE: I got some promising news. I am following this guide I have built android according to those instructions. http://www.arndaleboard.org/wiki/index.php/WiKi#How_to_Flash_a_Device (ignore the dipswitch references here as we got the ctrl-U option to boot and devmode)
The uboot install part is automated via a script which saves some time. Easy enough to break down the script to see how its done manually. The build will have 4.1.1 That said arndale provides pretty much all the tools to do this simpler. I think if we get this working then all we need to do is further automate the process OR provide an image with a simple script to image an SDcard with. Additionally I suspect (I have not confirmed) that the wifi and other components on the arndale are also the same on the chromebook.
Hmm, I wonder if the uboot from the arndale board will work on the chromebook? The chromebook's uboot doesn't have fastboot, and there's no way to interrupt it either (as in, hold down a key to access the uboot menu). BUT, if we put the arndale's uboot on the sdcard, as in, this:
http://www.arndaleboard.org/wiki/index.php/WiKi#Prepared_micro_SD.2FMMC_for_ARNDALE_bootable.
...that looks rather promising.
Yea that was the idea and portion I was looking at. I'm trying it out now to see if this will work.
I thought something similar might be done with Plop, the most awesomest boot loader in the world when Chrubuntu was first finding it's feet. Booting into a bootloader might be the answer for not just Android, but Windows 7.
But this is booting on ARM. So Win7 would not work here as there is no ARM capable version. The work now is being done for the Samsung Chromebook ARM version (series 3) which would also work on the Acer version that is also ARM based as well.
Nuh uh, Acer C7 is x86 based. RT can play on ARM, but a Chrome bootloader might be worth it.
You are correct sir on the Acer being intel. That being said. This project is to get android on the samsung chromebook (series 3) which is an arm EXYNOS 5xxx series CPU. The methods developed here would also likley apply to any other arm based books on the market.

[Q] Hacking THBK1-10 (getting root)

Hello,
THBK1-10 is a cheap dual system (Android 4.2.2 /Windows 8.1) tablet based on Bay Trail (Intel Atom Z3740D). More details http://www.thomsoncomputing.eu/dualboot.html
I'm trying to hack it, and especially get root and use non-signed zip in recovery. Basically i'm stuck at theses points, and i'm requesting directions to continue the work.
I have posted in W8 section, but obviously, this is no longer the place
General
------------
* i can use a work-around to write system (/system, /data) partitions
* i can flash signed updates via recovery
* google apps are working flawesly. Only thing is to keep original files (stock keyboard and layout)
-> i would like to flash non-signed zip via recovery, but i guess i have to build a custom recovery, or can i exploit something else ?
Root:
-------
* no auto root is working (z4root, towelRoot). Regarding towelRoot, i tryed each 8 common parameters, and i don't really know how to do others. I have also heard this is only working in 4.4.2+
* pushing su is not working. When i'm launching it, let's say from terminal, i have a code 255 return (-1). Tested with both arm and x86 version (i'm still wondering why arm su is also returning -1, i would have expect a non valid binary. Or perhaps my x86 version is bad ?
-> i'm still trying to dig this issue, and idea on how i could do ? i believe running SU was enough... but it seems not. Any idea ?
Many thanks !
Bump. the way it is booting is based on ramdisk images (one for normal android boot, one for android recovery).
I have acces to theses img, and i can, with hexedit (perhaps mounting them directly at a filesystem), view the whole init sequence.
My question is : what triggers the root invalidation ? AFAIK, everything is done as root (mounting FS, updating permissions, etc....). Basically i can't really figure how it is handled.
Thank you !
Solved !
Graveen said:
Solved !
Click to expand...
Click to collapse
Woaw ! I'm very happy to see that somebody tried and succeed to root the THBK1 ! Please can you share your method in a tutorial when you'll have time ? :laugh:
Hello, yes !
I'm actually writing a GAPPS tuto, which is intensively tested by Zeksaine. Root will be added, as this is only a simple step inside the whole process.
This is a bit technical (read boring), but it worths the try. My TODO list is here: http://forum.xda-developers.com/showthread.php?t=2799404 , and while i'll take a little break, i hope soon to have custom recovery allowing you to directly flash gapps or supersu.
Yes ! I confirm ! Graveen has installed GAPPS on Thomoson THBK1 / Danew Dualboot tablet with sucess ! I'm not familiarised with linux environnement and realize it, but it requires some knowledges of linux command (coLinux especially)
Graveen is the only one users identified that it can put GAPPS on android environnement concerning this tablet.
Big thanks to him !
Graveen said:
Hello, yes !
I'm actually writing a GAPPS tuto, which is intensively tested by Zeksaine. Root will be added, as this is only a simple step inside the whole process.
This is a bit technical (read boring), but it worths the try. My TODO list is here: http://forum.xda-developers.com/showthread.php?t=2799404 , and while i'll take a little break, i hope soon to have custom recovery allowing you to directly flash gapps or supersu.
Click to expand...
Click to collapse
7600
I own a Cube U100GT and it's one of the many Chinese brothers of your THBK1-10. But mine came only with W 8.1.
I just start looking for a dual boot solution and I'm happy to know that it's is possible.
I don't need root for while, just play some games and apps.
So the original Android "ROM" of the tablet can do the job.
My version have 64Gb SSD and I've already resize the Win partition to make room for a new system.
Where can I look for a dual boot tuto and find this Android version?
Heya, can you post your partition list ?
What is the bios of your tablet ? Can you wire an USB keyboard to see this at boot ?
Basically, they effectively seems identical.
For partial update, you can find one here: http://www.danew.com/support-pilotes-manuels.php?type=218&produit=219 but it relies on existing android partitions i still have not dumped.
Android-x86 could worth a try also, although i doubt you will have all drivers (touch, gyro, etc..)
Graveen said:
Heya, can you post your partition list ?
What is the bios of your tablet ? Can you wire an USB keyboard to see this at boot ?
Basically, they effectively seems identical.
For partial update, you can find one here: but it relies on existing android partitions i still have not dumped.
Android-x86 could worth a try also, although i doubt you will have all drivers (touch, gyro, etc..)
Click to expand...
Click to collapse
The partition list is the standard for a windows installation (but no windows image on the end):
1: 300 Mb (Windows RE)
2: 100 Mb (System)
3: The rest (Windows). My SSD is 64Gb.
My tablet already comes with a dedicated keyboard cover, so I have full access to to UEFI Bios.
There's a lot of numbers:
Aptio Setup Utility Version 2.16.1242
Vendor - AMI
Core Version - 5.008
Project Version - 3BAGR 0.03
EC FW Version - 201401101A
Intel GOP driver - 7.0.1029
Sec RC Version - 00.05.00.00
TXE FW Version - 01.00.02.1060
I found the drivers pack for windows 8 and so I could install my PT-BR edition of W81. And reserve 20Gb at the end for another OS.
It's my first UEFI machine and I'm completely lost. There's a lot of options and I can't understand a quarter of that.
On the Tabletrepublic forum someone said that my bios recuse everything except a Windows pendrive. If is true, there's no way to put Android but changing/patching the UEFI.
Android x86 is for desktops right? And the Intel site, can I find Android images there?
Thank you. What i'll do is to check if my bios is identical to yours, because there are effectively numerous options. Then, i could finsh to dump my android partitions and let you play with them.
Honestly, the trick is the OS selection system, which is bring by the EFI bootloader (and certainly a dedicated partition). Once selection is done, another EFI bootloader (windows only) is called.
let's continue here: http://forum.xda-developers.com/showthread.php?t=2799404

[ROM] (well... sort of...) Dell Venue 7840/7040 running native Linux

This is a guide to install Debian Linux on your Nexus Player
NOTE: This guide is for advanced users
This is NOT VNC nor chroot nor Android X server nor anything else like that, but running Linux natively.
D I S C L A I M E R
----------------------------------------------------------------------------
Use this at your OWN RISK. Experimental software may harm you, your device and others around you. I cannot be held responsible for any damage done. You have been warned!
Installing Linux will most likely VOID YOUR WARRANTY! (If warranty still applies to a five year old device...)
P R O L O G U E
----------------------------------------------------------------------------
I have adapted the Nexus Player's kernel to meet GNU/Linux, namely Debian 10, requirements so far that it has become quite stable by now.
Since the processor is Intel x86 compliant you can run a regular distribution, receive updates, load software, etc. etc. This makes the Dell Venue virtually a desktop PC.
You can install Debian onto a USB stick and dual boot along with Android OR you may install Debian to the device's internal storage (and speed up things significantly).
H A R D W A R E S U P P O R T
----------------------------------------------------------------------------
What is NOT working:
* Suspend/standby
* Full 3D support
* Cameras
* Microphones (needs proper asound.conf)
* Likely something else
* Dell Venue 7840 users please see notes attached about sound. Be careful not to damage your speakers with high volumes.
R E Q U I R E M E N T S
----------------------------------------------------------------------------
* Dell Venue 7840 or Dell Venue 7040 (obviously) w/ unlocked bootloader
* USB OTG cable and mirco USB cable
* A USB Hub
* An empty USB stick (I suggest at least 16 GB of storage and 40 MB/s read and 20 MB/s write speed. 8 GB is the minimum requirement though.)
* Input devices (i.e. mouse, keyboard)
* Linux PC (or virtual machine)
* Basic Linux/ROM tinkering knowledge, some time and patience...
A lot of stuff has not been tested entirely, I am a little short of spare time lately, so please be patient, I am willing to help as good as I can.
Ready?! Let's go!
S T E P 1: Install the Linux boot image
----------------------------------------------------------------------------
a) Unlock your tablet's bootloader (there are guides online in case you don't know how to do that)
b) Reboot to bootloader, attach the tablet to your PC and flash the device specific Linux boot image to the boot partition.
fastboot flash boot dell_venue_7x40_linux_boot.img
Hint: This will be the only change to your tablet.
Note: You may revert the changes by flashing the stock boot image.
S T E P 2: Prepare SD card (done on the Linux PC)
----------------------------------------------------------------------------
a) Format the partition on the USB stick with the ext4 file system.
b) Manually mount the partition to e.g. /mnt
c) Download the attached root file system creator, untar it and change to that directory. (sorry had to be a tar inside a zip, XDA forum requirements)
d) Create the rootfs (need to be root):
./bbep_rootfs_creator /mnt your_username your_password
Note: The process sometimes fail, you might have to try more than once.
Note: This will take a long time. To speed things up, you may create the rootfs inside a disk image on your local hard drive and afterwards write the image to the SD card.
e) Download the system image (link: https://mega.nz/file/tK4UiDaB#yfmTgf8qg8e-WKFPfISbKabNeA2vd5cSfTiKCs5Oh2I)
f) Rename the downloaded system image file to system.img and paste it into /mnt
g) Insert the SD card into your tablet.
h) That's it, if you now boot your tablet, it will actually boot into Linux. Please see the debug output messages for hints in case you run into troubles.
Note: The kernel has become quite old. In case the file system gets corruptes, the kernel cannot recover the file system because the current EXT4 version is not entirely supported by the kernel. In that case, please remove the SD card and use another PC with a recent kernel to recover the file system by typing e2fsck -fy
P O S T I N S T A L L A T I O N A N D I S S U E S
----------------------------------------------------------------------------
a) sbin tools
I compiled some tools useful for running Linux on the tablet. Have a look at /usr/local/sbin. Those should be quite self-explainatory.
"toggle_blue_light" is a nifty little feature allowing you to turn on and off the blue pixel (makes the screen a little more easy on the eyes, also eliminates blue light hazard)
b) Keyboard and Dell Venue 7040
Dell has not released the kernel driver for the keyboard, so currently you won't be able to pair the keyboard using Linux. If you happen to own 2 units, you may boot Android on one of the machines and Linux on the other. Trigger the pairing in Android but then connect with the Linux machine. Swap keyboards afterwards. It's a mess...
c) Touchscreen orientation on Dell Venue 7840
Touchscreen orientation on the Dell Venue 7840 might be incorrect. In this case you need to trigger the script /usr/local/sbin/ts_rotate
d) Sound on Dell Venue 7840
Sound on the Dell Venue 7840 needs to be set up manually (you can automate the process with a start up script). You need to call /usr/local/sbin/bb_on_tfa9890.sh as root.
To change the volume use /usr/local/sbin/bb_set_volume.
Be careful with the volume, do not overdrive the speakers. I permanently damaged my 7840's speakers!
e) Compositing
On the tablet, Mate's window manager "Marco" is NOT hw accelerated. Compositing is slow. When watching Videos or browsing the internet, you may want to disable compositing (use mate-tweak) to increase performance.
If you need hw accelerated compositing you may use kwin-x11 but this takes up 1GB of disk space and stability is subpar...
You may reduce the resolution to full HD (still very good picture) by uncommenting the appropriate line in /usr/share/X11/xorg.conf.d/10-hwc.conf
f) Chromium
Chromium can be accelerated with X11/EGL, but buffer management does not work properly. When resizing the window you may need to restart Chromium, because the buffer allocation may fail.
Chromium does have support for WebGL. It's quite buggy.
g) Firefox
Firefox is not hw accelerated but still gives you decent performance when browsing or watching movies (tested Youtube FullHD and Netflix, works fine).
However when using WebGL, Chromium is much faster (in case it does not crash).
h) VLC media player
Video playback hw acceleration is not supported. To achieve decent performance anyways do as follows:
I) Choose Tools --> Preferences --> Video
II) As "Output" choose "X11 video output (XCB)" and for "Fullscreen Video Device" select "hwcomposer" for best performance.
i) Splashscreen
You can create your own splash screen. Just grap the appropriate raw flash file for your device (see below) and append a valid 24 bit image to the file (using your favorite hex editor). Flash afterwards:
fastboot flash splashscreen your_image.img
Q & A
----------------------------------------------------------------------------
Q: Does graphics acceleration work?
A: Well, OpenGL ES does work, however a lot of programs do depend on desktop OpenGL which is NOT supported. Graphics acceleration is achieved through libhybris which makes it possible to use Android graphics drivers in GNU/Linux. It might be very buggy. YMMV
Q: What is graphics performance like?
A: Depends. When a program supports OpenGL ES, you get decent performance (e.g. Kwin-X11 window manager, Chromium). Performance is sufficient to watch FullHD movies in Firefox or with VLC or browse the internet. Chromium supports accelerated WebGL.
Q: What is system performance like?
A: Depends. Bottle neck of system performance is the speed of the storage used. Using the internal storage gives huge speed improvements vs. an external USB storage (max ~ 30 MB/s). With internal storage simple tasks like file management, office applications etc. work fine.
S O U R C E C O D E
----------------------------------------------------------------------------
* Halium - https://github.com/halium
* Libhybris - https://github.com/NotKit/ and https://github.com/libhybris/
* Debian - https://www.debian.org/
* Kernel - https://android.googlesource.com/kernel/x86_64/+/refs/heads/android-x86_64-fugu-3.10-nougat-hwbinder , https://github.com/fcipaq/android_kernel_asus_fugu
* Lineage OS - https://github.com/lineageos
C R E D I T S
----------------------------------------------------------------------------
Special thanks goes to the Halium team, especially JBB and NotKit
And to Hybris, Debian and the LOS team
ROM OS Version: Debian 10
ROM Kernel: Linux 3.10.20
ROM Firmware Required: 5.x
Graphics drivers based On: Lineage OS 14.1
Version Information
Status: 7040 ok, 7840 untested
Created 2021-01-30
Last Updated 2021-02-25
Watch the demo on youtube:
20 days now, believe it or not but I have been waiting for something like that...sort of. Well, I'm gonna give it a try and see if I can provide you with some feedback.
Thanks, amazing idea.
Glad to finally get any feedback
Which device are you using? I have made some progress with the 7040 version - the attachable keyboard now works! I'll update the image file later.
Good luck with the installation and don't hesitate to contact me if you run in any difficulties...
I'm running the 7840. You wouldn't manage to get some kind of an installation script would you?
Well... I'm afraid a script is not possible as it includes to many different platforms...
However I can upload an image of the SD card (I'm currently already working on that) so that you would basically just have to put it onto a SD card.
Linux is running quite well now on the 7840. Even Bluetooth is working without any need of configuration...
So please be patient, may take some days...
fcipaq said:
Well... I'm afraid a script is not possible as it includes to many different platforms...
However I can upload an image of the SD card (I'm currently already working on that) so that you would basically just have to put it onto a SD card.
Linux is running quite well now on the 7840. Even Bluetooth is working without any need of configuration...
So please be patient, may take some days...
Click to expand...
Click to collapse
Amazing to hear that, thanks for your work. Really looking forward to that.
K, you got it! The links to the file system are online now, as well as the new kernels. Let me know how you like it!
PS: The kernel for the Dell Venue 7840 is running with reduced resolution. If you intend to only use the table in portrait mode I can post an boot image running full resolution...
Thank you, I'm currently very busy with exams, I'll look into it the end of this week. Thank you very much for your efforts.
Fingers crossed for your exams!
Also, I've now implemented the ability to set a custom wifi mac and country code using the kernel command line. This can be set by editing the image file with a hex editor (command line is right at the beginning of the file, there is no checksum which has to be recalculated).
Alright, working good so far. Battery drain is pretty high, I assume thats due to the lacking suspension mode. Oh and sound would ofc be nice x). Graphics acceleration would be nice to have and I guess improve battery run time.
Congrats you got it working (first confirmed!)
I find battery performance quite decent when actually running (i.e. using) the system. I get approx 8 hours of uptime, but I agree that standby performance is indeed terrible - as you already stated this is due to the lack of suspend mode. You actually need to shutdown the tablet when not in use.
Graphics acceleration is (I'm quite sure) not going to happen. Linux is lacking a PowerVR open source drivers, many have tried but no success so far afaik.
Sound drivers appear to be tricky. I found at least two pieces of code to be problematic in a 32 bit kernel, but might be working in a 64 bit kernel. However, Intel/Dell seem to do some initializing in user space code which is unavailable. So doesn't look to good for sound...
I installed Linux the the device's internal EMMC (purged Android) which is really boosting performance (internal storage is approx three times the speed compared to the external SD card reader's max speed...)
I tweaked the kernel a litte, it is now possible to choose between full and reduced resolution/color at kernel command line as well as a custom wifi MAC address and country code. I'll upload the updated kernel once I'll return from vacation...
PS: Hope your exams went well!
Awesome! I've been trying to figure out something interesting to do with my 7840. I'll likely have to wait until this weekend to flash it but am looking forward to doing so. Thank you for your work on this.
This is awesome!
I have been waiting for someone to do something exciting with this little guy. Thank you, seriously. I will be flashing this on mine and following along with your progress. This remains my favorite tablet to date (and I have gone through plenty), such a shame dell shut it down and it didn't get too much love from the community.
Well I had some issues with the state of my tablet after the last time I played with it; so things took a little longer to get going than I expected. But I was successful at getting this loaded and so far so good! I am not really seeing any slowness (using a Class 10 U3 mircoSD) but would be interested in the process to purge the Android file system as it would be more convenient at start-up.
I was able to connect to my WiFi using both wireless N and AC standards. In the little bit of testing I have done so far, sound and touch are working quite well. I did notice that the screen rotation script didn't redraw the desktop, but the touch locations seemed to change orientation. I have not yet tried to figure out why.
@fcipaq You have probably already seen libhybris but if not it may be worth looking at for 3D acceleration. I am not completely positive it is relevant as it may be specific to ARM processors. https://github.com/libhybris/libhybris/
It's been a while - sorry! I'm glad to get your feedback. I have been quite busy lately (and still am). I recently made only some minor tweaks/adjustments, e.g. patched to kernel against the blueborne vulnerabilty.
My 7840 is dead now as the connector failed (connected it too many times to my pc) - this is the sacrifice I made But I still have my 7040 up and running - which is basically the same device. I suggest you do a lot of the flashing from the linux command line or buy a magnetic charger cable ($5 on ebay) to reduce wear on the connector - it's quite delicate and really hard to repair (if you find any spare parts at all).
The rotation script is for touch only - this will not alter the screen rotation. The screen rotation (unfortunately) can only be changed by rebooting (or logging our and in again/restarting the X server).
@FairOh: Thank you for the hint. I am aware of that option but it would take quite some engineering effort and that is far beyond what I can do (alone). The current driver does not even give you 2D-acceleration...
I will upload an updated kernel asap as well as I will publish the kernel source so that others may contribute or study...
I benchmarked the internal EMMC and the SD-Card read/write speeds (I used a really fast SD card) and it turns out that the internal storage is about 3-4 times the speed of the external card. I think this is the card reader's limitation.
FYI: If anyone who reads this owns an Asus Zenfone 2 - this is almost the same hardware and a lot of code can directly be ported - I just took a quick glance at the Asus source code... (and to be honest, I took the wifi driver )
No rush, but curious if you have been able to get your source files uploaded/shared. Not that I'm much if a developer, but you gotta start somewhere.
@FairOh: I'm really sorry for my delayed response. I have been very busy lately...
BTW: it was my first project of that kind. I greatly appreciate your interest. Maybe you can figure something out.
Well source code is now online as well as the updated flashable boot images. Feel free to alter the source code in any way, republish, modify, share, learn etc...
I made some remarks inside the archive (readme file) to guide you to a running build quickly. I suggest you use the toolchain (compiler) from google (instructions provided inside the archive), otherwise the code might not compile properly.
Please let me now if you run into any difficulties compiling the code or setting up the build environment...
So far, so good
First of all, I want to thank you so much for your work on this.
I have a 7040 and I was really concerned about Blueborne vulnerability. I tried a few months ago this, but unfortunately I wasn't be able to get working the Bluetooth adapter, so the built-in keyboard/mouse weren't working (Firmware contents were in place, so I didn't really know what happened).
This time, December revision, I run into the same problem and also when I want to update the system, Ubuntu ask me the admin or root user password.
If you don't mind share the admin/root password, I would be very glad to try and fix the Bluetooth adapter in my system and maybe tweaking some system settings.
Finally, I want to thank you again. Our little loved devices can do so much things because of you. Maybe sometime in the future I will be able to dig in the source code and collaborate in these project (First, I have to learn a lot of things, but I think I will).
Glad you like it!
I might have forgotten to mention that the password is simply "password" sorry!
First of all you need to make sure that your bluetooth adapter is working at all (you may try to pair with any bluetooth device). All you basically need to do is to put the firmware files in place.
Connecting to the magnetically attachable keyboard is a whole different story. As Dell has not released the kernel source for the Dell Venue 7040 (but only for the 7840 model) I had to reverse engineer the driver for the keyboard. There are four pins (two inner pins and two outer ones) connecting the keyboard to the tablet. The outer ones are used to supply power whereas the inner ones serve to put the keyboard into pairing mode - using a "secret" protocol which I have not figured out. So here is what I did to get it working anyways:
1. Boot into Android
2. Delete the Dell keyboard from within the bluetooth menu (this will immediately cause Android to try and reconnect)
3. When prompted to enter the pin just click on cancel (the keyboard will remain in pairing mode for another minute awaiting incoming requests)
4. On another Ubuntu PC search for pairable bluetooth devices. Once the Dell keyboard has been detected connected to it.
5. On the Ubuntu PC tar/copy the key files in /var/lib/bluetooth/XX:XX:XX:XX:XX:XX
sudo tar czf btkeys.tar.gz XX:XX:XX:XX:XX:XX
(These are the keys the Ubuntu PC brokered with the keyboard - we are going to reuse these on the Android tablet)
Hint: Both PCs need to have the SAME bluetooth MAC address.
6. Reboot the tablet into Ubuntu and copy the tared file over to /var/lib/bluetooth.
7. Untar this file on the Android tablet in /var/lib/bluetooth
sudo tar xzf btkeys.tar.gz
8. Reboot (The Android tablet now has matching keys to connect to the keyboard).
BEWARE: Booting into Android will result in resetting the keyboard and you will have to do the procedure all over again. You may use electrical tape to disable the two inner pins thus preventing Android from telling the keyboard to go into paring mode)... It's a littel complex... I asked Dell twice to publish the source code but to no avail (did not even receive an answer)

Linux Mint 18.3 for Lenovo Yoga Book YB1-X91F - ISO & Request for Help

Hi,
Firstly, installing desktop OS's of whatever sort on the Android version (YB1-X90F), insofar as anyone has managed it, is a completely different process and none of what follows is likely to be relevant.
Secondly, it should go without saying that any use of the linked ISO or the information in this post is entirely at your own risk.
There are several threads on xda and elsewhere dealing with attempts to install Linux on the Windows version of the Yoga Book (YB1-X91F). They're pretty consistent in terms of results, both with each other and my own attempts. I have tried the latest and previous LTS or main releases Debian, Ubuntu (all flavours), Mint and Fedora.
Between mine and others' attempts, most distros have the following working, using a Live ISO flashed to USB:
- Boot to desktop and successful install to eMMC
- Display
- Graphics pad responds to touches, but not aligned with screen rotation and probably in need of other calibration.
- USB, including ethernet-to-USB adapter
Some distros/versions additionally have:
- Touchscreen (only newer kernels, I think 4.13 onwards but definitely 4.15 onwards)
- Sound via HDMI
- Not sure about Bluetooth - possibly
The following didn't work with any distos/versions:
- A lot of the ACPI subsystem, meaning that some ICs (e.g. SD Card) don't receive power.
- Wifi
- SD Card
- Sound via headphones or speakers
- Halo Keyboard
- Touchscreen multitouch
- Battery gauge
- OS control of battery charger IC, though the IC sits in autonomous mode so the device still charges
- Display brightness adjustment (always set to max)
- Display auto-rotate
The Mint ISO linked at the end of this post has WiFi, the SD Card, two-finger right click and brightness adjustment working in addition to the OOTB functionality. I've made a lot of progress on the sound - the driver and codec load but it needs some configuration. I have read elsewhere that configuring this incorrectly can blow your speakers which is why I haven't tackled it yet.
The Halo keyboard doesn't work yet, so the Yoga Book can't be used in laptop mode for now. The only real barrier to using it in tablet mode is the lack of a functioning battery gauge. More on this below.
Instructions:
You will need a USB flash drive of at least 2GB, a USB keyboard and mouse and therefore a USB hub as well as a way of attaching it to the micro-usb port. I use an OTG adapter which came with a Samsung phone.
The touchscreen does not work when the Live ISO boots but it does work after installation.
Once Linux is installed on the eMMC, the firmware will boot to GRUB by default rather than Windows. To boot into Windows you have to enter the firmware menu. This should be easy to fix/reconfigure but I haven't got round to it yet. I need to get the volume and power keys working in GRUB first.
- Download the ISO from the link below and flash to USB. I use Etcher on MacOS which flashes in a dd-like manner (other tools make their own changes to the target drive to make it bootable - this isn't needed or desirable).
- Turn off hibernate, fast boot and secure boot in Windows. There are easily found guides on how to do this. It ought to be possible to retain secure boot but I have found doing so a real headache on other systems so didn't try in this case.
- Turn off any secure boot settings in the device firmware (access the menu by powering on with the volume up button pressed down).
- Using the firmware menu, boot from the flashed USB drive. When the desktop boots, use GParted to shrink the Windows partition, leaving at least 11GB (Mint says it needs 10.7GB). I've been messing around with Linux for months now on the YB and have found 11 enough.
- Run the desktop installer. At the partitioning menu, choose 'Something else'.
- Create a new Ext4 partition using all of the free space created previously and map it to '/'.
- Ignore any warnings about a swap partition. If you get stuck on a dialog about forcing a UEFI install, open a terminal and run 'killall ubiquity' then run the installer again with the network connection turned off. If the install doesn't work, you may have to risk the default 'Install Mint alongside Windows....' option. I have never had a problem with this, but I don't quite trust it, or indeed the installer in general.
- If you fail at the point of GRUB install, go back and start again with networking disabled.
- Just reboot as normal.
Changes from Stock ISO (probably not exhaustive)
- New ISO using 18.3 Cinnamon as a base using Cubic
- Updated, inc dist-upgrade as of 6 Sept 18
- Missing Broadcom firmware (for WiFi) added.
- Additions to /etc/skel/.config to put Mint into HiDPI mode
- Florence on screen keyboard added and loads on start
- Touchegg, which enables two-finger right click added and loads on start.
- LightDM settings changed to enable Florence and HiDPI
- Most importantly, a custom kernel (4.18.5) which is responsible for most of the above-OOTB functionality. Some of this is just about enabling the correct Atom ACPI ICs, other bits relate to load order (to get past the lack of brightness control).
Help!
- I really need some help with the battery gauge IC. For now, dmesg is the best bet but I'll follow up with another post with more detail.
- There are other things which need doing, e.g. the keyboard and finishing off the sound but these are relatively straightforward by comparison. The gauge/charger setup is the last low level thing not working.
Custom ISO:
This is my first post. I can't post links! Remove the spaces and ..... :
drive.google.com/ .... open? .... id=1-5vtnKAVpERmzTFIR3TGXe1DgvoFvehc
Help Needed - Battery Gauge/Charger
The issue
The following can be seen by running 'dmesg' after boot using the ISO in my first post, which uses a 4.18 kernel customised for the hardware in the Yoga Book.
The kernel attempts to load the driver for the TI bq24190 battery charger IC. I'm not yet able to post links so search for 'bq24190_charger.c' in the Linux kernel Github repo. The driver throws an error on boot when it hits this code at line 1640. It's expecting a 6 and it gets a 4, the value of BQ24190_REG_VPRS_PN_24190.
bq24190_charger.c
Code:
if (v != BQ24190_REG_VPRS_PN_24190 &&
v != BQ24190_REG_VPRS_PN_24192I) {
dev_err(bdi->dev, "Error unknown model: 0x%02x\n", v);
return -ENODEV;
}
If I remove this check altogether and re-compile the module then the driver proceeds to load but reports zeroes for all status values. It's not clear whether it is, in fact, the right chip and isn't talking to the rest of the hardware or it's simply the wrong driver.
However, at least removing this check allows the Whiskey Cove ACPI IC driver to get a bit further along. Search for 'intel_cht_int33fe.c' in the kernel source. Comments in this file (line 124) confirm that this IC is expected to be paired with a bq24190.
By adding in dmesg warnings and re-compiling the int33fe module I could see that when an unmodified bq24190 driver is used, i.e. the check above takes place and is failed, the int33fe driver fails its own check at line 138:
intel_cht_int33fe.c
Code:
regulator = regulator_get_optional(dev, "cht_wc_usb_typec_vbus");
if (IS_ERR(regulator)) {
ret = PTR_ERR(regulator);
return (ret == -ENODEV) ? -EPROBE_DEFER : ret;
}
regulator_put(regulator);
When I remove the check, it fails at the next check starting at line 145:
Code:
/* The FUSB302 uses the irq at index 1 and is the only irq user */
fusb302_irq = acpi_dev_gpio_irq_get(ACPI_COMPANION(dev), 1);
if (fusb302_irq < 0) {
if (fusb302_irq != -EPROBE_DEFER)
dev_err(dev, "Error getting FUSB302 irq\n");
return fusb302_irq;
}
I have tried various combinations of including the FUSB driver and dependencies as modules/built in but the result is the same. I also tried moving the FUSB check to after the code which tries to link up with the max17047 battery gauge IC, but this fails also.
Some owners of the Android version of the Yoga Book have posted files/screenshots on Telegram which indicate that a different charger, the bq25892 is used. As far as I know i2c devices are simply identified by the fact that they occupy a certain address on the bus. You can see in the datasheet for the bq24190 (sorry, no links!) on page 3 that it uses i2c address 6BH. The datasheet for the bq25890/2 shows on page 5 that the bq25892 also uses 6BH.
I don't know enough about i2c to know whether this is the issue, or how to point Linux to a different driver in the way that you might using a VIDID for a USB or PCI device? It would be really helpful if anybody could definitively confirm which chip we are dealing with.
Some final ACPI errors crop up towards the end of the dmesg output (I've cleared all the others) and I suspect that sorting this will clear them, as well as making the Yoga Book with Mint usable in Tablet mode.
Other things which need fixing:
- There are sound errors in the dmesg output but it also shows that the drivers and codec are loading properly. I can see all the devices which should be visible in amixer from the command line. Because getting the config wrong can blow speakers I've resisted tackling this until I've done further research but if anyone has a solution please let me know.
- Halo Keyboard. This needs either a kernel module to be written or a software layer which runs at least under X. I don't expect this to be hugely difficult - Linux can see the Halo as a wacom graphics pad and take input, albeit not deal with it properly yet. There's also a mystery, generic HID device which by process of elimination must be the button/backlight. However, the generic HID driver loads so it shouldn't be too hard to work out how to talk to it.
- I re-built the ISO using Cubic. When I have tried to make ISOs which use my custom kernel to boot the ISO itself, they don't work. I get garbled graphics and the boot stalls. This is why the touchscreen doesn't work when you live boot (which uses 4.10) but does when you install (because it uses 4.18). This ought not to be insurmountable but I haven't cracked it yet. I've tried doing it manually and using the Debian live-boot commands for both Debian/Ubuntu. Still no luck.
- Until I can get a custom ISO to boot from a custom kernel it won't be possible to install on the SD Card. Otherwise, there's no reason this shouldn't be possible.
- It should be possible to install to another USB device now, but I haven't tried yet. Make sure to use the disable MMC script on the desktop if you don't want to install Grub EFI on the eMMC. Ubuntu and derivatives ignore whatever you choose for this and just use the fist EFI partition they find. Amazingly this bug has been there since 2014!
- It ought to be possible to map the hardware buttons (volume, power) to specific keys in Grub, possibly using a locale. This would allow selections to be made without a keyboard.
android install
This might be related as I was just installing windows on Android version and now reverted back (https://forum.xda-developers.com/showpost.php?p=77556606&postcount=44), couple of observations that might help you: On android reinstall back it required to activate halo keyboard to get it working again, there was a phone code entered into the search bar to get it activated which triggered something called easyimage app. In android stock image you can actually find easyimage.zip which I guess is this "fake android update" to install the halo keyboard. Inside the zip are *.so libraries and some files related to halo keyboard and ink pen so you could try to play with those to get it working under classic Linux.
DNX mode allows to boot EFI via a USB cable &*fastboot (I guess windows version have also this as I activated it somewhere in BIOS?) so this can be also alternative version of booting an OS. IMHO Grub can also chainload iso image directly (I did it in past on normal PC, it was a couple of years ago so I can't find the guide to do it now) so in theory you can just place the Linux ISO image as a normal iso file on disk and tell GRUB to chainload that directly. Since it's possible to revert the Windows installation back to Android it might even be possible to dualboot. Android bootloader is also EFI based (kernelflinger) so you could also play with that. TWRP recovery image have full touch support for screen so that might be also a help when digging for configuration or extracting it from the sources.
intense.feel said:
...you can actually find easyimage.zip which I guess is this "fake android update" to install the halo keyboard. Inside the zip are *.so libraries and some files related to halo keyboard and ink pen so you could try to play with those to get it working under classic Linux.
Click to expand...
Click to collapse
This is really helpful, thank you. I'll have a look at what's there.
Still no progress with the battery gauge...
intense.feel said:
This might be related as I was just installing windows on Android version and now reverted back (https://forum.xda-developers.com/showpost.php?p=77556606&postcount=44), couple of observations that might help you: On android reinstall back it required to activate halo keyboard to get it working again, there was a phone code entered into the search bar to get it activated which triggered something called easyimage app. In android stock image you can actually find easyimage.zip which I guess is this "fake android update" to install the halo keyboard. Inside the zip are *.so libraries and some files related to halo keyboard and ink pen so you could try to play with those to get it working under classic Linux.
DNX mode allows to boot EFI via a USB cable &*fastboot (I guess windows version have also this as I activated it somewhere in BIOS?) so this can be also alternative version of booting an OS. IMHO Grub can also chainload iso image directly (I did it in past on normal PC, it was a couple of years ago so I can't find the guide to do it now) so in theory you can just place the Linux ISO image as a normal iso file on disk and tell GRUB to chainload that directly. Since it's possible to revert the Windows installation back to Android it might even be possible to dualboot. Android bootloader is also EFI based (kernelflinger) so you could also play with that. TWRP recovery image have full touch support for screen so that might be also a help when digging for configuration or extracting it from the sources.
Click to expand...
Click to collapse
I'm currently doing on that without the Hardware. my plan is to find the small / light weight linux kernel and port the driver of the HALO. I call this Project HALO port (not on github cuz I just gathering everything until I ready). right now I'm learning to compile the kernel because I never do that (3 years on linux xD). I hope soon I can figure out the protocol it did uses for the HALO (My guess is I2C/SMBus).
Update : I found someone on github just build custom Debian ISO to deploy on USB flash drive and be able to use HALO keyboard (A.K.A Yeti, based on Goodix gt9xx chip). This is his work on github
Woah this is amazing progress! I haven't been on the forums for a while; been working mostly on messing with Windows to make it more efficient and responsive lol.
jimnarey said:
The issue
The following can be seen by running 'dmesg' after boot using the ISO in my first post, which uses a 4.18 kernel customised for the hardware in the Yoga Book.
The kernel attempts to load the driver for the TI bq24190 battery charger IC. I'm not yet able to post links so search for 'bq24190_charger.c' in the Linux kernel Github repo. The driver throws an error on boot when it hits this code at line 1640. It's expecting a 6 and it gets a 4, the value of BQ24190_REG_VPRS_PN_24190.
bq24190_charger.c
Code:
if (v != BQ24190_REG_VPRS_PN_24190 &&
v != BQ24190_REG_VPRS_PN_24192I) {
dev_err(bdi->dev, "Error unknown model: 0x%02x\n", v);
return -ENODEV;
}
If I remove this check altogether and re-compile the module then the driver proceeds to load but reports zeroes for all status values. It's not clear whether it is, in fact, the right chip and isn't talking to the rest of the hardware or it's simply the wrong driver.
However, at least removing this check allows the Whiskey Cove ACPI IC driver to get a bit further along. Search for 'intel_cht_int33fe.c' in the kernel source. Comments in this file (line 124) confirm that this IC is expected to be paired with a bq24190.
By adding in dmesg warnings and re-compiling the int33fe module I could see that when an unmodified bq24190 driver is used, i.e. the check above takes place and is failed, the int33fe driver fails its own check at line 138:
intel_cht_int33fe.c
Code:
regulator = regulator_get_optional(dev, "cht_wc_usb_typec_vbus");
if (IS_ERR(regulator)) {
ret = PTR_ERR(regulator);
return (ret == -ENODEV) ? -EPROBE_DEFER : ret;
}
regulator_put(regulator);
When I remove the check, it fails at the next check starting at line 145:
Code:
/* The FUSB302 uses the irq at index 1 and is the only irq user */
fusb302_irq = acpi_dev_gpio_irq_get(ACPI_COMPANION(dev), 1);
if (fusb302_irq < 0) {
if (fusb302_irq != -EPROBE_DEFER)
dev_err(dev, "Error getting FUSB302 irq\n");
return fusb302_irq;
}
I have tried various combinations of including the FUSB driver and dependencies as modules/built in but the result is the same. I also tried moving the FUSB check to after the code which tries to link up with the max17047 battery gauge IC, but this fails also.
Some owners of the Android version of the Yoga Book have posted files/screenshots on Telegram which indicate that a different charger, the bq25892 is used. As far as I know i2c devices are simply identified by the fact that they occupy a certain address on the bus. You can see in the datasheet for the bq24190 (sorry, no links!) on page 3 that it uses i2c address 6BH. The datasheet for the bq25890/2 shows on page 5 that the bq25892 also uses 6BH.
I don't know enough about i2c to know whether this is the issue, or how to point Linux to a different driver in the way that you might using a VIDID for a USB or PCI device? It would be really helpful if anybody could definitively confirm which chip we are dealing with.
Some final ACPI errors crop up towards the end of the dmesg output (I've cleared all the others) and I suspect that sorting this will clear them, as well as making the Yoga Book with Mint usable in Tablet mode.
Other things which need fixing:
- There are sound errors in the dmesg output but it also shows that the drivers and codec are loading properly. I can see all the devices which should be visible in amixer from the command line. Because getting the config wrong can blow speakers I've resisted tackling this until I've done further research but if anyone has a solution please let me know.
- Halo Keyboard. This needs either a kernel module to be written or a software layer which runs at least under X. I don't expect this to be hugely difficult - Linux can see the Halo as a wacom graphics pad and take input, albeit not deal with it properly yet. There's also a mystery, generic HID device which by process of elimination must be the button/backlight. However, the generic HID driver loads so it shouldn't be too hard to work out how to talk to it.
- I re-built the ISO using Cubic. When I have tried to make ISOs which use my custom kernel to boot the ISO itself, they don't work. I get garbled graphics and the boot stalls. This is why the touchscreen doesn't work when you live boot (which uses 4.10) but does when you install (because it uses 4.18). This ought not to be insurmountable but I haven't cracked it yet. I've tried doing it manually and using the Debian live-boot commands for both Debian/Ubuntu. Still no luck.
- Until I can get a custom ISO to boot from a custom kernel it won't be possible to install on the SD Card. Otherwise, there's no reason this shouldn't be possible.
- It should be possible to install to another USB device now, but I haven't tried yet. Make sure to use the disable MMC script on the desktop if you don't want to install Grub EFI on the eMMC. Ubuntu and derivatives ignore whatever you choose for this and just use the fist EFI partition they find. Amazingly this bug has been there since 2014!
- It ought to be possible to map the hardware buttons (volume, power) to specific keys in Grub, possibly using a locale. This would allow selections to be made without a keyboard.
Click to expand...
Click to collapse
Not sure if you've seen, but this issue on the above GitHub project that has managed to get the battery gauge working says they're using the BQ27542.
https://github.com/jekhor/yogabook-linux-kernel/commit/f0b7662fa10f012410170c241a9fa91295f54dc1
Hi, I am the author of the repository mentioned above, https://github.com/jekhor/yogabook-linux. My linux porting efforts were focused at kernel, getting battery charger driver and halo keyboard working basically. So, this kernel supports the battery gauge, battery charger (with fast charging mode, yes!). For halo keyboard patch for the goodix touchscreen (touchpad really) kernel was needed, see the https://github.com/jekhor/yogabook-linux-kernel/commit/bd3a5953126fd87e4218550c5a31baafcdc60a38 commit. There is userspace keyboard driver in the Chromium OS which converts touchpad events into keypresses. Forked version suitable for build at GNU\Linux system is here: https://github.com/jekhor/chromiumos_touch_keyboard .
Some patches were accepted to the mainline Linux already:
0e116237aa42 extcon-intel-cht-wc: Make charger detection co-existing with OTG host mode (v5.1)
ff6cdfd71495 ACPI / x86: Make PWM2 device always present at Lenovo Yoga Book (v5.1)
236c765d6abc mfd: intel_soc_pmic_chtwc: Register LED child device (v5.2)
a72a1be0de71 extcon: intel-cht-wc: Enable external charger (v5.2)
Feel free to ask me about this work and to create github issues. This is my spare time project, so I will glad to see other developers connected.
nice project dude was trying it today and touchscreen works good so far,
but i cant get the halo keyboard to work, if i try to use it my mouse only moving from left to right and right to left.
if i can help you with creating some logs or something else, just write me i'm not rly good on linux, but i want to use it on this low power device
edit: and yes i tried to reload the kernel modules (if modprobe is the correct command) but no change
i dont know if the problem is maybe that i have a germany keyboard layout, changing in the menu works for my hw keyboard but on the halo no difference still only mouse movement
blgblade said:
nice project dude was trying it today and touchscreen works good so far,
but i cant get the halo keyboard to work, if i try to use it my mouse only moving from left to right and right to left.
if i can help you with creating some logs or something else, just write me i'm not rly good on linux, but i want to use it on this low power device
edit: and yes i tried to reload the kernel modules (if modprobe is the correct command) but no change
i dont know if the problem is maybe that i have a germany keyboard layout, changing in the menu works for my hw keyboard but on the halo no difference still only mouse movement
Click to expand...
Click to collapse
Hmmm... You are second people who reports such problem with this image. What YB version you have? I have YB1-X91L only.
Could you please post an output of the command 'sudo cat /sys/class/dmi/id/*' (use external keyboard for this)?
---------- Post added at 10:36 PM ---------- Previous post was at 10:30 PM ----------
Arghhh... I have lost one part of goodix touchscreen driver patch and keyboard will works only at YB1-X91L model (not X91F). Wil be fixed.
jekhor said:
Hmmm... You are second people who reports such problem with this image. What YB version you have? I have YB1-X91L only.
Could you please post an output of the command 'sudo cat /sys/class/dmi/id/*' (use external keyboard for this)?
---------- Post added at 10:36 PM ---------- Previous post was at 10:30 PM ----------
Arghhh... I have lost one part of goodix touchscreen driver patch and keyboard will works only at YB1-X91L model (not X91F). Wil be fixed.
Click to expand...
Click to collapse
yep i have a YB1-X91F
ok nice, than i will wait for the next release
i found out 2 things that did not work (or not correctly or i'm to stupid xD)
- sound (but i allready see the post in issues )
- the gui and if i tried video it looks like there is no graphic driver installed (dont know how to specify this, but if i just move a window it looks like software rendering, ok my english should be better to explain this but i hope you know what i mean ^^)
if i found something more i will give you feedback
but for now, its rly nice work
thank you so much for this project
here the output from the command above
Code:
08/26/2016
LENOVO
04WT18WW
NO Asset Tag
INVALID
HA0QPQ1T
LENOVO
Not Defined
NO Asset Tag
HA0QPQ1T
11
LENOVO
X91F
dmi:bvnLENOVO:bvr04WT18WW:bd08/26/2016:svnLENOVO:pnLenovoYB1-X91F:pvrX91F:rvnLENOVO:rnINVALID:rvrNotDefined:cvnLENOVO:ct11:cvrX91F:
cat: /sys/class/dmi/id/power: Is a directory
(TBD)
Lenovo YB1-X91F
HA0QPQ1T
LENOVO_BI_04_PCG_FM_YB1_X91F
41564e49-494c-0044-0000-000000000000
X91F
cat: /sys/class/dmi/id/subsystem: Is a directory
LENOVO
MODALIAS=dmi:bvnLENOVO:bvr04WT18WW:bd08/26/2016:svnLENOVO:pnLenovoYB1-X91F:pvrX91F:rvnLENOVO:rnINVALID:rvrNotDefined:cvnLENOVO:ct11:cvrX91F:
blgblade said:
yep i have a YB1-X91F
ok nice, than i will wait for the next release
i found out 2 things that did not work (or not correctly or i'm to stupid xD)
- sound (but i allready see the post in issues )
- the gui and if i tried video it looks like there is no graphic driver installed (dont know how to specify this, but if i just move a window it looks like software rendering, ok my english should be better to explain this but i hope you know what i mean ^^)
if i found something more i will give you feedback
but for now, its rly nice work
thank you so much for this project
[/CODE]
Click to expand...
Click to collapse
I have uploaded fixed iso (halo keyboard should work): https://github.com/jekhor/yogabook-linux/releases/tag/livecd-test3.1
Yes, no sound, no force-feedback for keypresses.
Don't know about video driver and acceleration, need to check.
jekhor said:
I have uploaded fixed iso (halo keyboard should work): https://github.com/jekhor/yogabook-linux/releases/tag/livecd-test3.1
....
Click to expand...
Click to collapse
yes, the keyboard is now working, nice thank you
i will follow your progress and try to help if i can ^^
hey all, because @jekhor is using a diffrent keyboard layout (not only mapping are diffrent) i created a modified layout.csv
(on this page --> https://forums.lenovo.com/t5/Yoga-Book-Windows/Yoga-book-Window-keyboard-layout-wrong/td-p/3705108 <-- you will see the layout diffrences)
layout.csv as attachmant (as txt because csv is not allowed ^^)
changes:
- Enter key diffrent size
- # moved to the other position
- added the > < | key (dont know the name )
- LeftShift key diffrent size
edit: i created a patch for the filesystem.squashfs file, just unpack the patcher in the /live/ folder on your stick and run it or run it ffrom any location you want and choose the live folder from the app, than you can use the keyboardlayout on the livesystem (sorry, the patcher is windows only)
Thanks for all the hard work
Hey all, just came across this thread recently - really appreciate all the hard work here. I've been trying to install Ubuntu on my Windows powered YogaBook since the beginning, and am amazed at how far your efforts have come. Looking forward to the completed product later on! Can't stand Win10 as it tends to bloat and slowdown. Hopefully Linux runs better on this thing.
Thxxx man
Love the level of involvement in this adforable and light device with great potential in linux
Hope u guys dont lose patience in the development.
Once the wifi, keyboard and touch screen is aredy, i think i will fully change my android yogabook into linux.......
---------- Post added at 02:01 PM ---------- Previous post was at 01:56 PM ----------
Love the level of involvement in this adforable and light device with great potential in linux
Hope u guys dont lose patience in the development.
Once the wifi, keyboard and touch screen is aredy, i think i will fully change my android yogabook into linux.......
Thanks for the effort
Thanks again, all for the effort.
Has there been any progress made so far?
It has been more than 2 full years, one in this forum has been able to achieve in only a few weeks of coding what MOST of us have tried to achieve in years. He has uploaded his ISO of Debian with many things working, however some things are left to be desired : Resume keyboard (tried with script - failed), fix for keyboard keys layout, and the resolution (worked with XRANDR script : working). However, he does not seem either interested in going further or does not have the device to compile against, either way without him we could be stuck with WinBlows on this machine. Until we get him BACK on board, we are stuck in the water... @jekhor ?
Jeff said:
It has been more than 2 full years, one in this forum has been able to achieve in only a few weeks of coding what MOST of us have tried to achieve in years. He has uploaded his ISO of Debian with many things working, however some things are left to be desired : Resume keyboard (tried with script - failed), fix for keyboard keys layout, and the resolution (worked with XRANDR script : working). However, he does not seem either interested in going further or does not have the device to compile against, either way without him we could be stuck with WinBlows on this machine. Until we get him BACK on board, we are stuck in the water... @jekhor ?
Click to expand...
Click to collapse
RN, I use the systemd to fix keyboard resume and very soon I will working on sound driver totally ported from android kernel. Plus I can get the haptic feedback to (partially) works only random left or right motor via using udev rule. Extra, the recent kernel added support for the front facing camera (ov2740).

Categories

Resources