Yoga Tablet 2 Pro, how do we enter BIOS and/or disable secure boot. - Thinkpad Tablet General

I've been trying different ways of entering bios and/or disabling secure boot, but can't figure out exactly if it has a BIOS menu at all.
Connected a keyboard to it and tries different keys during boot but I can't find the right combination.
Does anyone know how to enter the BIOS menu, or how do we go about disabling secure boot?
Thank you,

cocacola2015 said:
I've been trying different ways of entering bios and/or disabling secure boot, but can't figure out exactly if it has a BIOS menu at all.
Connected a keyboard to it and tries different keys during boot but I can't find the right combination.
Does anyone know how to enter the BIOS menu, or how do we go about disabling secure boot?
Thank you,
Click to expand...
Click to collapse
Keyboard is disabled(no driver installed, thanks Lenovo). Bios is usless.
From my LG-G4, Rooted running Stock 5.1

I was afraid that this would be the case. There seems to be no way to circumvent it either to boot a linux kernel.
http ://i.imgur.com/Tfd9U3i.jpg
Am I right to assume that the only thing we have that are signed are the stock Lenovo Yoga kernels, making them the only thing we can boot?
Also, does anyone know if these are the Microsoft keys, or some Lenovo keys, that they use for secure-boot. http ://i.imgur.com/dm1i16B.jpg
I'm wondering, because linux grub distributions do have a signed grub "shim" with the Microsoft key, maybe making us able to execute that at boot.

Ok, I've found out that it does have the microsoft keys, among other keys, which means it should in theory be possible, in theory. Will be looking into this more.

cocacola2015 said:
I was afraid that this would be the case. There seems to be no way to circumvent it either to boot a linux kernel.
http ://i.imgur.com/Tfd9U3i.jpg
Am I right to assume that the only thing we have that are signed are the stock Lenovo Yoga kernels, making them the only thing we can boot?
Also, does anyone know if these are the Microsoft keys, or some Lenovo keys, that they use for secure-boot. http ://i.imgur.com/dm1i16B.jpg
I'm wondering, because linux grub distributions do have a signed grub "shim" with the Microsoft key, maybe making us able to execute that at boot.
Click to expand...
Click to collapse
actually the problem is not in the unlocking but in making a working kernel for this tablet... because you see... Lenovo released the "source code" so they won't risk being sued for breaking the opensource (kernel) licenses, yet what they released is crap, broken drivers (i had to download all the source packages from all the YT2 models because they didn't even un-tarred crap and each one was 400MB and move things around and still it wont do the job as it should) they intentionally crippled the mk files, removed others, stupid and not working configs and so on... driver files missing... you get the picture and this was intentionally (not to say that this is only the kernel, not a chance to see in their source whats even more interesting: the code for the libraries, binaries etc) i am not saying it cannot be done but the amount of work it requires... hmm does it justify? in the end there are few people on this tablets and even lesser with the knowledge/available time to try and do something that will look like a custom rom
i thought at some point in making a rom but the hassle and time required don't justify it (what would i have? except that it's trendy to have a costom rom) so i for one will stay on my Android+Linux combo but who want to go further has my help
a better approach would be to build a custom rom based on the stock kernel/initramfs, this way you will start having the drivers in order and do your custom system (while no longer used in these days still it was cyanogenmod's way of making custom roms in the past) yet this one too is difficult and requires lots of work (and again for what? what's the gain?) but this one is much more acceptable than the rebuilding all previous one
the secure boot is passed (pm and you will understand) but to what end? see... the problem isn't so much in opening the door but in what you will do once inside (and i am inside that room for some time now yet no better bed than my Linux+Android combo) but feel free to continue on the road..
this is not to discourage you but to warn you about issues others (me) had on the road you're stepping now.

Thank you for the reply.
You're right, going the route of compiling whatever Lenovo has put out, is not the most streight forward option, but I disagree on not putting Linux on this tablet. This is the biggest and highest resolution tablet I've seen, and having Android on it instead of a full-blown Linux distribution, is a waste. Things like X forwarding to use it as a thin clinet, does not work well, I've tried all options. The only viable thing for using this as a thin client, is to run Linux on it, with its native input methods on the display server.
The gain is not having to pay twice as much for a Microsoft Surface tablet to install linux on, with it even being lower resolution and smaller screen.

well in this area @workdowg can give you more details as he is the one who loves X on this tab me i'm more like an Y type (aka windows gui/y) (i am happy with my openvpn and sshd) but again consider the unlocking part done and start collecting stuff for making your kernel

ionioni said:
well in this area @workdowg can give you more details as he is the one who loves X on this tab me i'm more like an Y type (aka windows gui/y) (i am happy with my openvpn and sshd) but again consider the unlocking part done and start collecting stuff for making your kernel
Click to expand...
Click to collapse
Very exciting. Need to boot a compatible kernel with the provided drivers, as you also suggested, and eventually get a full fedora distribution up and running.
Since this is an x86 tablet, no cross-compilation will be needed so it will allow for more flexibility with getting tools into initramfs to make it bootstrap systemd, and eventually run a full distribution from the system partition.
Would be very interested if workdowg can also provide some input on the issue.

cocacola2015 said:
Thank you for the reply.
You're right, going the route of compiling whatever Lenovo has put out, is not the most streight forward option, but I disagree on not putting Linux on this tablet. This is the biggest and highest resolution tablet I've seen, and having Android on it instead of a full-blown Linux distribution, is a waste. Things like X forwarding to use it as a thin clinet, does not work well, I've tried all options. The only viable thing for using this as a thin client, is to run Linux on it, with its native input methods on the display server.
The gain is not having to pay twice as much for a Microsoft Surface tablet to install linux on, with it even being lower resolution and smaller screen.
Click to expand...
Click to collapse
as short as it was yet i still read it on fast-forward
i wasn't saying to not put linux on it (i have linux on mine too) i'm saying that putting ONLY linux was not worth (for my needs) the work required for (maybe i was too subtle ) i mean even if i had a full linux distro solution for my 1380 tablet i would still go for my current Android on Linux set-up that i have. yet, each has his own needs
oh boy it's getting late

cocacola2015 said:
Very exciting. Need to boot a compatible kernel with the provided drivers, as you also suggested, and eventually get a full fedora distribution up and running.
Since this is an x86 tablet, no cross-compilation will be needed so it will allow for more flexibility with getting tools into initramfs to make it bootstrap systemd, and eventually run a full distribution from the system partition.
Would be very interested if workdowg can also provide some input on the issue.
Click to expand...
Click to collapse
ionioni said:
as short as it was yet i still read it on fast-forward
i wasn't saying to not put linux on it (i have linux on mine too) i'm saying that putting ONLY linux was not worth (for my needs) the (huge)work required for (maybe i was too subtle ) i mean even if i had a full linux distro solution for my 1380 tablet i would still go for my current Android on Linux set-up that i have. yet, each has his own needs
oh boy it's getting late
Click to expand...
Click to collapse
I purchased my tablet with intention of dual booting Linux and Android and eventually going with Linux alone (being x86 I thought this would be a piece of cake). Now after getting Linux running (with Android in a chroot).... My vision has changed. TTY Linux is great, I have so much I can get done when not home. Using Xsdl, X runs well enough ( I had wine installed to run a Windows app) and I don't think it would be all that much better on the framebuffer.
The problem ends up being.... (and it has been stated before).... Touch still sucks on a small screen! Android just excels at it. So for me, if someone were to develop kexecboot or such I would definitely play with it (proof of concept) but I'm positive I'd go right back to my current setup.... ssh and the Xsdl for X as needed are perfect.

