Hi!
This may be of interest to fellow developers. I've taken some time to enable the fastboot protocol for the u-boot in the Nook HD+ and ported the Genode Framework OS.
Act one, part one. Fastboot.
As you know, booting from external sd is done via the u-boot bootloader. I've modified it so that instead of booting from sd, it wait for the fastboot connection from the host PC. Besides, I've fixed the display initialization and now it can display the boot log on the framebuffer console (yay!). Developers (especially verygreen) may want to take a look at
git://github.com/astarasikov/uboot-bn-nook-hd-fastboot.git
Act two. Genode
Genode is a microkernel framework for building runtime environment. It can run on top of many kernels, the most actively developed one is FiascC. One increadibly cool feature of Genode is that it allows booting many instances of linux and android on the devices where the CPU does not have the virtualization extensions. Though today it lacks drivers for most hardware and is more of a proof of concept than a daily driver. Take a look at the screenshot and read my blog post if you want to know more technical details.
{
"lightbox_close": "Close",
"lightbox_next": "Next",
"lightbox_previous": "Previous",
"lightbox_error": "The requested content cannot be loaded. Please try again later.",
"lightbox_start_slideshow": "Start slideshow",
"lightbox_stop_slideshow": "Stop slideshow",
"lightbox_full_screen": "Full screen",
"lightbox_thumbnails": "Thumbnails",
"lightbox_download": "Download",
"lightbox_share": "Share",
"lightbox_zoom": "Zoom",
"lightbox_new_window": "New window",
"lightbox_toggle_sidebar": "Toggle sidebar"
}
http://allsoftwaresucks.blogspot.ru/2013/05/porting-genode-to-commercial-hardware.html
Ok, this is indeed mainly to show off, and I sincerely hope someone finds the Genode Framework an interesting concept and joins the development process. Do you want to touch an OS from 2021 in 2012
I'm working on booting arch linux on the HD+ native, and Im' having trouble with booting your uImage files once compiled. I hang at a black screen. Any chance that you could send me binaries? I'm interested in this project.
Here is the precompiled u-boot binary for you
https://docs.google.com/file/d/0B7wcN-tOkdeRV3ZJNzlhQTh2OE0/edit?usp=sharing
And the image.bin.gz (don't forget to uncompress prior to fastbooting)
https://docs.google.com/file/d/0B7wcN-tOkdeRWlJmX1haRGsxUUU/edit?usp=sharing
Have you managed to get the framebuffer console working in the Nook HD+ kernel?
I came across this original thread when searching for enabling LCD framebuffer console for the Nook HD+.
I, too, wish to run Arch ARM linux on the nook.
Because we have kernel source and a sdcard bootup, I thought this would be somewhat easy, but I've been finding it difficult.
I started out learning how to unpack and repack the ramdisk.
I replaced the busybox binary in the TWRP recovery ramdisk with one that has added "applets", such as ash, mdev, pivot_root, etc.
Then I tried to build my own busybox init based ramdisk (which is frustrating without a serial console), with the idea of using it to pivot_root (mmcblk1p2, /sbin/init).
When that didn't work I built a ramdisk image using buildroot.
Because of difficulties, I decided I needed a kernel that had at least a framebuffer console, which I attempted to compile.
So this is where I'm stuck at.
(can't post link)
It's mainly useless, but it does demonstrate LCD framebuffer console- to an extent.
It has several different ramdisks.
Default is the ramdisk extracted from emmc boot.img. It does nothing but display some logs on the screen.
ramdisk.twrp is the twrp 2.6.3.0 recovery with a more complete busybox binary. It works, and you'll see a flash of the framebuffer console, before twrp starts.
ramdisk.br is a buildroot generated ramdisk. On this the screen blanks out for minute, then displays some garbled garbage on the screen.
(Other than that I think it's "working" in that the kernel doesn't panic).
This is where I'm stuck at. Does anyone know the correct tty I should be directing output to in the kernel command line?
I'm tempted to try going the kexec route... perhaps something like kboot or kexecboot and give up on the pivot_root idea.
Related
Hi,
I am developper and I have a HTC Wizard.
I already have some experience in pocket PC development and I would like to install linux on my HTC.
The problem is I cannot even send command through a terminal.
I read a tutorial about how I can boot into "boot mode" (Press Power+Recording and after I can see the gradients color).
After I start a terminal application and I choose USB but I never got a prompt.
I don't undertand because I tried with different terminals and I have checked that ActiveSync is disabled.
What am i doing wrong ???
If some HTC wizard and Linux guru were here, maybe they could help me to start.
I am trying to do this, as well. But from what i understand it is VERY difficult.
to BOOT linux, you need 2 things: a kernel that can run on the omap and a program that will LOAD the kernel.
the omap has an arm926 processor. the omap is a cpu+other things.
to boot the kernel we need something like http://en.wikipedia.org/wiki/Loadlin
also we have to find a way to make the kernel show some output:
1. serial
2. lcd
also some input.
1. serial
2. keyboard
we have to compile an arm kernel and we have to find a way to boot that kernel. i have slackware linux on my laptopand i am trying to make arm simple kernel
the bootloader i can start, but i can not find a way to talk to it. i have searched and asked but i have not found anything. i am angry! i want to remove the bootloader it does not do anything! argh!
please if you are serious about this, tell me in an email or a personal message (PM)[/url][/list][/list]
look at this! http://garux.sourceforge.net/
Look at Xanadux on this forum's wiki. It might give you some clues as to the way forward. You could join in the effort. 8)
tsiros said:
look at this! http://garux.sourceforge.net/
Click to expand...
Click to collapse
I know all this, what I just want to know is how to interact with my HTC in boot mode because if I cannot even send command how could I install a boot loader. I am trying to do things in steps.
The first one is to understand how I can dialog with HTC...
Use mtty and press enter to get a prompt.
I noticed someone out there has tried to make a lcd driver for the omap850. We need to know more about the device.
i do not think we need an lcd driver. we need only find the address of the framebuffer. i do not know... :/
I'm having the same problem.
Tried to install.....cannot even login.
How do I get the Hyper Terminal to talk to my Himalaya connect to my Windows XP using USB ?
jtag
dare i say we skip the cruddy boot loader and explore the possabilities of a jtag connection?
Another Linux on Wizard topic
Hello,
Please check http://forum.xda-developers.com/viewtopic.php?t=49560 for another approach in getting Linux to run on the Wizard!
Ithamar.
{
"lightbox_close": "Close",
"lightbox_next": "Next",
"lightbox_previous": "Previous",
"lightbox_error": "The requested content cannot be loaded. Please try again later.",
"lightbox_start_slideshow": "Start slideshow",
"lightbox_stop_slideshow": "Stop slideshow",
"lightbox_full_screen": "Full screen",
"lightbox_thumbnails": "Thumbnails",
"lightbox_download": "Download",
"lightbox_share": "Share",
"lightbox_zoom": "Zoom",
"lightbox_new_window": "New window",
"lightbox_toggle_sidebar": "Toggle sidebar"
}
Stay tuned for more information regarding Linwizard.
AndroBox
Quick and Easy to use ADB and Debug tools for professionals and beginners
{
"lightbox_close": "Close",
"lightbox_next": "Next",
"lightbox_previous": "Previous",
"lightbox_error": "The requested content cannot be loaded. Please try again later.",
"lightbox_start_slideshow": "Start slideshow",
"lightbox_stop_slideshow": "Stop slideshow",
"lightbox_full_screen": "Full screen",
"lightbox_thumbnails": "Thumbnails",
"lightbox_download": "Download",
"lightbox_share": "Share",
"lightbox_zoom": "Zoom",
"lightbox_new_window": "New window",
"lightbox_toggle_sidebar": "Toggle sidebar"
}
ADB and similar command line tools for Android have been a pain for new users to learn and extra work for the Developer while working.
Personally, I got sick of typing and having to remember things so I made this tool. It is also nice because it is mucho faster than I could do it!
I will be cleaning things up and making it look nicer (more even...?) as well as releasing the source code soon. Be patient!
DOWNLOAD - WINDOWS:
http://dl.dropbox.com/u/58849669/AndroBox-Win_0.4.zip
DOWNLOAD - LINUX:
http://dl.dropbox.com/u/58849669/AndroBox.linux.zip
UPDATES:
11/15/11 UPDATES
- Linux Version Added - runs on ALL Linux standard distros
- Linux version requires device to be hooked up and present or it will not go past the first screen
- Linux version shows real time activity in the Bash terminal!
- Linux version requires you to go through the true google agreement (keeps code distro kosher)
10/27/11
- FIXED Bug-report
- DDMS Runs natively (if you do not care about DDMS, download the old version here: http://www.multiupload.com/OQSF5U7QNH)
- No longer requires a device to be plugged in to start up. check test.txt
EVERYTHING RUNS FROM WITHIN THE APPLICATION FOLDER.
This was done simply because I like to be able to carry my tools on a small flash drive and not install anything.
There is no need to install the whole SDK to get access to a few key tools.
ALL OF THE PROGRAM FUNCTION OUTPUTS ARE TXT FILES THAT SAVE TO THE APP FOLDER
This just keeps things nice and tidy. You have everything right there to look over when you want to.
READ THE INSTRUCTIONS!
This will tell you how to use each function.
LEARN ADB
Allows new users to find out just how much fun (and Linux) is in there. Yay shell!
*** DONATIONS ARE NOT GOING TO MY POCKET, THEY WILL BE DISTRIBUTED TO THE EFF AND CYANOGEN WEBSITES FOR THEIR HARD WORK! ***
*I am not resposible if you mess up your device using this tool, please don't be stupid.*
QUESTIONS? Shoot me a PM or Email that is enclosed in the instructions
Looks like an awesome tool, but i need the Linux version
Its working, I just need to make sure it works on all of the major Linux Distros.
Regular Ubuntu 10.04 is being finicky. Kubuntu, Xubuntu, and RedHat are playing nicely.
I just want to make sure that it is good for all before release. It also autohandles your path so all you have to do is a "chmod +x AndroBox", then "./AndroBox" and you are good to go!
Thanks
Great tool, thanks a lot
Updated - everything should work GREAT now. DEBUG (DDMS) runs natively and FULLY!!!!!
If you do not care about DDMS, use the older version as it is MUCH smaller since it does not need the included library files.
Great !
Waiting for tool that workin with linuxmint
Sent from my E398-EM30-S5570
HEY GUYS - I HAVE A WORKING LINUX VERSION, BUT I NEED PEOPLE WHO WANT TO DO A PRIVATE BETA!
Kubuntu, Red Hat, and Xubuntu have been tested as working.
Send me a PM or post in this thread!
Now with working linux version!!!!!!!!!!!!!!!!!!!
Testing on all major linux distros without issue!!!!!
Added Dropbox Links because of the mess with most other filehosting services ATM.
How do i start the linux version up?
Do i need to use terminal or?
Hi ,
i want to compile kernel with compat-wireless 3.6 compatibility (drivers for monitoring mode / packet injection) , so for start
i compiled kernel from asus source
changed kernel config
then i have make kernel image then blob
and this is where i need to help
after flashing blob to TAB i have bricked it , 2 times already, i have it now from service.
first time i tried to flash blob from .zip
second time i tried dd to /dev/block/mmcblk0p4
i need help with this.
thank you
...........................................................
slider SL101 with revolver 4.2.1
external USB adapter Edimax-EW-7811Un (rlt8188cus chipset)
{
"lightbox_close": "Close",
"lightbox_next": "Next",
"lightbox_previous": "Previous",
"lightbox_error": "The requested content cannot be loaded. Please try again later.",
"lightbox_start_slideshow": "Start slideshow",
"lightbox_stop_slideshow": "Stop slideshow",
"lightbox_full_screen": "Full screen",
"lightbox_thumbnails": "Thumbnails",
"lightbox_download": "Download",
"lightbox_share": "Share",
"lightbox_zoom": "Zoom",
"lightbox_new_window": "New window",
"lightbox_toggle_sidebar": "Toggle sidebar"
}
with working monitoring mode / packet injection
Fluffinko said:
Hi ,
i want to compile kernel with compat-wireless 3.6 compatibility (drivers for monitoring mode / packet injection) , so for start
i compiled kernel from asus source
changed kernel config
then i have make kernel image then blob
and this is where i need to help
after flashing blob to TAB i have bricked it , 2 times already, i have it now from service.
first time i tried to flash blob from .zip
second time i tried dd to /dev/block/mmcblk0p4
i need help with this.
thank you
...........................................................
slider SL101 with revolver 4.2.1
external USB adapter Edimax-EW-7811Un (rlt8188cus chipset)
with working monitoring mode / packet injection
Click to expand...
Click to collapse
Did you include an appropriate init ramdisk? A flashable kernel package usually includes the blob, a META-INF folder and a system folder. The blob, when unpacked, includes at least a blob.LNX (which is the same as a boot.img) which when unpacked further contains the init ramdisk file system and the kernel zImage. The META-INF folder has the updater-script and maybe a few other files and the system folder may have an lib/modules folder for the modules built with the kernel and possibly an init.d folder for startup scripts and such. The init ramdisk has the system initialization files for the underlying Linux system that Android runs on top of.
Hello All,
Short question: I've successfully booted a custom kernel whose .config file has the appropriate (CONFIG_MODULES=y, CONFIG_MODULES_UNLOAD=y, CONFIG_MODULES_FORCE_UNLOAD=y) are all set. However, running lsmod gives the error: /proc/modules no such file/directory and insmod gives a 'function not implemented' error. Did I not actually boot into the kernel I just made? The reason I ask is that the Phone details kernel version remains the same and loadable modules aren't supported, despite the steps outlined below.
Phone details:
Model: Nexus 4
Android Version: 4.2.2
Kernel Version: 3.4.0-perf-g7ce11cd [email protected] #1 Tue Jan 29 11:41:33 PST 2013
Build Number: JDQ39
Long explanation: I'm new to working with custom kernels and really anything beyond rooting the device - so apologies for any simple mistakes I make. I'm working on a project that requires me to create a custom kernel that supports module loading, unloading, and force unloading. I've been trying to do this manually (I'd like to learn the process). I've mostly used the following guides to get to this point:
What I want to do (except with a real phone) https://code.google.com/p/volatility/wiki/AndroidMemoryForensics
http://forum.xda-developers.com/nexus-4/general/howto-build-nexus-4-kernel-t2021202
http://forum.xda-developers.com/nexus-4/general/nexus-4-guide-unlock-bootloader-root-t2266654
http://xda-university.com/as-a-developer/getting-started-building-a-kernel-from-source
I've completed the process outlined in the first link with the goldfish emulator, but now I want to test it out on my rooted Nexus 4 device.
Setup:
Download Google SDK
git clone toolchain (http://android.googlesource.com/platform/prebuilts/gcc/linux-x86/arm/arm-linux-androideabi-4.6)
adb pull /proc/config.gz from phone
git clone kernel source (https://android.googlesource.com/kernel/msm)
git clone AnyKernel folder source (https://github.com/koush/AnyKernel.git)
Unlock bootloader & setup CWM v. 6.0.4.7
Setup Notes
Here's where I think I may be messing up: the kernel source step. So once I clone the kernel source, I switch into what I believe to be the appropriate branch. I've tried all of the msm-mako-3.4-jb branches except for the kgsl one at this point. I think possibly my error is coming from grabbing the wrong kernel -- but I wasn't sure how else to do it since I'm working with an older 4.2.2 model.
Here are the msm-mako-3.4-jb branches I can switch to (I'm assuming I need jb because I am running 4.2.2):
View attachment 3377399
For the AnyKernel folder structure, I modified the updater-script's mount command to mount("ext4", "EMMC", "/dev/block/mmcblk0p9", "/system"); (solution here: http://forum.xda-developers.com/showthread.php?t=1875460) because I was receiving a 'mount expects 4 args, got 3 error'.
Making the Kernel
As far as that goes, I executed the following commands without errors:
make ARCH=arm SUBARCH=arm CROSS_COMPILE=~/toolchain/arm-linux-androideabi- menuconfig (using the config file I pulled from the phone)
make ARCH=arm SUBARCH=arm CROSS_COMPILE=~/toolchain/arm-linux-androideabi- (succesfully creates the zImage and 2 .ko files (scsi_wait_scan.ko and adsprpc.ko))
copy the zImage to AnyKernel/kernel and the two .ko files to AnyKernel/system/lib/modules
zip the directors from AnyKernel and place zip on sdcard
adb reboot recovery
once in CWM, advanced > wipe davlik cache and afterwards install zip > choose zip from /sdcard > mykernel.zip
This process appears to successfully execute to me (screenshot below) and then I hit reboot system now for the changes to take place. At this point I check lsmod and insmod again and receive the same errors. I've reached this step 4 times with some of the different msm-mako-3.4-jb kernel sources (mr1, mr1-fr, mr1.1, and mr2).
{
"lightbox_close": "Close",
"lightbox_next": "Next",
"lightbox_previous": "Previous",
"lightbox_error": "The requested content cannot be loaded. Please try again later.",
"lightbox_start_slideshow": "Start slideshow",
"lightbox_stop_slideshow": "Stop slideshow",
"lightbox_full_screen": "Full screen",
"lightbox_thumbnails": "Thumbnails",
"lightbox_download": "Download",
"lightbox_share": "Share",
"lightbox_zoom": "Zoom",
"lightbox_new_window": "New window",
"lightbox_toggle_sidebar": "Toggle sidebar"
}
Sorry for the long post and thank you if you've taken the time to read it all! I'd appreciate it if anyone could help me out. Please ask if there are any details I left out that might help the issue.
Solution
I ended up going about this a different route. Instead of trying to create a flashable zip, I created a boot image following these instructions: http://forum.xda-developers.com/nexus-4/general/guide-beginners-guide-to-building-t2986686. Additionally, the correct kernel source for my particular device (Nexus 4 running 4.2.2) was the msm-mako-3.4-jb-mr1.1 branch. Hope this helps anyone in a similar situation!
{
"lightbox_close": "Close",
"lightbox_next": "Next",
"lightbox_previous": "Previous",
"lightbox_error": "The requested content cannot be loaded. Please try again later.",
"lightbox_start_slideshow": "Start slideshow",
"lightbox_stop_slideshow": "Stop slideshow",
"lightbox_full_screen": "Full screen",
"lightbox_thumbnails": "Thumbnails",
"lightbox_download": "Download",
"lightbox_share": "Share",
"lightbox_zoom": "Zoom",
"lightbox_new_window": "New window",
"lightbox_toggle_sidebar": "Toggle sidebar"
}
Introduction
MultiROM is one-of-a-kind multi-boot mod for XIAOMI MI2/2S/2C. It can boot any Android ROM as well as other systems like Ubuntu Touch, Plasma Active, Bohdi Linux or WebOS port.Besides booting from device's internal memory, MultiROM can boot from USB drive connected to the device via OTG cable. The main part of MultiROM is a boot manager, which appears every time your device starts and lets you choose ROM to boot. You can see how it looks on the left image below and in gallery. ROMs are installed and managed via modified TWRP recovery. You can use standard ZIP files to install secondary Android ROMs, daily prebuilt image files to install Ubuntu Touch and MultiROM even has its own installer system, which can be used to ship other Linux-based systems.
Features:
* Multiboot any number of Android ROMs
* Restore nandroid backup as secondary ROM
* Use for example Ubuntu Touch or Desktop alongside with Android, without the need of device formatting
Warning!
It _is_ dangerous. This whole thing is basically one giant hack - none of these systems are made with multibooting in mind. It is messing with boot sector and data partition. It is no longer messing with data partition or boot sector, but it is possible that something goes wrong and you will have to flash factory images again. Make backups. Always.
Installation
1. Via MultiROM Manager app
This is the easiest way to install everything MultiROM needs. Install the app and select MultiROM and recovery on the Install/Update card. If the Status card says Kernel: doesn't have kexec-hardboot patch! in red letters, you have to install also patched kernel - either select one on the Install/Update card or get some 3rd-party kernel here on XDA. You are chosing kernel for your primary ROM, not any of your (future) secondary ROMs, so select the version accordingly.
Press "Install" on the Install/Update card to start the installation.
2. Manual installation
Firstly, there are videos on youtube. If you want, just search for "MultiROM installation" on youtube and watch those, big thanks to all who made them. There is also an awesome article on Linux Journal.
Note 1: There have been reports that (not only) MultiROM does not work properly with older bootloaders. Update it to version 4.13 or newer in case you have problems.
MultiROM has 3 parts you need to install:
MultiROM (multirom_vXX_aries-signed.zip) - download the ZIP file from second post and flash it in recovery.
Modified recovery (TWRP_multirom_aries_YYYYMMDD.img) - download the IMG file from second post and use fastboot or Flashify app to flash it.
Patched kernel - You can use either one of the stock ones in second post or third-party kernels which include the patch, you can see list in the second post. Download the ZIP file and flash it in recovery.
You current rom will not be erased by the installation.
MultiRom v33
kexec hardboot patch download
Multirom TWRP for xiaomi mi2/2s/2c
thanks @Tasssadar for his multirom repo
Astonishingly, you implemented kexec into the kernel and managed to boot the multirom interface.
Good for you! Multi-rong!
Cheers!
rongrong holy high!
Cheers!
Dnv_aps, are you working on CM14 kernel?? I've just see that on multirom github.:good:
javichampi said:
Dnv_aps, are you working on CM14 kernel?? I've just see that on multirom github.:good:
Click to expand...
Click to collapse
yes , cm-14.0 is work now . but has lot of bug.
How can I install Plasma Active, then?
with MultiROM manager installed to play store says that my phone is not supported:crying: