Related
The purpose of this document is to clarify a few basics about HTC Android Phones and basic commands to interface with the phones. Think of this as a beginner's guides to the Android device from a non-traditional user's point of view. I'll keep it simple and plain as much as I can for the new users. I'll also try to keep all the technical aspects true as much as I can while keeping it simple.
Before you go on, please read this and understand the basic concepts and how and why following commands are being used. Do not follow anyone's instructions/tutorials/guides without prior basic understanding of what each command do. I do want to believe it's humans visiting this forum and not lemmings. If you do not understand, feel free to ask here. I will or someone else also knowledgeable will answer your questions. DO NOT QUOTE THIS AS A WHOLE. My pet peeves and a complete waste of screen space.
Sometime, depending on your OS, command names may change (e.g: mouse / mouse.exe / mouse-linux / mouse-mac). For general purpose, we'll use mouse instead of an OS specific commands in this instructions.
So to repeat myself, if you understood the concepts of the commands, and you are on a linux system and someone's guide says touch index.php, you will automatically type touch-linux or whatever the name of your executable is on your system.
We shall assume you know how to install needed drivers and where to get android sdk and put the sdk binaries (executables) in the system path. If we need to expend this let me know and I'll expend this here.
Further, if I get any parts wrong, PM me and I'll get those parts corrected.
Android Partition, SPL etc.
Partitions:
Followings are a list of partitions on your android phone.
misc - misc partition -
recovery - Recovery Partition - This is where the original HTC recovery or Amon Ra's recovery or any other Recovery would go. Basically if you reboot into recovery it'll boot from here.
boot - This is your boot partition
system - This is where all your system information (ROM resides)
cache - cache (When you factory reset the phone, this area is wiped)
userdata - user data (like your login, your user settings etc) When you factory reset the phone, this area is wiped)
So, if you replace the recovery image, you are pretty much set for updates provided here at XDA. Note: By replacing your recovery image, you may not be able to have OTA updates.
ROM images will normally replace boot and system images at the same time and often time, userdata and cache too; reseting the phone completely.
SPL/Bootloader/Radio/Bricking Phones:
SPL / Bootloader is like BIOS on a computer. At least I think of it that way. SPL can be updated! SPL comes as either Security-On of Security-Off (S-ON/S-OFF).
Note: It is my understanding that radio will boot first, followed by other systems. So it is IMPORTANT that your radio image/version will work with your SPL image/version. This is the one and only reason for phones being bricked. You can not brick your phone by flashing a ROM or Boot image or recovery image. Once you flash the wrong radio for the SPL, the only known method of recovery is to send the phone back into HTC for repair.
How do I know the phone is bricked? A bricked phone can not boot into bootloader, recovery, or into normal operation modes. You can not connect to a bricked phone via adb or fastboot. You can only see one screen on the phone and it will be the first splash screen.
Commands:
adb - Android Debug Bridge - One of the two things you'll need to know if you ever want to do anything non-conventional on your android based phone.
List of commands that can be used by adb can be prompted by typing adb at the system shell (command prompt or terminal)
Notable adb commands:
adb devices - If you don't know anything, this is the ONE thing you have to know.
adb devices will give you a list of devices connected to the computer. This is also a good way to make sure that your phone is actually connected to the computer.
adb reboot (bootloader|recovery)
adb reboot - this will reboot your phone normally.
adb reboot bootloader - this will reboot your phone back into the bootloader (white screen with the android on wheels)
adb reboot recovery - this will reboot your phone back into recovery console (either default or amon_ra's recovery).
adb shell - this will shell into the phone and you can now explore the phone. Remember phone's native backend os is linux so know your linux commands.
adb remount - remounts the system partition on the phone so you can you read/write to it.
adb push xxx yyy - will push xxx file from computer into yyy location/file on phone (needs rooted access)
adb pull xxx yyy - will pull xxx file from phone into yyy location/file on computer (needs rooted access)
Fastboot is protocol used to update the flash filesystem in Android devices from a host over USB. It allows flashing of unsigned partition images.
Notable fastboot commands:
fastboot devices - If you don't know anything, this is the ONE thing you have to know.
fastboot devices will give you a list of devices connected to the computer. This is also a good way to make sure that your phone is actually connected to the computer.
fastboot reboot - this will reboot your phone normally
fastboot oem unlock - this will unlock your bootloader - NOTE THIS WILL VOID YOUR NEXUS ONE WARRANTY
fastboot erase XXX - Will erase the partition XXX (such as userdata, cache) - mainly used for resetting phone and clearing userdata / factory settings.
fastboot flash XXX YYY - This will flash XXX partitionn with YYY image.
e.g: fastboot flash system system_update.img will flash/update your system partition with an image called system_update
If anyone needs me to dig deep into using anything else, please PM me. I'll add it on here. Hopefully this will help all newbies about the basic commands and what they do.
FAQs (UPDATED Feb 09, 2010)
Q: One question about the Android SDK. Do I need it to flash my N1 or just to program new apps? Where can I get it?
A: Android SDK is not entirely needed to flash the N1. However, there are tools in there that you need. Adb / Fastboot etc. Although they can be downloaded by themselves, the windows version of the SDK also have the Drivers that are needed for android devices for USB connection. So, it is recommended to get it. You can get it from developer.android.com
Q:I have never experienced anything like this when I did a hard-spl on my winmo phone. Radio versions are included with SPL's, right?
A: Official packages from HTC did come with nbh packaging, meaning it is a all in one upgrader that will update Radio, ROM, System etc, it is very much common for active development area here at XDA to get the radio or SPL or ROM separately and independently of one another. And as such, you will most likely flash them seperately (who wants to wait 6-8 months). Also, since this phone is released by google, HTC will most likely not update any major Radios. However, it is very likely that we will be hacking in Radio updates or any other "updates" from HTC from their new device - HTC Bravo.
Q: Is there a guide for snow leopard? I'm kind of stuck.
A: I personally ran android SDK and aforementioned executable on both MAC OS 10.5 and 10.6. Like I posted, the commands and the executable names may be slightly different. I may call adb and you may find it as adb-mac. I am not going to write 3 separate documents for 3 separate OSes. You have to know that adb=adb-mac (on your mac), adb-linux (for linux) etc. And yes the above guide will work universally.
Q: Can i replace the splash image..?? (unlocking related)
A: As of the above date (next to the FAQ) no you can not. Issue is probably a few folds. One of them is that splash1.img is not going in due to security lock. Remember, you unlocked the phone. HTC will not like it. Anyhow, I like the current quad color X. If you are thinking of getting rid of the lock logo, good luck. Even if you can get rid of it, you will still have to overcome the pink text that says ***UNLOCKED*** on your bootloader.
Q: Can you run Windows Mobile on Android Phones?
A: With enough resources given, sure. Will it ever happen? No. Why? Windows mobile compiler and builder cost $. As a matter of fact, as of version 5, it was going to cost me $75 per device. That's one of the reasons why handset makers went to Android open platform. Android is free and universal so as long as you use certain chipsets and certain items, you are good to go. Can it ever be ported? Sure. With right amount of time and money anything can be done. But at this point, it's cheaper for you to go buy a windows mobile smartphone.
Q: How do I know the phone is bricked?
A: You can not brick a phone unless you are flashing Radio/SPL packages. Make sure if you are doing that, you follow directions VERY CAREFULLY. A bricked phone can not boot into bootloader, recovery, or into normal operation modes. You can not connect to a bricked phone via adb or fastboot. You can only see one screen on the phone and it will be the first splash screen.
Q: I have installed the Android SDK however, i cannot seem to get the laptop to detect the nexus. What have i left out?
A: Most common item that people forget to enable is USB Debugging. Settings => Applications => Development => USB debugging [checked]
Q: I have rooted n1. when I go to recovery to do backup, I get the triangle with the little green android guy, but phone is stuck there. I have to remove battery to reboot phone. What have I done wrong?
A: You still have the stock (shipping) recovery. If you want a different recovery (Amon RA's), download it, the from fastboot, run fastboot flash recovery downloaded_recovery.img
Q: Which step of the rooting / recovery procedure does it give root?
A: Root and Recovery are two totally different things. Recovery is a partition that contain recovery information. Stock recovery is what allows OTA updates etc. Normally it will search for update.zip in the root folder of the SD card. Amon_RA's Recovery or any other recovery images are there to enhance the traditional stock recovery. Amon Ra's Recovery for example, contains thing such as ability to update from different zip files, and backup/restore of your data/system.
Rooting is not done by recovery but is a kernel level access (simply put) that will give root or "SU". It is done by patching the boot partition of the your android device.
Q: What are the differences, advantages, disadvantages of the different ROM's?
A: They are all different. Some have some features, some are plain stock, some are made for bleeding edge kernel etc. You'll have to try them out and figure out yourself. I may make a chart of what they are (see the bottom at my signature - wiki) but with too many android devices, I will need some major help. One person alone will not have total knowledge of all the ROM releases. There are just way too many devices and ROMs.
Q: Which ROM will allow OTA updates?
A: Stock ROM WITH Stock Recovery.
Q: If the phone is SIM/carrier unlocked and you root do you have to SIM unlock again?
A: SIM/Carrier unlock has nothing to do with rooting your phone. You can still have root and still be carrier locked. Nexus One comes carrier unlocked from factory.
Q: How much space is there for apps? is using the sd card really necessary? (on Nexus One)
A: Search google? The phone has 512MB or space. That SHOULD be more than enough for you. If not, you have some serious issues. I do not believe you will not App2SD for Nexus One. Google did say during the release conference that they will update Android/N1 so that apps can be run/installed to SD but that requires some system and security changes (mainly to prevent pirated software - Yes if I write something, I deserve to get paid for it).
Q: When you do "flash zip from sdcard" or "fastboot flash image" does this merge and overwrite the files in to the partition?
A: When you update a software (via recovery), software my be merged. However, if you fastboot flash, just like the word flash says, it will flash and overwrite the partition.
Q: Which partition does "flash zip from sdcard" affect?
A: Depends on what you are flashing. It could be any or all of the partitions such as SPL, Boot, System, Recovery, Radio. You should study first before randomly flashing things.
sorry, got it!
blakestimac said:
i apologize if this is the wrong place for this but, but i have adb setup perfectly, but fastboot is not recognized at all. could i have missed something?
Click to expand...
Click to collapse
I need your system info.
What os are you running? where did you get fastboot? what are you trying to do?
Don't forget fastboot boot for testing images. My most used command
I still have no idea how to use or setup adb i have downloaded the sdk and used fastboot and superboot to root my phone and am currently running the cm 5.0 beta 2 rom and want to learn how to use adb so i can enable the ram. Thanks, Joe
really a noob question here.....it wa easier with Hero.
i have installed the Android SDK
however, i cannot seem to get the laptop to detect the nexus.
what have i left out?
wishmaker738 said:
really a noob question here.....it wa easier with Hero.
i have installed the Android SDK
however, i cannot seem to get the laptop to detect the nexus.
what have i left out?
Click to expand...
Click to collapse
Check the FAQ.
dylanfan424 said:
I still have no idea how to use or setup adb i have downloaded the sdk and used fastboot and superboot to root my phone and am currently running the cm 5.0 beta 2 rom and want to learn how to use adb so i can enable the ram. Thanks, Joe
Click to expand...
Click to collapse
Ok. I need to know what you actually did. I am not understanding what you are trying to do.
Can't run adb commands - device not found
Thanks for the info. I am having an issue with running adb commands. My phone is rooted via superboot and I tested it with Nexus Torch which works. Now I am trying to install the new kernel so I can run the wireless tether app... but I can't get any of the adb commands to recognize the phone. I boot the phone by holding the trackball and power button. I am in USB debugging mode. When I run fastboot devices, the phone serial number shows up. When I run adb devices, it says no device detected. And when I try to run any other adb commands they do not work, even though fastboot commands work. Any ideas? Thanks.
Sorry i was pretty vague before i down loaded the sdk and also installed the adb setup file included with the superboot pack but just have no idea how to get it to work and add things through adb. I tried typing adb commands into comand line with the phone connected to the computer but nothing happend. just said not recognised command so i just basically need a rundown of how to setup adb.
dylanfan424 said:
Sorry i was pretty vague before i down loaded the sdk and also installed the adb setup file included with the superboot pack but just have no idea how to get it to work and add things through adb. I tried typing adb commands into comand line with the phone connected to the computer but nothing happend. just said not recognised command so i just basically need a rundown of how to setup adb.
Click to expand...
Click to collapse
I'm a noob so can't offer much help...but I would make sure the usb drivers are installed if you're using windows....this probably should have happened when you installed the sdk, but you can also install it through the device manager and point it to the folder where the usb drivers are located. Also make sure the phone is in USB debugging mode. also you may need to reboot your pc. Make sure you have setup running when you run the adb commands. you need to be in the same directory as the adb file, or in the case of the superboot pack you need to type "adb-windows" not just "adb". you may also need to put .exe, ie adb-windows.exe.
pwnvds said:
Thanks for the info. I am having an issue with running adb commands. My phone is rooted via superboot and I tested it with Nexus Torch which works. Now I am trying to install the new kernel so I can run the wireless tether app... but I can't get any of the adb commands to recognize the phone. I boot the phone by holding the trackball and power button. I am in USB debugging mode. When I run fastboot devices, the phone serial number shows up. When I run adb devices, it says no device detected. And when I try to run any other adb commands they do not work, even though fastboot commands work. Any ideas? Thanks.
Click to expand...
Click to collapse
You run fastboot from the white screen. Android on non-white screen. It's one or the other. It's ADB or Fastboot (depending on the mode of the phone).
dylanfan424 said:
Sorry i was pretty vague before i down loaded the sdk and also installed the adb setup file included with the superboot pack but just have no idea how to get it to work and add things through adb. I tried typing adb commands into comand line with the phone connected to the computer but nothing happend. just said not recognised command so i just basically need a rundown of how to setup adb.
Click to expand...
Click to collapse
Is the directory where ADB/fastboot (SDK) is installled in your system path?
I am guessing it's not. If it was, just by typing adb alone (without commands), it'll give you a list of commands. Click here if you want to know how to change your system path to include a particular folder.
We're now in the age of nintendo pilots and point and click OS that no one knows how to use command lines and system paths anymore.
recovery
I have rooted n1. when I go to recovery to do backup, I get the triangle with the little green android guy, but phone is stuck there. I have to remove battery to reboot phone. What have I done wrong?
umplarry said:
I have rooted n1. when I go to recovery to do backup, I get the triangle with the little green android guy, but phone is stuck there. I have to remove battery to reboot phone. What have I done wrong?
Click to expand...
Click to collapse
Answered in FAQ area.
seraph1024 said:
Answered in FAQ area.
Click to expand...
Click to collapse
I tried that before I posted. I searched the FAQ again. Maybe I am a complete DA, but still can't find answer. I don't mind searching, it will help me to learn, but could you point me in the right direction in FAQ?
umplarry said:
I tried that before I posted. I searched the FAQ again. Maybe I am a complete DA, but still can't find answer. I don't mind searching, it will help me to learn, but could you point me in the right direction in FAQ?
Click to expand...
Click to collapse
Q: I have rooted n1. when I go to recovery to do backup, I get the triangle with the little green android guy, but phone is stuck there. I have to remove battery to reboot phone. What have I done wrong?
A: You still have the stock (shipping) recovery. If you want a different recovery (Amon RA's), download it, the from fastboot, run fastboot flash recovery downloaded_recovery.img
Click to expand...
Click to collapse
There you go.
seraph1024 said:
There you go.
[/B]
Click to expand...
Click to collapse
Thanks for your help
seraph1024 said:
There you go.
[/B]
Click to expand...
Click to collapse
I had it downloaded, just had not flashed it
I've been looking all over, but I probably need to check the HTC Dream forum or something.
How do I install a custom ROM? I know you have to adb push update.zip somewhere, but I can't find any info about this. Please help.
Hi All
So, I am a little confused about how to replace my kernel. My mate has a nexus one, and his boot loader allows him to load a kernel from USB into ram to test it which is pretty sweet. If its broken, just power cycle and it gone.
I have managed to compile a gt540 kernel from the sources provided by LG, with some extra modules - hid bluez, iptables, cifs and usb host. But I am at a loss as to how to test this.
From what I can gather, the boot loader is separate from the internal file system. Obviously the nexus one has an awesome boot loader already, but I can't make my gt540 load a boot loader screen.
I had a look at (but didn't install) ClockworkMod Recovery but that doesn't look like it will help me either. I don't want to just replace the zImage kernel file on the filesystem with my new built one by hand, and reboot - if it goes wrong how do I get the old one back?
Is there anyway to have both the kernels on the device, and choose which on to load just like a big-boy computer? I am currently running Quarx 2.1 Black Edition ROM.
Sorry if this has been answered elsewhere, I had a pretty good look and couldn't find anything.
My whole goal is to be able to get some hardware buttons talking to my phone so I can play snes If I can't get an hid bluetooth profile going so i can use a bluetooth keyboard, I'll use usb host mode with a hacked up joypad with batteries inside (if the usb port doesn't supply power).
I think that it would have to be on like a memory card. Maybe some software that when you boot your phone, it will give you the option to boot from phone or memory card. That would be good! Like a bootable dvd in a computer, gives you the option to boot from it or not.
Sent from my GT540 using XDA App
Right, I worked it out. I didn't realise what "fastboot" mode was for. The rom I have installed has a fastboot already, so I turned the phone off and held volume up, search, and power all at once until the fastboot screen appeared.
Then, I plugged in my phone to usb and waited a few seconds running "./fastboot devices" - the fastboot command comes from somewhere, I am not sure where.
The output was :
Code:
[email protected]:~/android-sdk-linux_x86/tools$ ./fastboot devices
???????????? fastboot
[email protected]:~/android-sdk-linux_x86/tools$
Then, I ran the command:
Code:
[email protected]:~/android-sdk-linux_x86/tools$./fastboot boot ~/android-ndk-r4b/GT540_OpenSource_V2.1/kernel/arch/arm/boot/zImage
and it appeared to boot the kernel I built
I haven't confirmed that the kernel is the correct one, but at least I have a process that /should/ work. I need to recompile the kernel with a different version.
Hi chaps,
I've just bought a Galaxy tab with plans to port Meego to the device.
I'm new to all the Android stuff, and tbh the myriad methods for doing this/that/the other and the relative lack of explanation of what's actually being done in these various methods/tools is quite confusing (and worrying).
So, if you'll bear with me, I have a few questions which are probably quite basic.
I've rooted my Tab using SuperOneClick, no problems there, I also understand that there is a leaked flashing tool called (Multi)Odin and an open source flashing tool called Heimdall. I understand adb.
So onto the questions:
Before I start messing about, how should I backup my existing firmware image? I see people talking about taking image dumps using dd, or Odin or Heimdall. What is the preferred method? And how should one then restore the device from these backups?
Alternatively is it possible to simply download the firmware directly from Samsung (I see links to later firmware, but really I'd be happy with what I have currently - P1000XXJK5 and FROYO.XWJJ7)?
I'm assuming that the best installation method would be to replace recovery, then I can add my own kernel and have it boot a rootfs mounted on the external SD card for example. Any thoughts?
I've seen one thread about people compiling their own kernels, with panics and the like which are solved by giving the full path to the initramfs extracted from the existing image. Any clues as to why the built version doesn't work? This is not so important as I can have a look at this when I build the Samsung source.
Is anyone looking at the bootloaders? Is there any information anywhere about them (as changing the bootloader to allow selection of the kernel to be booted would make life easier)?
Thanks for your patience!
Ok, so to partly answer myself, I see www dot samfirmware dot com has links to downloads of firmware images.
I'd really prefer to generate my own image of what's currently on the device rather than trusting a download site, but I guess it's better than nothing. Does anyone know how these images were generated anyway?
lardman said:
Ok, so to partly answer myself, I see www dot samfirmware dot com has links to downloads of firmware images.
I'd really prefer to generate my own image of what's currently on the device rather than trusting a download site, but I guess it's better than nothing. Does anyone know how these images were generated anyway?
Click to expand...
Click to collapse
Samfirmware get their images direct from Samsung insiders. They are not dumps.
If you want to dump from your device search "rotobackup" here in the dev forum.
Sent from my GT-P1000 using Tapatalk
alias_neo said:
Samfirmware get their images direct from Saunaing insiders. They are not dumps.
Click to expand...
Click to collapse
Ok that's reassuring.
alias_neo said:
If you want to dump from your device search "rotobackup" here in the dev forum.
Click to expand...
Click to collapse
Great, just what I was looking for, many thanks
So some more questions:
Any limit to the size of the kernel? Presumably just the size of the partition (which after extracting the image for backup seems to be a pretty large 15.4MB)?
What do all the .rc files in the raminitfs do? They are as follows: fota.rc, init.goldfish.rc, init.rc, init.smdkc110.rc, lpm.rc, recovery.rc
The init.rc is the normal init.rc file, so that's fine. Presumably the recovery.rc file is run if the bootloader detects that recovery mode is wanted (holding down keys during boot). The init.goldfish.rc? I guess this is to do with the emulator, though why it would be in a release image I don't know.
I assume that init.smdkc110.rc is automatically run somewhere along the line, though I don't see where it's started.
Any thoughts on lpm.rc and fota.rc? Are multiple .rc files run for the normal and recovery boots?
Thanks
lpm.rc is for low power mode that displays battery charging animation
goldfish is for running the rom under qemu.
backup your rom using rotobackup. compile samsung's kernel from sources, mix up default initramfs with meego's init scripts. pack all Meego stuff into loop mounted disk image. then flash zImage to kernel and your disk image to factoryfs using heimdall. I assume you have experience hacking N8xx/N900 and Maemo or Meego?
factoryfs is around 300MB so I think it should fit Meego and it (and kernel) can be easily restored with heimdall.
Thanks for the comprehensive reply
Yes I do have experience hacking Maemo/Meego, though have never really had to fiddle with init scripts before and this is as good a reason as any to learn.
I'd actually like to dual boot, so am modifying recovery.rc to bring up the Meego system on the external SD card.
Am just fiddling about building extra kernel modules now (needs btrfs for my image for example) and modifying the recovery.rc file.
Hmm, well I was all set to go and flash my new zImage and was looking for the heimdall command line, when I saw this at the top of one of the threads in this part of the forum (http://forum.xda-developers.com/showthread.php?t=870690):
Restoring to factory after using this process (you need using stock images):
heimdall flash --kernel stockzImage --recovery stockzImage --factoryfs factoryfs.rfs
Click to expand...
Click to collapse
Which has made me worry a bit that I've missed a recovery partition with its own kernel and wrongly assumed that the same kernel is used for both recovery and normal running, just with a different .rc file to be interpreted by init.
Any thoughts?
Do we trust the partition sizes reported here: http://forum.xda-developers.com/showpost.php?p=9471190&postcount=14
They seem very small for the kernel partition. I used RotoHammer's dd method to grab the contents of the partitions as a backup, so am assuming the sizes shown above are not correct (or represent something else?)
Going back to RECOVERY and ZIMAGE partitions - the ZIMAGE partition contains a recovery.rc, the question is really whether, even if they use the same zImage in both the ZIMAGE and RECOVERY partitions, the version in the RECOVERY partition is actually booted if recovery mode is selected (by holding the up volume key, etc.)? OTOH it may be that the RECOVERY partition is either empty or unused, has anyone tested specifically to see whether recovery.rc is run from the ZIMAGE partition?
Well I think I can answer my own question there, I flashed my modified kernel (modified recovery.rc) only to the KERNEL partition, and it boots normally if I don't touch anything, and just gets stuck on the first Samsung screen if I boot in recovery mode.
So it's doing something, I just can't tell what. Not sure if any kernel messages are getting lost behind that image, or perhaps they aren't even output to the framebuffer at all. I seem to remember seeing something about disabling the splashscreen so I'll go and have a look for that. Anyone got any other suggestions?
P.S. I also note there's a flash of screen corruption as the device starts up with my new kernel, I don't remember seeing that before. Is this a usual occurance?
I see from the Nexus S port that including adbd in the image seems to be the way to go for early messages, I'll need to generate a new Meego image and have another go later on.
Interesting, I can't see that I've done anything wrong, and my extra init shell script is not started. I am trying to use the "exec" keyword in recovery.rc to start a shell script which will pass control to the Meego rootfs. At the start of my shell script I start adbd (i.e. still within the initramfs), so I should be able to tell if it has started, and it doesn't appear to do so.
Therefore I did some Googling, and I've seen that in some cases the initramfs init does not implement the "exec" keyword (http://forum.samdroid.net/f9/new-init-exec-import-implemented-3280/). This is troublesome for me as it's what I'm trying to use, but at least would explain why I don't seem to leave the init process
I couldn't see the Samsung specific source for init anywhere, has anyone found any? I'm not happy to replace it using the standard Android source as I'm guessing there's code missing which allows the bootloader to tell init how the device was started so that it knows which of the .rc files to run. Has anyone looked into this?
Thanks
Looking at the code in that link it looks pretty straightforward, just a case of parsing the kernel command line (though I might just reverse engineer the existing init first to make sure I'm not missing anything).
Would still be easier to get the actual source code from Samsung, so I've emailed their Open Source group.
lardman said:
P.S. I also note there's a flash of screen corruption as the device starts up with my new kernel, I don't remember seeing that before. Is this a usual occurance?
Click to expand...
Click to collapse
I get it with CM
Does CM use a compressed initramfs? I'm using one of those and wondering if it's something to do with the (admittedly small) extra time required to move to init.
I don't have my Tab with me here, could someone post the output of /proc/cmdline please? You'll need to be root. Thanks.
Well it's booting you'll all be glad to hear.
More details to follow, but from memory the following were required:
Custom kernel to add btrfs support (as the image I'm booting is a btrfs partition on the external SD); kernel patch to allow compile-time cmdline to be added to the end of the bootloader cmdline (to enable console=tty0); replace Android init with init script to perform some basic setup then pivot_root to the Meego partition.
Next steps are to get the Meego system running usefully (which includes getting a terminal as currently I just have a login prompt but no way of inputting anything!) and also seeing whether I can get dual booting working with an Android system standard boot and Meego replacing the recovery boot.
Poor pic, but still: http://people.bath.ac.uk/enpsgp/Tab/PICT0040.JPG
Good stuff. Thanks for keeping us informed.
After you've got the groundwork for this done, how easy would it be to get Ubuntu running?
Try google http://lmgtfy.com/?q=ubuntu+on+galaxy+tab
Sent from my GT-P1000 using XDA App
brilldoctor said:
Try google http://lmgtfy.com/?q=ubuntu+on+galaxy+tab
Sent from my GT-P1000 using XDA App
Click to expand...
Click to collapse
That's using chroot, which I don't want. I want it running natively.
Sent from my Galaxy Tab
nsboot - NinjaSwag Bootloader/Installer
WILL REPLACE smackme2 and kexecboot!
Source: https://github.com/willcast/nsboot
Kernel source: https://github.com/willcast/ubuntu-kernel-tenderloin/tree/kexec (kexec branch, not Ubuntu)
Binary: https://docs.google.com/file/d/0B4WUjKii92l2Ukl4TE1EM1pjTDg/edit?usp=sharing
I have been working on this for about 2 weeks...
Features
Touch screen based interface
Able to boot kexec kernels
Able to install Android and Native Linux OSes, kexec tar files, and uImage kernels
Able to back up entire volumes as .tar.gz (with permissions & ownership)
Directly compatible with smackme and kexecboot config files
Can replace moboot entirely with the touch of a button.
Integrated file browser
Software touch keyboard available
Haptic feedback
uImage is < 4 MiB
Loads 3x faster than kexecboot
Has integrated ADB server so you can push and pull files from any mounted FS, or run a local shell.
Known issues so at this time
Colors are messed up in included TWRP recoveries
Things still to be tested
nothing as of now
kexec images for reference
webOS 3.0.5: https://docs.google.com/file/d/0B4WUjKii92l2WU9fdkNZa0V5NUk/edit?usp=sharing
Arch Linux ARM: https://docs.google.com/file/d/0B4WUjKii92l2YWRFUWJoMkpXRzg/edit?usp=sharing
Ubuntu: https://docs.google.com/file/d/0B4WUjKii92l2MXlEVmxQUHoyUzg/edit?usp=sharing
Slackware: https://docs.google.com/file/d/0B4WUjKii92l2MnRwMGRyTmRQcW8/edit?usp=sharing
Fedora untested: https://docs.google.com/file/d/0B4WUjKii92l2S3pVUkZNNzNSQUU/edit?usp=sharing
Android 2.2 Froyo: https://docs.google.com/file/d/0B4WUjKii92l2d2cwQlBtVVd4aGM/edit?usp=sharing
Android 2.3 Gingerbread: https://docs.google.com/file/d/0B4WUjKii92l2UGtETzBwNnNvckU/edit?usp=sharing
Android 4.0 Ice Cream Sandwich: https://docs.google.com/file/d/0B4WUjKii92l2UDc2cVZ2TjBWM2s/edit?usp=sharing
Android 4.1 Jelly Bean: https://docs.google.com/file/d/0B4WUjKii92l2d3g0U3p6c0l4NFk/edit?usp=sharing
Android 4.2 Jelly Bean: https://docs.google.com/file/d/0B4WUjKii92l2dlFzcFBacThSVXc/edit?usp=sharing
How to test
Code:
novacom boot mem:// < uImage.nsboot
To install, copy it to /boot (/dev/mmcblk0p13). It can also install itself if you put a copy of it on the SD card, and go Installer menu -> install uImage and navigate to it.
Screenshots are attached.
YouTube demo of a earlier version with only the boot working and a simpler menu: http://www.youtube.com/watch?v=0oQhSa4sqPU
Updates:
All OSes now boot (At least on my TP.)
Those which have had their kexec archives revised on GDrive since the first post are in italic.
Android 4.2
Android 4.1
Android 4.0
Android 2.3
Android 2.2
Android Recovery (included with all Android kexec archives)*
webOS
Ubuntu
Slackware
Arch Linux
Fedora
* The colors are still out of whack in recovery. It's mostly unneeded at this point with Built-In ADB support and zip installation, but I included it for those who want its more obscure or advanced features, or are more comfortable with its UI. Testing it specifically is appreciated because I don't have any plans to develop a test suite for it.
Compatibility list
Android ROMs
4.2
There is currently an issue with installing later Android 4.2 ROMs. The following 4.2 ROMs will install and boot:
Evervolv nightly 05-15-2013
The following 4.2 ROMs get stuck in a fairly serious bootloop (logcat shows at least surfaceflinger, mediaserver, and zygote segfaulting). I have tried different kernels.
CM 10.1 unofficial nightly 06-02-2013
Schzoid 2.0 nightly 04-23-2013
Other 4.2 ROMs are untested.
4.1
The following Android 4.1 ROMs have been tested and work:
JCSullins' CM 10 preview, 12-16-2012
Schzoid 1.2, 03-06-2013
4.0
The following Android 4.0 ROMs have been tested and work: CM 9 nightly, 01-06-2013
2.3
The following Android 2.3 ROMs have been tested: CM 7 Alpha 3.5
Issue: When the screen is woken up in CM7, nothing shows up on the display. The backlight does turn on.
2.2
The following Android 2.2 ROMs have been tested and work: my Froyo kang, version 0.4 and 0.3 (0.4 is on google drive on top of 0.3)
Native Linux
Ubuntu
The following Ubuntu releases have been tested and work: Ubuntu 13.04 final, Ubuntu 12.10 final.
Others are welcome to be tested, but I will probably not take issue with anything before 12.10 beta not working.
Arch Linux
Arch Linux boots, and seems to work. Wi-Fi has not been tested.
Slackware
Slackware boots and seems to work. Wi-Fi and Bluetooth have not been tested.
Debian/Bodhi
I am unable to locate any tar.gz archives to test for this distribution, nor a kernel of any sort. If anyone wishes to step up and send one to me or even host it, I would be grateful and also I'd probably get it booting within a day.
Fedora
These haven't yet been tested. They are theorerically installable with the new "tar.gz to custom LV" feature, but I would need to find a way to free more space on my TP to install them (my media partition is currently about 10 GB, 6 GB used for music, and 2.5 GB used for testing files.
Thank you
Good Job! I will test it tomorrow.I have been looking forward to ArchLinuxArm for a long time.Thank you.
Looks really good, I'll give it a spin.
Nice thing. But how Do I add my existing cm Installation to it? And how to add the cwm recovery in bootlist?
I repaced moboot with this and now i Can only Access Ubuntu
Sent from my GT-I9300 using xda app-developers app
Sir, I downloaded this, installed it, installed kexec-webos.
I rebooted
in boot menu section, i selected HP WebOS 3.0.5
Waited for 10 secs in Starting new kernel.
nothing only reboots
thinking to use webOSDoctor
But it is not going to webOS recovery mode.:crying:
What to do?:crying::crying::crying::crying::crying:
superboy123 said:
Sir, I downloaded this, installed it, installed kexec-webos.
I rebooted
in boot menu section, i selected HP WebOS 3.0.5
Waited for 10 secs in Starting new kernel.
nothing only reboots
thinking to use webOSDoctor
But it is not going to webOS recovery mode.:crying:
What to do?:crying::crying::crying::crying::crying:
Click to expand...
Click to collapse
Same here! But i Can Access Ubuntu
Sent from my GT-I9300 using xda app-developers app
superboy123 said:
Sir, I downloaded this, installed it, installed kexec-webos.
I rebooted
in boot menu section, i selected HP WebOS 3.0.5
Waited for 10 secs in Starting new kernel.
nothing only reboots
thinking to use webOSDoctor
But it is not going to webOS recovery mode.:crying:
What to do?:crying::crying::crying::crying::crying:
Click to expand...
Click to collapse
After I made the webOS image, I noticed that it's a bit... finicky. Just reboot from nsboot main menu. Then try loading webOS again.
If you need to get to recovery mode, the way to do it is to reboot like that, holding down VOLUME UP.
imapjonny said:
Nice thing. But how Do I add my existing cm Installation to it? And how to add the cwm recovery in bootlist?
I repaced moboot with this and now i Can only Access Ubuntu
Sent from my GT-I9300 using xda app-developers app
Click to expand...
Click to collapse
If you installed CM to the logical volumes named /dev/store/cm-*, you need to back up and reinstall it from nsboot. As for booting CM recovery from nsboot, if you haven't done that yet, a feature I put in already lets you make .tar.gz archives from volumes (including Android ones.) I just enabled the extraction of them to Android volumes (used to only allow others), so you could use that to "move" your Android.
Minimum System Sizes to use for android partitions:
2.2 (froyo): 256MB
2.3 (gingerbread): 320MB
4.0 (ics): 320MB
4.1 (jellybean): 450MB
4.2 (jb mr1): 480MB
Step by step instructions:
Upgrade nsboot. Just released a new one. Either scp/adb it from a running OS or redo the install procedure except for the replace moboot part, after downloading it again.
Get the kexec tarchive for your android version onto the SD card. You could scp or adb push it. If needs be, find your old Android recovery image, and boot it via novacom:
Code:
novacom boot mem:// < uImage.ClockworkMod
Boot nsboot.
Go to Utilities - create volume tarchive.
Select "cm-system". Name the backup "System".
Repeat last two steps for "cm-data" if you want to keep your data partition. I don't recommend backing up "cache".
Go to Utilities - create volume set.
Name the new Volume Set depending on your Android/CM release: Use the names "android22", "android23", "android40", "android41", or "android42".
Format the new volume set: go to Utilites->format volume set, and select it. Click Confirm/OK.
After the set is created, go to Installer menu -> install .tar.gz to existing volume. Navigte to /mnt/media/nsboot/backups. You will find your two backups. Select "System" to restore to "androidXX-system", depending on the version you just created. Make sure you use a big enough size - see above table.
Repeat the last step for data, if you made such a backup.
You now need to find the kexec archive you copied to your SD card (it's mounted in /mnt/media.) Install it. If you chose the right volume set name, it will work.
Reboot or rescan boot items and you should see the Android version in your boot menu. Tell me if it doesn't work.
If it does work, go to utility menu -> delete volume set and select "cm" as your set. This will remove the old cm set, and leave the new androidXX one.
After that, if it did work, go to utility menu -> reclaim media space to get back any lost space for your media/sdcard partition.
Thank s it worked well. But i didnt get webos to run. I installed the webos kexec tar via install kexec tar to existing volume and of i wann Boot it, it hangs up and reboots nsbootloader
Sent from my GT-I9300 using xda app-developers app
imapjonny said:
Thank s it worked well. But i didnt get webos to run. I installed the webos kexec tar via install kexec tar to existing volume and of i wann Boot it, it hangs up and reboots nsbootloader
Sent from my GT-I9300 using xda app-developers app
Click to expand...
Click to collapse
So when you guys who are having trouble with webOS try launching it, do you get to the screen that says 'please wait, booting...' or the HP logo that pulsates? Where does it reboot? I'm thinking I might have uploaded an old, non-workable tar file for that OS.
FYI: After testing every boot option, I discovered a problem with Android 4.1 (only 4.1). I'm looking into it.
EDIT: just uploaded a new kexec-webos.tar. I have things set up so the link remains the same. Redownload the new tarfile, and see if it works, it works on my end. Still working on fixing 4.1 - it's the only thing left, but most of you are probably using it (trying to.)
Sir,
Thanks for your reply.
But, I cannot get into recovery mode
I rebooted pressed POWER+VOLUME UP, nothing just going into nsboot.
I also tried pressing POWER+HOME+VOLUME UP, that is also the same.
please help.:crying::crying::crying:
I also replaced moboot with nsboot.
superboy123 said:
Sir,
Thanks for your reply.
But, I cannot get into recovery mode
I rebooted pressed POWER+VOLUME UP, nothing just going into nsboot.
I also tried pressing POWER+HOME+VOLUME UP, that is also the same.
please help.:crying::crying::crying:
I also replaced moboot with nsboot.
Click to expand...
Click to collapse
I have never seen this happen for real, and there is no way my code can just disable that combination. That said, I'm not leaving anyone out in the cold with a practically unusable TP.
If you have any ROMs installed, now is the time to use them to transfer needed files over to your sdcard.
Recovery mode works perfectly when I do it, I use that when I want to test a new version without installing it. I'll look in the moboot source and add a button to reboot directly into recovery. I'm also adding ADB support (if I can get kexec to tolerate the usage of the USB bus before the call, which I'm not sure.)
bootie (the TP first stage loader, comes before nsboot or moboot) transfers control over very, very quickly, so if you're pressing these buttons after you touch "Reboot", then don't. Though I don't seem to have issues if I do so, don't hold down Power unless you're force rebooting the TP or powering it on from the cold. Hold down Volume Up as you click reboot, keep it held down as you click "yes", and don't release it.
Also try powering off, then powering back on after 10 secs. Again, hold down Volume Up, then Power, don't switch over.
If you are really frantic, purposefully deleting the nsboot uImage (/mnt/boot/uImage.nsboot) will make your TouchPad boot to the "www.palm.com/ROM" screen, which is a more mandatory form of recovery mode. You could also "rename" or "move" moboot into nsboot, and you'll get moboot back.
castrwilliam said:
EDIT: just uploaded a new kexec-webos.tar. I have things set up so the link remains the same. Redownload the new tarfile, and see if it works, it works on my end. Still working on fixing 4.1 - it's the only thing left, but most of you are probably using it (trying to.)
Click to expand...
Click to collapse
Okay everything is working well with this new tar.
Sent from my GT-I9300 using xda app-developers app
Make sure your pad is fully charged. I have had problems before during partially charged tp
John 3:16
castrwilliam said:
I have never seen this happen for real, and there is no way my code can just disable that combination. That said, I'm not leaving anyone out in the cold with a practically unusable TP.
If you have any ROMs installed, now is the time to use them to transfer needed files over to your sdcard.
Recovery mode works perfectly when I do it, I use that when I want to test a new version without installing it. I'll look in the moboot source and add a button to reboot directly into recovery. I'm also adding ADB support (if I can get kexec to tolerate the usage of the USB bus before the call, which I'm not sure.)
bootie (the TP first stage loader, comes before nsboot or moboot) transfers control over very, very quickly, so if you're pressing these buttons after you touch "Reboot", then don't. Though I don't seem to have issues if I do so, don't hold down Power unless you're force rebooting the TP or powering it on from the cold. Hold down Volume Up as you click reboot, keep it held down as you click "yes", and don't release it.
Also try powering off, then powering back on after 10 secs. Again, hold down Volume Up, then Power, don't switch over.
If you are really frantic, purposefully deleting the nsboot uImage (/mnt/boot/uImage.nsboot) will make your TouchPad boot to the "www.palm.com/ROM" screen, which is a more mandatory form of recovery mode. You could also "rename" or "move" moboot into nsboot, and you'll get moboot back.
Click to expand...
Click to collapse
Sir,
I deleted nsboot, moboot and all uImages.
But now i am getting a blank screen after 5 secs it reboots.
this has been occured unlimited times.
Please Help
superboy123 said:
Sir,
I deleted nsboot, moboot and all uImages.
But now i am getting a blank screen after 5 secs it reboots.
this has been occured unlimited times.
Please Help
Click to expand...
Click to collapse
Okay, try the volume up button. If that doesn't work, try holding power + volume up + home (rebooting it), ignoring the boot loop. I only said to delete one uImage... wait, uImages are the only files you deleted, not anything else in /boot, right?
Do you ever see the HP logo?
If you touched "boot.bin" (among certain other possible files in /boot) you'll probably need the debrick program. This isn't nsboot's fault... link to program is here: http://forum.xda-developers.com/showthread.php?t=2010270
If you use that program, follow its instructions TO THE LETTER, if there is anything you need clarification on, ask here - I've never had to use it, but I've heard of it fixing TPs that don't even show anything on the LCD. That said, if something goes wrong with it, it has the opportunity to make the problem far, far worse.
castrwilliam thank you for your work
Rock on dude
loving your work man keep it up dude:good:
superboy123 said:
Sir,
I deleted nsboot, moboot and all uImages.
But now i am getting a blank screen after 5 secs it reboots.
this has been occured unlimited times.
Please Help
Click to expand...
Click to collapse
Is the pad fully charged? I would strongly suggest letting it charge for twenty four hours.
P.S. don't panic
Sent from my Galaxy Nexus using Tapatalk 2
Is it possible to install Ubuntu 13.04 and 12.10 at the same time?
Sent from my GT-I9300 using xda app-developers app
I am a little confused on the install process, would you mind elaborating.
Sent from my Galaxy Nexus using Tapatalk 2
Hello everyone! Just like others here, I've been somewhat spooked by our inability to enter Ouya's Recovery partition at the earliest stage of booting, meaning a bad flash of the Boot partition would leave the device inoperable. When I heard that Ouya's stock firmware updates were possibly bricking a few units out there, I decided to block updates on mine and see if I could transform the Boot partition such that it would become a logical extension of the bootloader. What I ended up with is something close to the "Ouya Safe Recovery" project, where a user should only need to flash Boot one additional time, along with chain-loading support as well.
Chain-loading in this case refers to the booting of ROM kernel images that reside as regular IMG files under the /sdcard and/or /system filesystems. With this capability it is possible to choose an image to run when the Ouya turns on. As an example, one may wish to set up a 2nd/test kernel+ramdisk image to use with your installed ROM, or he may wish to run Tuomas Kulve's Debian project from time-to-time without having to set up the USB cable for Fastboot mode. When dealing with distinctly different ROMs (not just alternate kernels), only one of them may install to the Ouya's built-in storage (e.g., /system); others must have been designed/created to use external storage.
An image for the Recovery partition is available along with the Boot. The former may be helpful if you wish to try out the boot menu before performing the flash of the Boot partition, or are generally okay with bouncing to Recovery before invoking a chain-load. Either of these may be tested from Fastboot mode, but do note that a successful chain-load requires that the image actually be flashed to the Ouya. (Otherwise it just reboots.) The ClockworkMod (CWM) recovery application is available on both images and is accessible from the boot menu.
Additional Information
There are a few things to consider when deciding if this approach makes sense for you:
- Users of the "Ouya Safe Recovery" project may want to stay put unless the dual-boot aspect is of interest. If so then it would be cleanest to choose my Boot image; the Recovery partition (your ROM image) could be left alone.
- The images here are not compatible with Ouya's stock firmware, due to the auto-update nature of Ouya's ROM. Either your flashed Boot image would get overwritten, or an installed non-Ouya Recovery might cause that update to hang. Therefore, you should be prepared to switch to one of the ROMs here at XDA. If you're currently on stock and don't want to switch right away, that's fine; we'll go over how to block updates for the time being.
- The Ouya CM10 ROM is nice in that it provides the IMG file separately, allowing us to handle it as we wish. However, the other ROMs end up placing their boot.img in the main ZIP. This is standard practice for other devices, but we need to be careful ensuring our Boot partition doesn't get reflashed as part of the ROM installation. Therefore, it would be necessary to investigate repackaging the ROM with an alternate updater-script prior to installation. See my StockPlus post on page 2 for more. (This shouldn't affect those who've opted for my Recovery image.)
This feature is based on CWM's initial ramdisk, and includes a new boot menu application that comes up prior to CWM itself. Basically, CWM shows up later if the menu application exits for any reason. The Ouya stock kernel (561) has also been compiled with HDMI's copy protection turned off, and includes two patch sets:
- KExec-HardBoot is the key to chain-loading on our platform. It overcomes standard KExec's lack of hardware reset (and thus failed execution) by triggering a reboot in the middle of the preparation of the new kernel. This ingenious system has been developed by Tasssadar and others over in the Nexus forums. (Be sure to enable CONFIG_TEGRA_HARDBOOT_RECOVERY if interested in compiling a Recovery kernel.)
- HDMI visual stability has been improved with a little hack of mine: a significant relaxing of a timer in the driver. (The latest Android source has corrected the instability with a significant design change, but my hack seems fine enough for this project.) Also picked up specific Android fixes in the area of Framebuffer double-buffering, as that needs to be working for CWM usability.
Installation
If you're on Ouya's stock firmware, then you should make sure that any future updates do not get applied. There is a project here ("Mod Collection For Ouya") that should help. I personally side-loaded the Baxy custom launcher to avoid Ouya's update environment. It is also likely necessary to stay out of the Ouya/Discover store if going the custom launcher route as I believe the store app can trigger an update.
At this point you can download your chosen image (Boot or Recovery) and unzip to get the IMG file. Boot your Ouya to a working Root/BusyBox environment (ROM or Recovery), and then transfer the IMG to the Ouya. (An example using ADB would be "adb push boot102513.img /sdcard/boot102513.img".)
Bring up the Ouya command prompt (e.g., "adb shell") and run these commands to get started:
su [command not present on CWM - that's okay]
cd /dev/block/platform/sdhci-tegra.3/by-name
ls
You should see the various 3-letter partition names from that last command. Your command prompt should also contain the "#" character to denote root-level access. This next step will save off your current ROM image, both because we may end up overwriting it, and because the saved file will end up as your main bootable kernel for the chain-loader. Run:
cat LNX > /sdcard/kernel.img
(If configured for "Ouya Safe Recovery," then replace the preceding "LNX" with "SOS".)
We are near the flashing stage. Check to make sure your Ouya has a reliable source of power, preferrably from an uninterruptable power supply. Recall that a bad flash of my boot image can leave the device inoperable, but I feel the risk is very low provided the following directions are heeded. Fortunately the flash process only takes a few seconds.
For the Boot image option, verify by running:
md5sum /sdcard/boot102513.img
Do not proceed unless you get "e4b1b1ad553e55ad0b2ce3fb8f5bf623".
Again for the Boot image option, flash to the Ouya by running:
dd if=/sdcard/boot102513.img of=LNX
For the Recovery image option, verify by running:
md5sum /sdcard/rcvy102513.img
Do not proceed unless you get "dda0811a7e8e82a7d4ad3fa4c3ae35e4".
Again for the Recovery image option, flash to the Ouya by running:
dd if=/sdcard/rcvy102513.img of=SOS
You may optionally verify (post-flash) by running "md5sum" on the partition name. Finish up with these commands:
sync
reboot
Usage / Configuration
The menu should come up, defaulting to "kernel.img" for the Boot image and "CWM" for Recovery. That default will then launch after ten seconds of inactivity. You may also briefly press the Ouya power button during the wait to advance through the options. The option list is 1) kernel.img, 2) kernelA1.img, 3) kernelA2.img, 4) CWM, and 5) Recovery Partition.
The defaults from above should be fine for most everyone, but it is possible to fine-tune them. An optional configuration file (/sdcard/bootmenu_b.cfg for Boot, /sdcard/bootmenu_r.cfg for Recovery) may be established to specify the default menu entry as well as the inactivity timeout. As an example, the following command would make Recovery start kernelA1.img after five seconds:
echo "2 5" > /sdcard/bootmenu_r.cfg
It is hoped that the menu would never hang. If it does, then waiting a full minute should allow CWM to start. Otherwise, it may be necessary to attach a wired/USB keyboard and type in the Alt-SysRq-X sequence, similar to Ctrl-Alt-Delete on a PC. The sequence might have to be done early on in the menu startup process, and should blink the Ouya light and place it in Fastboot mode.
The menu may unexpectedly place you in CWM, which would indicate an issue with a chain-load. The reason may be due to a missing or corrupt IMG file. Otherwise you should be able to determine why by checking /tmp/bootmenu.log against the attached source code.
---
I hope this project will be of help to others!
An additional support forum that everyone should be able to post at is available: http://forum.xda-developers.com/showthread.php?t=2450711.
Wow, really great. Thanks a lot for your effort
Gesendet von meinem One X+ mit Tapatalk
nchantmnt said:
Wow, really great. Thanks a lot for your effort
Click to expand...
Click to collapse
My pleasure, nchantmnt. Hope your new Ouya is helping you feel at home!
Yes im happy it already arrived, but after a second miscarriage and lots of stress because of a lawsuit with our neighbour i didn't have time nor nerves to play or code. Seriously this year sucks
Gesendet von meinem One X+ mit Tapatalk
nchantmnt said:
Yes im happy it already arrived, but after a second miscarriage and lots of stress because of a lawsuit with our neighbour i didn't have time nor nerves to play or code. Seriously this year sucks
Click to expand...
Click to collapse
Gosh, I'm very sorry to hear that. Do think ahead to the upcoming holiday season, and may it be a time to reflect and anticipate a fruitful 2014.
@Hal9k+1 - THANK YOU!
I was so nervous flashing CWM and StockPlus as there is no real way to fix things if something goes wrong. This should give people more confidence when flashing their Ouya.
I understand the process using ADB...my question is: can this be used from CWM somehow?
PS. I assume new kernel will always be flashable from CWM, the hack does not require 561 specifically.
Ipse_Tase said:
I understand the process using ADB...my question is: can this be used from CWM somehow?
Click to expand...
Click to collapse
Hi Ipse_Tase - I do hope the feature will be helpful to you and others.
As I think about your question, I suppose I could have have created a ZIP that would have been installed by CWM. Similarly I could have worked through some form of installation shell script. But for an important operation such as flashing, I prefer the one-at-a-time approach of the interactive shell.
Note that CWM does have an ADB service running with it. Your Ouya would show up as a different device while in CWM, so you'd need to enter Device Manager (Windows) and point the unknown device to the same ADB driver as used for the main ROM.
Alternatively you could skip ADB for this Ouya Boot Menu installation and set up an SSH server on your main ROM. I personally have installed "SSH Server" (Ice Cold Apps). I recall two screens to set up (does require the trackpad in cases), where I enabled automatic start on both, and also set the port number to 2222. After an Ouya reboot I had SSH/SCP capability and could use PuTTY/pscp from Windows.
Hal9k+1...fast reply, thank you.
Just to put my ever-so-senile brain at ease: so I run StockPlus 519r1, and WHILE in the ROM, I start ADB and follow your instructions .
OR...I enter CWM, make sure I get the right ADB drivers installed for THAT instance and go from there.
For a developer, I'm sure it's easier and more familiar to run ADB commands - for people like me (5%-over-the average-user) a CVM option to flash a zip and do all this would be more in-line with the abilities to hack.
I have rooted 4-5 devices so far and the only time I type any ADB commands is at root/unlock time - sometimes not even then (Nexus 4 and the Root Toolkit).
So if you ever consider creating a recovery flashable file, it would help many. Probably not me, as by then I would have done the ADB trick
Sounds like great work! I was hoping to implement something like this myself, but I haven't made any more time for OUYA-related development in a while (due to positive life events/busyness)
I will definitely take a look at your work when I have time!
~Troop
Ipse_Tase said:
Hal9k+1...fast reply, thank you.
Just to put my ever-so-senile brain at ease: so I run StockPlus 519r1, and WHILE in the ROM, I start ADB and follow your instructions .
OR...I enter CWM, make sure I get the right ADB drivers installed for THAT instance and go from there.
Click to expand...
Click to collapse
You got it! You don't need to worry about booting to the other partition prior to flashing. That is a given partition (LNX/SOS) is no longer being accessed once the image is booted. For CWM's ADB, you'd simply point Windows to the same INF file that you originally used. Hope this helps.
StockPlus Installation
Well, I finally retired this old stock 393 ROM I was on, and moved to StockPlus 519r2. I was not able to install it the normal way given my Boot image is in place here. So I ended up modifying "updater-script" under META-INF/com/google/android, and then repackaged prior to running the install procedure. I'm attaching my changed version in case it helps anyone, and please note that it makes StockPlus the main image (kernel.img).
(You'll need to right-click to save the attachment. Once done it will need to be renamed such that it does not include the ".txt" suffix.)
The Windows "7-Zip" utility is helpful for packaging. You may start by right-clicking the downloaded ZIP, then 7-Zip --> Extract to "OUYA_[...]". Enter the newly created directory, get to the updater-script, and replace it with mine. Now back up to the area with META-INF, system, and boot.img, still in the new directory. Select all three under Windows (Ctrl+Click), right click that area, and then 7-Zip --> Add to "OUYA_[...].zip". Be sure this new ZIP is the one that makes it to the Ouya.
Still haven't tried this out yet, but I hope to soon.
I missed out on news over the holidays though and just noticed this:
Announcing Ubuntu and Android dual boot developer preview
http://developer.ubuntu.com/2013/12/announcing-ubuntu-and-android-dual-boot-developer-preview/
I'm curious of their dual boot implementation and how it compares and if we can synergize with their approach, but haven't looked into the details of how theirs works yet (its sounds like it uses a custom recovery image, and they have the ability to trigger it to reboot into Ubuntu from an Android app and vice versa, which is cool)
It'd be awesome to be able to multi-boot an Ouya ROM, an Android ROM (CyanogenMod), and Ubuntu with that kind of ease.
EDIT: This may be more our speed though: (MultiROM)
http://forum.xda-developers.com/showthread.php?t=2011403
(did you pull anything from there? Sounds like they have a modified TWRP that can flash zips to the other ROM slots, which is something I was also hoping to implement)
~Troop
Thanks, Trooper. Good to see Ubuntu moving further along in the mobile world.
I briefly looked at MultiROM since it originated from the KExec-HardBoot work, but decided not to go in that direction. The main reason is that I decided not to pursue the setup/learning of an Android build environment, but also because it wasn't clear how I'd deal with our lack of a touchscreen and lack of volume up/down buttons. I ended up creating a small application that fits within Ouya's CWM framework and starts up before CWM itself; it monitors the power button for click events and writes to the framebuffer memory region using regular Linux calls.
I'm not too concerned about the dual-boot aspect of this new Ubuntu, but the lack of touchscreen could be a hindrance if mouse/keyboard were not a viable substitute. Whether this Ubuntu is designed to work from external storage is another question, since our /system and /data would be occupied by Android. But in general I think we could boot it from my framework, and if my Boot image were selected over the Recovery one, then the Ubuntu kernel could reside in Recovery and also be bootable from the Android side with the "reboot recovery" command.
Best of luck, and hope you'll have a chance to try it all!
accidental post please delete