ionioni said:
as short as it was yet i still read it on fast-forward
i wasn't saying to not put linux on it (i have linux on mine too) i'm saying that putting ONLY linux was not worth (for my needs) the work required for (maybe i was too subtle ) i mean even if i had a full linux distro solution for my 1380 tablet i would still go for my current Android on Linux set-up that i have. yet, each has his own needs
oh boy it's getting late
Click to expand...
Click to collapse
Oh I see. The highest priority for me at least, is to get any linux distribution to boot.
workdowg said:
I purchased my tablet with intention of dual booting Linux and Android and eventually going with Linux alone (being x86 I thought this would be a piece of cake). Now after getting Linux running (with Android in a chroot).... My vision has changed. TTY Linux is great, I have so much I can get done when not home. Using Xsdl, X runs well enough ( I had wine installed to run a Windows app) and I don't think it would be all that much better on the framebuffer.
The problem ends up being.... (and it has been stated before).... Touch still sucks on a small screen! Android just excels at it. So for me, if someone were to develop kexecboot or such I would definitely play with it (proof of concept) but I'm positive I'd go right back to my current setup.... ssh and the Xsdl for X as needed are perfect.
Click to expand...
Click to collapse
Touch will probably work better on the larger screens, I've got the 13inch one.
---------------
So I got the latest kernel from kernel.org to boot but I'm not sure why it doesn't find the initramfs, I assume it has to do with it not existing on a partition, but being built into the boot.img.
http://i.imgur.com/IxdwXre.jpg
I'm trying to make it boot a live OS directly from USB, without initramfs. It's a bit difficult because I don't know how the block devices are named, maybe if anyone knows the kernel command line for booting the live linux using the custom kernel, using sdhci or normal usb.
Basically, instead of the normal LiveUSB sequence:
grub from USB -> kernel from USB -> root filesystem from USB
I want
custom kernel with android boot.img -> root file system from USB/SD card

cocacola2015 said:
I want
custom kernel with android boot.img -> root file system from USB/SD card
Click to expand...
Click to collapse
there's something wrong with your boot.img, and from the image there not enogh info
link the boot.img you make

ionioni said:
there's something wrong with your boot.img, and from the image there not enogh info
link the boot.img you make
Click to expand...
Click to collapse
What's wrong is you need the root= kernel argument, and I'm not sure how the block devices are named (For example, it doesn't have /dev/block/ like on the android kernels). The initramfs isn't modified yet, it's a custom compiled kernel with the source at kernel.org.
Created a boot.img that one can add root= kernel arguments to, to test booting from other media:
https://anonfiles.com/file/177753c2344c3c64c200cdb3803236bd
It has these kernel command line arguments built into the kernel:
Code:
oops=panic panic=360 vmalloc=172M debug_locks=0 bootboost=1 vga=ask i915.modeset=0 drm.vblankoffdelay=1 selinux=0 nomodeset ro debug noinitrd

Another one with UHCI (USB2.0) driver, instead of xHCI (USB3.0), because it might not reach init sometimes otherwise when plugged in, for some reason.
https://anonfiles.com/file/d41f495d118ab1e5ccef961baeb1bcce
No command line arguments built into the kernel, all in boot.img, boot_delay= disabled
Code:
oops=panic panic=360 vmalloc=172M debug_locks=0 bootboost=1 vga=ask i915.modeset=0 drm.vblankoffdelay=1 selinux=0 nomodeset ro debug noinitrd root=/dev/mmcblk0

Related

LINUX BOOTS at OPAL! Thanks to linwizard project!

Hi there,
I got Linux to boot at OPAL via linwizard project. Here are steps needed to get it work.
1) download image from:
http://tinderbox.x86.dev.gentoo.org/embedded/linwizard/gizard-20080602.tar.bz2
2) copy content of file to the microSD card
3) edit default txt and replace init=/linuxrc with init=/bin/sh
4) run haret and let it boot.
After a while you'll get to shell. No graphics.
Now you can attach microusb cable and connect it with your linux laptop (I recommend ubuntu)
and you will get usb0 interfece to start up.
Which IP to use to connect with OPAL I still must investigate.
Well ip connectivity now works:
ip=<client-ip>:<server-ip>:<gw-ip>:<netmask>:<hostname>:<device>:<autoconf>
Notas:/# ifconfig usb0 up 192.168.2.200 netmask 255.255.255.0
Listik:/usr/src/linux-2.6.27/Documentation# ping 192.168.2.202
PING 192.168.2.202 (192.168.2.202) 56(84) bytes of data.
64 bytes from 192.168.2.202: icmp_seq=1 ttl=64 time=2.95 ms
64 bytes from 192.168.2.202: icmp_seq=2 ttl=64 time=1.72 ms
And how to do it:
prolong "set CMDLINE" line with
ip=192.168.2.202:192.168.2.200:192.168.2.200pal:usb0
But in this image there doesn't seem to be any telnet/ssh server running. I will try cook image with ssh server support later
Download error
Were not able to re-upload
404 file not found error!!
http://tinderbox.x86.dev.gentoo.org/embedded/linwizard/
and open latest gizard-<date>.tar.bz2
or that I suppose.
The latest link should be http://tinderbox.x86.dev.gentoo.org/embedded/linwizard/gizard-20090703.tar.bz2
does this mean any chance of android working? anyone tried?
Hey,
I'm a new Opal user and I'm interested in getting *nix running on my device. I still haven't had the chance to mess around with this stuff but I'm excited to see this thread.
I was looking into the possibility of running Android on the Opal and it seems the closest thing is this thread bout running it on the Herald (it uses the same processor as the Opal).
I don't any experience in Linux porting so I thought I'd share this, in case anyone else is interested. And at the same time, I'll try to see if I can get something working based on what has been/is being done for other devices.
Sorry for the long post.
Hey Folks,
Any progress on getting Android on Opal? I am eagerly waiting to load one.
Kindly let me know, if this version of Linux when loaded, gives the UI.
Cheers'
Vijay
cijoml said:
Hi there
I got Linux to boot at OPAL via linwizard project. Here are steps needed to get it work.
1) download image from:
http://tinderbox.x86.dev.gentoo.org/embedded/linwizard/gizard-20080602.tar.bz2
2) copy content of file to the microSD card
3) edit default txt and replace init=/linuxrc with init=/bin/sh
4) run haret and let it boot.
After a while you'll get to shell. No graphics.
Now you can attach microusb cable and connect it with your linux laptop (I recommend ubuntu)
and you will get usb0 interfece to start up.
Which IP to use to connect with OPAL I still must investigate.
Click to expand...
Click to collapse
Android can boot on Opal
I have some good news, Android can boot on the Opal. This is just a proof of concept as it's missing tons of drivers and is completely useless.
Touchscreen and all keys except for the volume control (and obviously the reset button) are not working. So you basically can't do anything when you run it.
What I tried is the same as what's written in this thread about running Android on Gene. They're using the build made for the Herald/Wing (just as I was proposing in my last post) with customized initramfs and kernel.
You'll find all the necessary details in that thread. However, there's a newer build than the one mentioned there it's wing-linux-0.4pre2.cab. And the suitable kernel for that build is supposed to be the pre2 posted in this post but it didn't work on my Opal so I tried the older Gene kernel and it worked. The main difference between the two is bluetooth support, and that's obviously is of no use for us.
This doesn't effect the Windows rom, nor does it requires any special partitioning. Still it's best to have everything backed up before launching it, just in case.
This is the official site for the wing/herald build:
http://wing-linux.sf.net/
This thread on their forums about the Gene port will probably be of use to us:
http://sourceforge.net/apps/phpbb/wing-linux/viewtopic.php?f=4&t=4
I'm reading about the next steps but as I said before, I don't have any previous experience or knowledge about this type of things. If someone can give me hand, I would be more than grateful. At any rate, once I have better understanding of the concept I'll contact the people behind the Wing and the Gene ports.
P.S: If you do try to run this, keep in mind that this will take lots of time, specially for the first launch. And when you get an error saying something like "android sh: can't access tty" just ignore it and keep waiting. After a while you'll have a flashing "android" on the screen, and after some more waiting you'll reach the main screen.
Is this just THE BEGINNING
Sooper Stuff..!! So is this just THE BEGINNING??
How do we port the drivers and other required information in the build?
Cheers'
Vijay
www.msigeek.com
A Lil' help
I'm going through the Gene port thread here and on the Wing-linux sourceforge forums but I'm still a bit overwhelmed.
I would appreciate any help as I'm completely new to porting. I have some programming and linux knowledge but never attempted this type of things.
Click to expand...
Click to collapse
So am I.
Hmmm...
Right. Lets do it the way I did it.
1. Get the touchscreen working. Through HaRET, you must have got the GPIO interrupt whenever you pressed the touchscreen. You must have got two numbers corresponding to each press - a smaller number and a bigger number. The smaller number is the GPIO, and the larger number is, well, lets say a special GPIO value for the same pin.
Now checkout the Gene branch through git.
Goto /wing-linux/kernel/arch/arm/mach-omap1/board-htcherald.c
Scroll down to a block of code where you'll see the touchscreen code. Enter the smaller number in the .dav_gpio statement, and the IRQ number in the OMAP_GPIO_IRQ() statement below.
2. Follow the Kernel build instructions on the development section of the wing-linux wiki (the two make commands)
Copy the zImage into the linux folder on your SD card
Boot into wing-linux. The touchscreen should start working.
3. Now, hopefully, after the touchscreen's working, You would essentially just require two more buttons - the home button and the back button for minimum functionality. Everything else can be worked on by the touchscreen.
Then follow the instructions on the wing-linux forum (Page 2) to get the KEY(row,col) values of the keys on your handset. Hopefully you should get atleast a couple. Note down the corresponding keys and their KEY(r,c) values output.
4. Fire up board-htcherald.c again and goto the place where you have the KEY(r,c,KEY_blah) thing and replace the codes as per your obtained KEY(r,c,KEY_blah) values (The Home button is the one commented as Left Button)
5. That's all I can help you with as of now. I'm also figuring out a stable way of getting the DPad and the center select key to work, but It'll take some time.
Thanks kshaurya!
(This guy right here is the one who fixed the kernel for Gene, I asked him for some pointers).
I don't want to take my device apart just yet (I usually do my best not take to dismantle anything that I haven't owned for at least 3 months unless absolutely necessary) and I couldn't find a place that states what touchscreen it uses. I'm just hoping that it's the same a tsc2046 as well. [Is there anyone without a warranty and/or willing to check for us?]
I'm gonna double check the values I got from the touchscreen as for some reason I seem to have to IRQ values, probably forgot to get rid of some spamming irq. And, at the same time, I'm currently setting up a VM as a building environment, my main boot is Intrepid 64 and there's no 'psyco' package for 64 machines.
If anyone else have some experience and wants to try this, refer to: http://www.handhelds.org/moin/moin.cgi/HaRET_20Documentation (using haret to get the GPIO and IRQ values needed).
And to:
http://sourceforge.net/apps/trac/wing-linux/wiki/Development (acquiring the source code from Wing Linux and how to build it).
And a quick question for anyone that tried booting Android on the Opal, what screen did you get when Android finally finished booting?
I don't want to take my device apart just yet
Click to expand...
Click to collapse
Huh? where did that come from? Wing Linux will not touch your WM.
I seem to have to IRQ values
Click to expand...
Click to collapse
Do you mean two? Well, that's exactly what you should get. Even if it's just one, enter that value in the code.
my main boot is Intrepid 64 and there's no 'psyco' package for 64 machines
Click to expand...
Click to collapse
Oh no. dont tell me that you are building the entire thing. all you need to do is build the KERNEL! Please! Don't go into building the whole thing from scratch. Use the make ARCH ARM commands given on that page.
kshaurya said:
Huh? where did that come from? Wing Linux will not touch your WM.
Click to expand...
Click to collapse
I mean to check the screen, in case it turned out to be different that what you have.
kshaurya said:
Do you mean two? Well, that's exactly what you should get. Even if it's just one, enter that value in the code.
Click to expand...
Click to collapse
Yeah, stupid typo.
I noticed now that one of them appears when I keep the screen 'touched' for a bit longer.
kshaurya said:
Oh no. dont tell me that you are building the entire thing. all you need to do is build the KERNEL! Please! Don't go into building the whole thing from scratch. Use the make ARCH ARM commands given on that page.
Click to expand...
Click to collapse
I'm not gonna build the complete thing. Seems like I got too exited and failed to notice that building the kernel only requires a cross-compile toolchain, te rest is for compiling the whole thing.
I'm not THIS stupid usually . Honestly!
Thanks again!
I'm not THIS stupid usually . Honestly!
Click to expand...
Click to collapse
Its pretty normal
Weird.
I've only changed the two touchscreen values and built the kenrel. It finished without any error but now it won't boot.
It gets stuck, even before the space allocation part, with this error: "sh: can't access tty; job control turned off". And then it displays a prompt.
I'll try modifying an older build, I'm pulling them from the repos at the moment.
After all, the pre2 kernel from Gene didn't boot on my device (although it got stuck later on).
Try doing a clean install - Remove the linux folder and try again.
Also, make sure that you're not forgetting to checkout the Gene branch.
Code:
git checkout Gene
Is your default.txt modified? And have you downloaded the modified initramfs.cpio?
check in the Gene forums for that.
Already tried the clean install, no dice. The default.txt is untouched and I'm using the modified intramfs. What happened this time is different from what happens using the original one, it's not asking me to specify the partition size but instead it's waiting for a command. I could probably ssh via usb but I have no clue how that might help.
And I've already checked out the Gene branch from the beginning.
I've tried compiling the kernel for pre1 (after changing the screen values) from SVN and it did boot (both using the cabs for pre1 and pre2) but no touch screen yet. All in all, I'm guessing that there's too much hardware difference here.
And the button for lowering volumes didn't work either, it seems like whatever you changed for getting it to work on Gene is the same as what we need here, but I'll think about that later.
I only have two ideas left:
- Trying to go back to a more stable build (with lesser features and lesser possibilities for errors). Maybe 0.3.
- Trying to create some kind of hybrid kernel using this alongside the HTC Vogue build as it probably has closer hardware to the Opal (obviously, I'm talking about everything beside the MSM7500 400MHz processor that it has). I'm hoping it won't get to this cause I'm definitely under qualified for that at the time being.
What happened this time is different from what happens using the original one, it's not asking me to specify the partition size but instead it's waiting for a command.
Click to expand...
Click to collapse
Could you post a screenshot?
I've tried compiling the kernel for pre1 (after changing the screen values)
Click to expand...
Click to collapse
I'm assuming you mean the touchscreen values? Try interchanging and see.
Trying to go back to a more stable build
Click to expand...
Click to collapse
I wouldn't recommend that. Defeats the whole purpose.
Why don't you try getting in touch with darkstar?
kshaurya said:
Could you post a screenshot?
Click to expand...
Click to collapse
A friend borrowed my digital camera, I tried my laptop's webcam but the text it too blurry. Couldn't fix it using gimp either. So here's exactly what's showing on the screen:
Code:
mdir: Cannot creat directory `/mnt' : File exists
modprbe: could not parse modules.dep
initramfs: Creating device nodes:
initramfs: Loading /initrd.d/10-initfs.sh module
initramfs: Loading /initrd.d/30-wingboot.sh module
Selected:
ROOT_DEVICE=/dev/
CMDLINE=debug quiet psplash=false loglevel=7 init=/sbin/init console=tty0 video=omapfb:accel fbcon=rotate:3 4 root=/dev/
initramfs: Loading /initrd.d/80-loopboot.sh module
initramfs: Loading /initrd.d/85-blockboot.sh module
booting from: /dev/
mount: Mounting /dev/ on /mnt failed: Invalid argument
Unable to mount rootfs device
sh: can't access tty; job control turned off
/ $
And after the prompt, on the same line, there's a flashing '_' waiting for input.
Using the original zImage (from the pre2 cab) it's right around here that the screen clears and the Wing Linux installation script kicks in.
kshaurya said:
I'm assuming you mean the touchscreen values? Try interchanging and see.
Click to expand...
Click to collapse
Will try that next.
kshaurya said:
I wouldn't recommend that. Defeats the whole purpose.
Click to expand...
Click to collapse
I meant it as just a temporary test to till the cause of the incompatibility is figured out. With less things that could go wrong, it'll be easier to locate the ones that are going wrong.
kshaurya said:
Why don't you try getting in touch with darkstar?
Click to expand...
Click to collapse
You're right. I should post a thread on the project's forums asking for his help.

Other OS's/UI's on Dream? (Maemo, Openmoko, Native debian, X11 support, etc)

I didn't think it belonged in Dream Android Development, so I'm putting it here. If it needs to be moved, move it.
Is it possible to boot anything other than Android on the Dream?
I've seen the Nokia N900 and its Maemo 5 firmware, and I'm absolutely drawn to it, thanks to its debian-based OS (sudo apt-get install anything), it's X-based graphics system (REAL linux GUI programs), and all the apps it already has (Native Gizmo > Hacky Sipdroid).
I've also taken a look at other Linux-based open phone firmwares.
What is keeping us from doing this? If it's drivers, do they exist for another similar Linux-based firmware?
Could we dual-boot Android and this other OS using a third-stage bootloader which loads as a kernel from within the BOOT: partition?
I've seen the (albeit extremely hackish) method of getting Debian on the G1, chrooting into a loop-mounted FS and using a loopback VNC to spring into a KDE/Gnome/LXDE UI, but it's slow, still has Android and its apps loaded into memory, and very hackish and unstable.
I'm more than willing to test anything firmware-wise on my phone as long as it doesn't mess with my SPL.
The possibilities are nearly limitless - WINE under Linux means true "Windows Mobile" without the WinCE kernel.
Or perhaps WinMo/WinCE can be booted on the Dream?
It's more of a question of whether or not it's possible right now than a concept or implementation, but once that's answered, I'll either throw some time into testing and porting, or kick back and enjoy the Android as it is.
For starters:
- How does the SPL hand off to the BOOT: partition and its kernel/initrd?
- What devices need what drivers? What should be thrown into the kernel?
- Do things need reverse-engineering or is it all straightforward and documented?
- How can we use the space provided without messing with the SPL? (use cache partition for OS? Modified recovery that doesn't depend on cache partition?)
- Is dual-booting between Android possible? Can this be switched and launched before Dalvik and the Android stuff loads on the Android kernel?
- Can this be done with other Android-powered, rooted devices?
Have you seen wiki.openmoko.org/wiki/OpenMoko_on_HTC-Dream or lists.openmoko.org/pipermail/community/2009-August/052529.html? (Crap, I can't post links) Looks promising since Angstrom is a very powerful embedded distro, but it's a one-man project now. I hope some people will join it or start a similar project.
G1 is a great device, however, I can see only a few people hacking on OS alternatives for it. You always got to have either an active community or a company in order to complete such a project.
The Android hackers community is very vibrant, however, people are not really interested in bringing a fully-featured Linux distro to G1 or other Android phones. Android is too trendy itself
The Debian/Ubuntu opportunity that we have now is nice, but it looks like an addition to the Android which takes a lot of memory and CPU.
I have just set up a small Ubuntu environment booting on my G1 together with Android. I combined the userspace prepared by Paolo Sammicheli (xdatap1.wordpress.com/2009/05/03/jaunty-under-android/) with Bayle Shanks's instructions (bayleshanks.com/wiki.pl?tips-computer-android-g1_debian_cyanogenMod). I am going to use it for mutt, vim, some coding. X11/VNC experience has been frustrating so far.
I am pretty sure though that there will be more people wanting to use alternative OSes on their phones: Moto Droid and Nexus are powerful enough for a full desktop environment.
vaskas said:
Have you seen wiki.openmoko.org/wiki/OpenMoko_on_HTC-Dream or lists.openmoko.org/pipermail/community/2009-August/052529.html? (Crap, I can't post links) Looks promising since Angstrom is a very powerful embedded distro, but it's a one-man project now. I hope some people will join it or start a similar project.
G1 is a great device, however, I can see only a few people hacking on OS alternatives for it. You always got to have either an active community or a company in order to complete such a project.
The Android hackers community is very vibrant, however, people are not really interested in bringing a fully-featured Linux distro to G1 or other Android phones. Android is too trendy itself
The Debian/Ubuntu opportunity that we have now is nice, but it looks like an addition to the Android which takes a lot of memory and CPU.
I have just set up a small Ubuntu environment booting on my G1 together with Android. I combined the userspace prepared by Paolo Sammicheli (xdatap1.wordpress.com/2009/05/03/jaunty-under-android/) with Bayle Shanks's instructions (bayleshanks.com/wiki.pl?tips-computer-android-g1_debian_cyanogenMod). I am going to use it for mutt, vim, some coding. X11/VNC experience has been frustrating so far.
I am pretty sure though that there will be more people wanting to use alternative OSes on their phones: Moto Droid and Nexus are powerful enough for a full desktop environment.
Click to expand...
Click to collapse
i really think it lies in what you want from your phone... i know you say you use your ubuntu env for things such as vim and mutt, but everything that vim and mutt can do, can already be done under android..
the biggest challenge is getting people to latch on to an alternate distro which offers MORE than android, which has yet to come to surface... ultimately this is a phone.. not a netbook...and for a phone android is pretty dam sweet...
although in terms of geek work, running ANY other os on non native hardware is cool....albeit not really worth it
anybody were successful by using the internal-memory-image from the openmoko wiki?
I always get kernel panic, when booting it. I flashed it with flash_image boot/system, does this matter? In the wiki they use fastboot.
scheich, I only tried the SD-card way (see my post in http://forum.xda-developers.com/showthread.php?t=624392)
It shouldn't really matter whether you use fastboot or flash the image. The kernel panic could occur due to the inability to find the root filesystem. Try reflashing the yaffs2.
By the way, why did you choose to put OpenMoko in the internal memory? Are you going to use it exclusively or as the primary OS on the device?
Some of what you suggest can be done, but not recommended.
1) Nokia/Maemo is a bad fit for a phone. It is a real HOG. It is also shoehorning (with a sledge hammer) a desktop OS into a phone. It just doesn't work right. Android exists because a totally new UI model was needed to work optimally with a phone's physical form.
2) WINE will NEVER work since the CPU in the phone is ARM and not x86. If you want to run windonkey programs (can't imagine why you would), you would have to run a PROCESSOR EMULATOR, and this will be REALLY REALLY REALLY slow and memory intense.
TylTru said:
I didn't think it belonged in Dream Android Development, so I'm putting it here. If it needs to be moved, move it.
Is it possible to boot anything other than Android on the Dream?
I've seen the Nokia N900 and its Maemo 5 firmware, and I'm absolutely drawn to it, thanks to its debian-based OS (sudo apt-get install anything), it's X-based graphics system (REAL linux GUI programs), and all the apps it already has (Native Gizmo > Hacky Sipdroid).
I've also taken a look at other Linux-based open phone firmwares.
What is keeping us from doing this? If it's drivers, do they exist for another similar Linux-based firmware?
Could we dual-boot Android and this other OS using a third-stage bootloader which loads as a kernel from within the BOOT: partition?
I've seen the (albeit extremely hackish) method of getting Debian on the G1, chrooting into a loop-mounted FS and using a loopback VNC to spring into a KDE/Gnome/LXDE UI, but it's slow, still has Android and its apps loaded into memory, and very hackish and unstable.
I'm more than willing to test anything firmware-wise on my phone as long as it doesn't mess with my SPL.
The possibilities are nearly limitless - WINE under Linux means true "Windows Mobile" without the WinCE kernel.
Or perhaps WinMo/WinCE can be booted on the Dream?
It's more of a question of whether or not it's possible right now than a concept or implementation, but once that's answered, I'll either throw some time into testing and porting, or kick back and enjoy the Android as it is.
For starters:
- How does the SPL hand off to the BOOT: partition and its kernel/initrd?
- What devices need what drivers? What should be thrown into the kernel?
- Do things need reverse-engineering or is it all straightforward and documented?
- How can we use the space provided without messing with the SPL? (use cache partition for OS? Modified recovery that doesn't depend on cache partition?)
- Is dual-booting between Android possible? Can this be switched and launched before Dalvik and the Android stuff loads on the Android kernel?
- Can this be done with other Android-powered, rooted devices?
Click to expand...
Click to collapse
vaskas said:
scheich, I only tried the SD-card way (see my post in http://forum.xda-developers.com/showthread.php?t=624392)
It shouldn't really matter whether you use fastboot or flash the image. The kernel panic could occur due to the inability to find the root filesystem. Try reflashing the yaffs2.
Click to expand...
Click to collapse
Tried reflashing the system image. Also the older image on the ftpserver. The same. I will try the sdcard installation.
vaskas said:
By the way, why did you choose to put OpenMoko in the internal memory? Are you going to use it exclusively or as the primary OS on the device?
Click to expand...
Click to collapse
Two reasons:
1. Thought that would be the faster way to get it work. I used BART to backup my android installation.
2. Thougt, I would get a bit more perfomance in using the internal memory.
I really would like to use SHR(or other) as primary OS, because I had an GTA02, depends on what is(could) work(ing) on the dream.
would it be possible to boot ubuntu netbook remix? it uses far less resources.
zenstitution said:
would it be possible to boot ubuntu netbook remix? it uses far less resources.
Click to expand...
Click to collapse
NBR is targeted at x86, but Ubuntu MID edition is installable. It's similar to the netbook remix. We'll have to wait before we have a proven/stable installation method though.
I would really like to see another OS on my Dream as well - just in addition to android
Che123 said:
I would really like to see another OS on my Dream as well - just in addition to android
Click to expand...
Click to collapse
Well, you can try the OpenMoko port (it's in the alpha stage now): http://forum.xda-developers.com/showthread.php?p=5521417
The more people get interested in the alternative OS, the sooner we'll get one.
vaskas said:
Well, you can try the OpenMoko port (it's in the alpha stage now): http://forum.xda-developers.com/showthread.php?p=5521417
The more people get interested in the alternative OS, the sooner we'll get one.
Click to expand...
Click to collapse
Really hot stuff - but i don't want to loose my recovery
But i will definetly keep an eye on it!
edit: Adding a bootmngr like grub for selecting boot OS (android/openmoko/recovery) would be really nice Or adding bootoptions to the current amon_ra Recovery would be a soloution too. But I'm no dev, so I don't even know if it is possible.

I want to use the A101 as a BeagleBoard-like

Hello! I've been just a reader for some months, my questions have been always already answered here for basic things (rooting, performance tips etc) but now it's the time to register and start participating I am a professional programmer, just have been "out" of the development world for the last 1+ year, so I'm a bit untrained now...
I was thinking on buying a BeagleBoard for trying some programming in it, just wanted to see what's the power of that board when doing image processing stuff (namely playing with OpenCV). But, before spending those $130 in one, I realised that my Archos A101IT has almost the same board (SoC), well actually even a bit faster (BeagleBoard comes with OMAP3530 while A101IT comes with OMAP3630).
The BeagleBoard works with a linux Kernel for the OMAP architecture, so what would be the closest to bare-bones thing I could get for the A101? If this was Desktop, I'd answer "Debian with the lightest Desktop setup and OpenCV libraries installed", but in this architecture I'm lost.
I see a lot of "custom kernel for you", "Ubuntu over Android" and stuff like that, but I don't get if that's what I'm looking for or just that people here are building replacements to the underlying Android kernel. As you see I'm not interested at all on the Android part of the A101.
Hope you can give me some orientation...
juannm said:
Hello! I've been just a reader for some months, my questions have been always already answered here for basic things (rooting, performance tips etc) but now it's the time to register and start participating I am a professional programmer, just have been "out" of the development world for the last 1+ year, so I'm a bit untrained now...
I was thinking on buying a BeagleBoard for trying some programming in it, just wanted to see what's the power of that board when doing image processing stuff (namely playing with OpenCV). But, before spending those $130 in one, I realised that my Archos A101IT has almost the same board (SoC), well actually even a bit faster (BeagleBoard comes with OMAP3530 while A101IT comes with OMAP3630).
The BeagleBoard works with a linux Kernel for the OMAP architecture, so what would be the closest to bare-bones thing I could get for the A101? If this was Desktop, I'd answer "Debian with the lightest Desktop setup and OpenCV libraries installed", but in this architecture I'm lost.
I see a lot of "custom kernel for you", "Ubuntu over Android" and stuff like that, but I don't get if that's what I'm looking for or just that people here are building replacements to the underlying Android kernel. As you see I'm not interested at all on the Android part of the A101.
Hope you can give me some orientation...
Click to expand...
Click to collapse
That isn't anything particaly solid but the best you can do is either install one of the os from here http://forum.xda-developers.com/showthread.php?t=1198389
or look at archos sde http://www.archos.com/support/support_tech/updates_dev.html?country=gb&lang=en
juannm said:
The BeagleBoard works with a linux Kernel for the OMAP architecture, so what would be the closest to bare-bones thing I could get for the A101? If this was Desktop, I'd answer "Debian with the lightest Desktop setup and OpenCV libraries installed", but in this architecture I'm lost.
I see a lot of "custom kernel for you", "Ubuntu over Android" and stuff like that, but I don't get if that's what I'm looking for or just that people here are building replacements to the underlying Android kernel. As you see I'm not interested at all on the Android part of the A101.
Click to expand...
Click to collapse
I'm not sure about what really you want to know, but would note the following:
It's possible to run a Linux kernel on Archos, and Ubuntu on it will be "Ubuntu over Linux kernel". The problem is that Archos needs an Archos-friendly kernel, and it's so tweaked that I don't know at what point Linux ends there and Android starts. So here is another problem: it seems rather hard to make the mainline kernel running on Archos. This means that you'll stay with 2.6.29 till the end of your Archos' days... But if you're happy with custom-made GPL'ed 2.6.29 by Archos -- installing "Debian with the lightest Desktop" on it should be no problem. On Archos-Debian.org they've already made a few rootfs images.
Question: justo out of curiosity, do you know if the Debian compilation from (www .debian-archos.com) is made by following this (dev. openaos.org/wiki/Debian%20gen8) ??
In the other hand, I have just installed Urukdroid 1.6 over my previous system (letting the installer to wipe my previous partitions and creating new ones), and now I'm going to try the Angstrom "rootfs.img" option (that I copied somewhere before installing Urukdroid) and also the Debian beta2 one (altough its a wooping 3,8 GB file... I wonder what did this people install in it? KDE? hahah).
Then for cross-compiling from my desktop computer, I guess all I need is the ARM Gcc version, right? I'm in Kubuntu 11.10 so that would be the g++-4.6-arm-linux-gnueabi package (just tell me if this is not the right direction...)
I guess compiling and copying some "hello world" binary file to the Debian or Angstrom in the tablet would be enough for running it, am I right?
Probably, it's better to send an email to OpenAOS people about how they made their package. Also I think it's not a "compilation", but an "installation": standard Debian binaries installed over Archos-specific 2.6.29 kernel. I don't think they recompiled the kernel or built Debian from stratch. The way shown at http://dev.openaos.org/wiki/Debian gen8 is a working one (at least, in general: I don't know about the goodies like wifi, I didn't get that far).
3.8Gb -- it includes free space too: rootfs.img is like a virtual HDD, it contains the system, user data, and free space.
For cross-compilation you need a toolchain: a cross-compiler plus some other tools. Look for Mentor (Codesourcery), Emdebian, OpenEmbedded, Buildroot, etc. Here is a ready-made custom built one: http://forum.xda-developers.com/showthread.php?t=1328027 . Maybe Kubuntu has their own build-in toolchain too, I don't know. Which one is better for you, and how to install and use it -- it depends on many things, actually. Generally: yes, g++-arm-linux-gnueabi looks like a cross-compiler for ARM. And yes, if you cross-compile a "Hello, world!" correctly -- it will run on Archos.
Hi juannm,
welcome to XDA-Developers
juannm said:
I was thinking on buying a BeagleBoard for trying some programming in it, just wanted to see what's the power of that board when doing image processing stuff (namely playing with OpenCV). But, before spending those $130 in one, I realised that my Archos A101IT has almost the same board (SoC), well actually even a bit faster (BeagleBoard comes with OMAP3530 while A101IT comes with OMAP3630).
Click to expand...
Click to collapse
I was able to buy an A101it with was a brick few weeks ago and merely had the same intent. Thought of getting an OMAP3 platform to fiddle around with.
I started to collect some information of the hardware in use.
Luckily i was able to repair it.
For information about that look here:
http://forum.xda-developers.com/showthread.php?t=1199450
The design of the board is pretty clean and apart form running Android OS, Archos offers the SDE as people already pointed out.
You might also start from scratch and build up Ubuntu or Debian images for this device.
In fact i consider it nearly perfect for such experiments.
juannm said:
The BeagleBoard works with a linux Kernel for the OMAP architecture, so what would be the closest to bare-bones thing I could get for the A101? If this was Desktop, I'd answer "Debian with the lightest Desktop setup and OpenCV libraries installed", but in this architecture I'm lost.
Click to expand...
Click to collapse
What exactly do you mean?
It's too much to built up rootfs from scratch...
Need a starting point?
So basically you'll need to know how the boot process works on these devices, how rootfs is stored and how the rootfs gets mounted during boot up.
First i recommend to install SDE from Archos to get the alternate bootloader installed.
This way you might use bootmenu to load custom kernels and install your own rootfs on top of this.
It's too much to explain it all, so look around and read first.
Just in short:
Stock OS uses squashfs images as rootfs, which are mounted ro if you don't tweak anything.
SDE uses uncompressed EXT2 image, as far as i remember.
It might be a good idea to install UrukDroid (this will wipe out SDE, but leaves Stock OS untouched).
Afterwards you got true EXT4 filesystem, which is still Android but offers a lot of useful tools.
You'll need some background of course and it might be useful to tweak the bootloader to accept the first kernel to be unsigned as well.
http://forum.xda-developers.com/showthread.php?t=1018260
juannm said:
I see a lot of "custom kernel for you", "Ubuntu over Android" and stuff like that, but I don't get if that's what I'm looking for or just that people here are building replacements to the underlying Android kernel. As you see I'm not interested at all on the Android part of the A101.
Click to expand...
Click to collapse
As already pointed out the kernel needs hardware specific tweaks to run on the Archos devices.
So does the Beagleboard kernel.
The vanilla kernel won't do it on these platforms.
Anyway there are some projects which use standard ARM distributions (e.g. Ubuntu, Debian) to get a working Linux on top of a custom kernel, which is based on stock kernel sources (2.6.29-omap1).
If you intent to change to a newer kernel version, there's more work to do.
There'd been some progress for 2.6.35 recently.
It really depends on what you expect to have working on the device.
I might even write more on this, but i guess you'll need to get a better overview yourself.
All i might say is, that Archos give good support for the open development (at least compared to other manufacturers).
They keep their git repo up to date and try to fix bugs as well.
So start hacking and have fun!!
scholbert
Hi there,
Just wanted to add few tidbits on top of what Scholbert said which I agree with 100%:
If you want to tweak the bootloader like Scholbert said to have three different bootable kernels (main android, sde, recovery), contact me first, I have few resources that could help you and add extra safety.
However, I believe that it's not needed at first and safer to get a hold on the platform to go sde route first.
Compared to beagleboard, you won't loose much with the a101, the thing I miss the most is a serial port to help with kernel dev, but even this is possible if you're comfortable with opening the a101 and soldering.

[SUPPORT] Ouya Boot Menu Support Thread

Hello everyone,
This thread previously was a discussion area for the Ouya Boot Menu feature during its early development.
It's now being transitioned to a support area. The new project description/download page is at:
http://forum.xda-developers.com/showthread.php?t=2499673.
Thanks!
CWM Bootloop
Hal9k+1 said:
Hello everyone, attached is the ZIP of an updated CWM Recovery IMG file.
This image is based on the latest stock Ouya kernel in GitHub. The kernel contains some newer HDMI code, which will hopefully increase the chance of getting the CWM graphics showing up properly. I also turned off HDMI’s HDCP in the compile (not needed for a utility partition such as this), and grabbed a patch from Kulve’s Ouya kernel fork to really ensure HDCP bypass.
More importantly, the image contains Tasssadar’s excellent work involving KExec-HardBoot. This technology should allow for the implementation of a “fastboot boot”-related capability from a running ROM, enabling kernel chain loading. The recovery image in particular will be a place to practice with KExec-HardBoot, and come up with a booting method that could eventually be flashed to the boot/kernel partition.
It is fine (and recommended) to fastboot to this image as a quick verification of things. However, it will be necessary to flash to the Recovery (“SOS”) partition for proper testing of KExec-HardBoot, since there’s an embedded reboot (to Recovery in this case) in there. Do *NOT* flash this to the Boot.
A simple chain load test can be done by extracting “zImage” from this image, and “initramfs.cpio.gz” from your current ROM kernel. (Included is “unmkbootimg” that can help here - runs on Linux.) Push these to /tmp on the Ouya while it is running this image. Then enter the Ouya shell and do:
kexec --load-hardboot zImage --initrd initramfs.cpio.gz --mem-min=0xA0000000 --command-line=”$(cat /proc/cmdline)”
kexec -e
It should come up with this new kernel under your current ROM’s environment. As verification, you should see kexec files under /sys/kernel.
I’m looking to implement a basic chain loading application. It would come up before the Recovery and ADB services, and do the following:
% Pause for a bit, to allow any Alt-SysRq keyboard action (jump to Recovery or Bootloader) that may be needed.
% Check for any attached USB mass-storage devices (e.g., thumb drive), and look for the file “kernel.img”. Pull it in and boot it if present.
% If that failed, then look to “/system/kernel.img” on the Ouya itself, and boot it.
% And if that didn’t pan out, then exit and allow Recovery/ADB services to come up.
I hope all of this will be of help to others along the way!
Click to expand...
Click to collapse
Will this help with the problem I have?..
New update today it downloads automatically and then reboot to CWM and it fail verification...reboot system and it does all over again?...Any ideas Plz
View2Askew said:
Will this help with the problem I have?..
New update today it downloads automatically and then reboot to CWM and it fail verification...reboot system and it does all over again?...Any ideas Plz
Click to expand...
Click to collapse
Sorry, I'm not sure I understand. It sounds like the new stock firmware update is failing to go in, perhaps because of consistent download corruption. Whether you're actually being dropped in to the recovery partition is unclear. You might try the download again with the other networking type (Ethernet vs WiFi). You might also just disconnect from the network for the time being, and see if you remain in the firmware without interruption. From there you can consider setting up ADB to see if you can administer the Ouya from a PC.
My post is more for the developers at heart, just in case my investigation piqued anyone's interest. Ideally the post would go in the Development section, but I evidently need a few more posts here to unlock that area.
Best of luck!
Dual booting
Yes, please do enable dual/multi booting
Is there something I can do to help in that regard?
kulve said:
Yes, please do enable dual/multi booting
Is there something I can do to help in that regard?
Click to expand...
Click to collapse
Thanks kulve, and thank you for the kernel patch set. I need to get familiar with the offerings there.
I don't see any blockages in my plan so far; I just need to start in and see what comes up. At least it's a better feeling than the dead-ends encountered with the U-Boot and regular KExec investigations.
Someone more enterprising could possibly port in the MultiROM project, but I'll stick with this. Will let you know if I get stuck.
My findings so far...
- I've finally decided that shutting off HDCP in the build does nothing to help avoid the funky pink/purple squeezed screen that sometimes appears when CWM comes up. With my Asus monitor, I see the issue when the monitor was in sleep mode. Likewise, if I can switch the monitor to HDMI input at the same time as starting Recovery, then it's fine. It may be possible to hack in a fix by somehow starting and closing an HDMI session shortly before CWM itself starts. (I don't want to fight this too hard but would be nice to resolve.)
- I see how to pull the kernel and ramdisk out of an Android image (on the Ouya itself), so that they could be passed to KExec-HardBoot. I've done it with a script as a test but it may end up in an executable.
- I tried out a USB thumb drive. It's detected but no block device is made available under /dev -- I've finally decided that support is likely in a kernel module, which does not exist on the Recovery image. I'm probably not going to sweat this due to the next item.
- I notice that the CWM application can read the Ouya power button as something comparable to a keyboard key press. Borrowing this capability may allow us to count the button presses in a limited time range, and thus boot an appropriate image. (Would be easier than dealing with the pairing of the controller, but at least still wouldn't require a keyboard.) With this line of thought, I'm thinking the main image could sit in /system while any alternates could be in /sdcard or /data.
So in general, studying the code of the CWM application appears to be the next direction. Thanks - feel free to send any ideas.
Hal9k+1 said:
- I've finally decided that shutting off HDCP in the build does nothing to help avoid the funky pink/purple squeezed screen that sometimes appears when CWM comes up. With my Asus monitor, I see the issue when the monitor was in sleep mode. Likewise, if I can switch the monitor to HDMI input at the same time as starting Recovery, then it's fine. It may be possible to hack in a fix by somehow starting and closing an HDMI session shortly before CWM itself starts. (I don't want to fight this too hard but would be nice to resolve.)
Click to expand...
Click to collapse
What does the rendering in CWM? Is it Android or something lower level? I think my kernel has better HDMI support but for that the software needs to use that explicitly instead of the default one as there is not internal LCD panel (/dev/graphics/fb0 vs. fb1).
kulve said:
What does the rendering in CWM? Is it Android or something lower level? I think my kernel has better HDMI support but for that the software needs to use that explicitly instead of the default one as there is not internal LCD panel (/dev/graphics/fb0 vs. fb1).
Click to expand...
Click to collapse
It does look to be low-level, as CWM directly opens /dev/graphics/fb0 and uses ioctl() on it. I've decided to try my own compile of CWM as it does look to be a nice base for the booting effort. Will definitely look to your patches for the improved HDMI when I'm all ready -- thanks!
Hal9k+1 said:
It does look to be low-level, as CWM directly opens /dev/graphics/fb0 and uses ioctl() on it. I've decided to try my own compile of CWM as it does look to be a nice base for the booting effort. Will definitely look to your patches for the improved HDMI when I'm all ready -- thanks!
Click to expand...
Click to collapse
I noticed your comments related to this on the "Ouya CWM Recovery" thread but I'm not allowed to post there, so I'll post here.
Or actually repost as I'm mostly repeating myself. I had all kinds of issues in getting output using /dev/graphics/fb0 in Linux with the stock Ouya kernel but after some fixes the fb1 seems to work quite reliable. I get the output even if I don't have HDMI plugged in during the boot and it chooses the right resolution both for my TV (1080p) and for my monitor (1680x1050).
To all: I have updated the attachment that's present on the first post. I've synced to the latest Ouya kernel and pulled in the next HDMI patch set from Kulve. My HDMI issue now appears to be fully resolved.
Kulve: Thanks so much for refocusing me! I should have grabbed the patch from day 1, but that summary description had me a bit spooked. Note that I kept the HDMI/PRIMARY symbol enabled, so there's still only the fb0 device on this kernel.
With this handled and due to my thinking in general, I'm going to back away from trying to compile CWM itself -- I don't want to invest in CM10.1's environment at this time. Instead I will borrow CWM's UI and input technology to build an independent front-end with this Ubuntu/glibc environment I have working. My idea is to release another Recovery image when that's ready so we'll have a chance to practice/debug before moving to the Boot image.
Hal9k+1 said:
Kulve: Thanks so much for refocusing me! I should have grabbed the patch from day 1, but that summary description had me a bit spooked. Note that I kept the HDMI/PRIMARY symbol enabled, so there's still only the fb0 device on this kernel.
Click to expand...
Click to collapse
Hit the Thanks button
Anyway, do you have your kernel source code somewhere? Being able to use multiple resolutions on HDMI while keeping it as primary might be something that many Ouya Android gamers want as they might be able to play at 720p then.
ooo nice, ill try it out and see what happens
kulve said:
Hit the Thanks button
Anyway, do you have your kernel source code somewhere? Being able to use multiple resolutions on HDMI while keeping it as primary might be something that many Ouya Android gamers want as they might be able to play at 720p then.
Click to expand...
Click to collapse
Done! :laugh:
My modified files were tarred up and placed in the ZIP; let me know of any possible issue. I'm not planning on a GIT account, but anyone may feel free to pull anything back to their project. Also I understand that sticking with HDMI/PRIMARY may reduce some of the capability/flexibility you're seeing, but I wanted to stay honored to the Android/CM layout expectation if possible.
Hal9k+1 said:
Done! :laugh:
My modified files were tarred up and placed in the ZIP; let me know of any possible issue. I'm not planning on a GIT account, but anyone may feel free to pull anything back to their project. Also I understand that sticking with HDMI/PRIMARY may reduce some of the capability/flexibility you're seeing, but I wanted to stay honored to the Android/CM layout expectation if possible.
Click to expand...
Click to collapse
Any chance of getting some concise installation instructions?
zondajag said:
Any chance of getting some concise installation instructions?
Click to expand...
Click to collapse
Here's a quick executive summary until I can update the 1st post.
I'm reminded there's another XDA project (Ouya Safe Recovery) with a very similar goal as this, and works by reversing the Boot and Recovery concepts. However it's completely incompatible with us, and those users should not be doing any flashing -- at least not until we have a Boot image ready.
First step is to get rcvy092613.img to the Ouya in its /tmp directory. This may be done with an "adb push rcvy092613.img /tmp" command, or can by done through Secure Copy if an appropriate SSH server is set up.
Next step is to access the Ouya shell, either running from the main ROM or from a Recovery ROM. Be sure to become root (ensure "#" in the prompt) as needed.
Run the following to back up the old image:
cd /dev/block/platform/sdhci-tegra.3/by-name/
dd if=SOS of=/sdcard/old_rcvy.img
Make sure the new image is correct - should see "2a882d1ba8c2d543503cacb49ab0d397":
md5sum /tmp/rcvy092613.img
On to flashing Recovery:
dd if=/tmp/rcvy092613.img of=SOS
Now wait at least a full minute in case there is any internal flushing still taking place. And to finish up:
sync
reboot recovery
Aye....never enough time to tinker it seems, especially with getting over this flu.
At this point I have my own compiled code splitting the boot image file, as well as counting the power button clicks.
I want to see if I can make a welcome/instruction screen, probably by getting CWM's minui down to its core essence. From there it will hopefully just be normal integration work to achieve a new Recovery for testing.
Everyone, a new boot menu is ready for testing. Please read through the first post to see if you'd like to try it out. Apologies once again for the delay in getting this ready.
Hal9k+1 said:
Everyone, a new boot menu is ready for testing. Please read through the first post to see if you'd like to try it out. Apologies once again for the delay in getting this ready.
Click to expand...
Click to collapse
Did I read correctly that the image support multibooting?
kulve said:
Did I read correctly that the image support multibooting?
Click to expand...
Click to collapse
Hi again Kulve. It supports three Android boot images - the main + two alternates: kernel.img, kernelA1.img, & kernelA2.img. It prefers to see the selected image in /sdcard, but will shift to /system as needed.
So, it is multi-booting, but you should keep in mind that there is still only the single /system partition. So installing two normal ROMs together probably won't work out, due to that common storage area. However, one of the ROMs could be based out of /system, while any others could use some form of external/networked storage. Note that the Android image format contains both the kernel and the initial ramdisk, so I feel that a multi-boot arrangement could be done.
Hal9k+1 said:
Hi again Kulve. It supports three Android boot images - the main + two alternates: kernel.img, kernelA1.img, & kernelA2.img. It prefers to see the selected image in /sdcard, but will shift to /system as needed.
So, it is multi-booting, but you should keep in mind that there is still only the single /system partition. So installing two normal ROMs together probably won't work out, due to that common storage area. However, one of the ROMs could be based out of /system, while any others could use some form of external/networked storage. Note that the Android image format contains both the kernel and the initial ramdisk, so I feel that a multi-boot arrangement could be done.
Click to expand...
Click to collapse
My kernel is hard coded to mount the Debian (or whatever) rootfs from /dev/sdaX so Ouya's internal partitioning doesn't matter. It would be really cool to be able to put kernelA1.im to /sdcard, an USB flash drive to the USB port and boot to Debian without tinkering with adb/fastboot/etc. on a PC.
I'm not currently using any initrd-images but adding something simple should be straightforward.

Linux On Nexus Player?

I was wondering if it would be possible to install linux (ubuntu) on the Nexus Player? I feel like this would be the perfect device for this.
No. Seriously. This is worthwhile. Small footprint, capable hardware. No significant hurdle.(?)How? Tutorial! Please!
lefigue said:
No. Seriously. This is worthwhile. Small footprint, capable hardware. No significant hurdle.(?)How? Tutorial! Please!
Click to expand...
Click to collapse
Agreed. The only thing I can see possibly being a problem is getting 3D acceleration working because of the PowerVR GPU. Everything else on this device seems well suited for Linux. Would just need a boot image akin to Ubuntu Touch on the old Nexus 7. Sadly I haven't seen anything that would help get this started on the Player, and I currently don't have the experience to start it myself.
Uh, it's already running Linux. It sounds like you just want to run a different Linux distribution than Android. Shouldn't be difficult. You can run debootstrap on a clean system partition from recovery. You'll need to modify the boot image to run your distribution's init instead of trying to boot android. I would just look at the Ubuntu phone images for an idea of how they do it.
hackel said:
Uh, it's already running Linux. It sounds like you just want to run a different Linux distribution than Android. Shouldn't be difficult. You can run debootstrap on a clean system partition from recovery. You'll need to modify the boot image to run your distribution's init instead of trying to boot android. I would just look at the Ubuntu phone images for an idea of how they do it.
Click to expand...
Click to collapse
It's usually not that simple. The boot partition from the examples I've seen (Ran Ubuntu desktop on my Nexus 7 2012) has to contain the kernel for the regular Linux install. I haven't looked into how big the partition is on the Player, but I know I had issues getting a mainline kernel to fit on the 8MB of the N7 2012. Plus most of the people here (including myself) wouldn't know where to even start at trying to get this to work for the Player (Hence why we ask in a community that has the expertise to possible pull it off). Specs wise the Player could be a fairly nice cheap NUC (If the PowerVR has support, that would be even better)
parkerlreed said:
It's usually not that simple. The boot partition from the examples I've seen (Ran Ubuntu desktop on my Nexus 7 2012) has to contain the kernel for the regular Linux install. I haven't looked into how big the partition is on the Player, but I know I had issues getting a mainline kernel to fit on the 8MB of the N7 2012. Plus most of the people here (including myself) wouldn't know where to even start at trying to get this to work for the Player (Hence why we ask in a community that has the expertise to possible pull it off). Specs wise the Player could be a fairly nice cheap NUC (If the PowerVR has support, that would be even better)
Click to expand...
Click to collapse
You are not making sense. Usual linux distro has a boot partition that contains 1 or more kernels, and 1 or more ramdisks that match those kernels. Usual linux distro also has a multi-boot boot loader, which is able to select between the available kernels and ramdisks. An android device is arranged such that it has a SINGLE-boot bootloader, and its boot partition is just a kernel+ramdisk stuck together. You can stick a ubuntu kernel and ramdisk together in the EXACT SAME WAY, if that is what the bootloader requires.
As far as "getting a mainline kernel to fit... blah blah blah", the thing is... mainline kernel isn't any bigger than what you have. The difference with a "typical linux kernel" is that it isn't built with just the drivers that support that specific device, it is built with pretty much EVERY common driver built in, so that it will work on most hardware without being rebuilt. Delete the crap that you don't need, and it should fit just fine.
OR for that matter, what makes you think that something like Ubuntu won't work just fine with a kernel built for Android? Android runs on a LINUX KERNEL. Just change out the ramdisk for one more suitable for... whatever, and call it good.
Now the big question I would have about doing this.... is WHY? Nexus Player is awesome BECAUSE it runs Android TV. If you are looking to run a desktop linux on a thing that plugs into your TV, look into something like an INTEL COMPUTE STICK.

Categories

Resources