once CONFIG_VT=y, the kernel will use initramfs(should be off) - HTC EVO 3D

I am not booting android, I am tring to boot a debian armhf (a linux distrubution) in mmcblk1p2(not chroot)
Without CONFIG_VT=y,I can't use X(I wonder how android work without tty)
Befote I set it to y,the rootfs will be mounted,and will not use initramfs(I have set nointrd and off initramfs supported in kernel,only give a empty initramfs to abootimg)
this file kern72588354.txt is the kern.log in /var/log ,whose kernel without CONFIG_VT
the other file is the /proc/last_kmsg ,whose kernel with CONFIG_VT
In fact,I use UUID to define the rootfs,it seems,mounted,but initramfs is also loaded,then it won't use the /sbin/init in rootfs,and it will use the init in initramfs(because initramfs is loaded first)
This post had better move to developer part,but i can post there
Shooteru

hizukiayaka said:
I am not booting android, I am tring to boot a debian in mmcbl1p2(not chroot)
Without CONFIG_VT=y,I can't use X(I wonder how android work without tty)
Befote I set it to y,the rootfs will be mounted,and will not use initramfs(I have set nointrd and off initramfs supported in kernel,only give a empty initramfs to abootimg)
this file kern72588354.txt is the kern.log in /var/log ,whose kernel wothout CONFIG_VT
the other file is the /proc/last_kmsg ,whose kernel with CONFIG_VT
In fact,I use UUID to define the rootfs,it seems,mounted,but initramfs is also loaded,then it won't use the /sbin/init in rootfs,and it will use the init in initramfs(because initramfs is loaded first)
This post had better move to developer part,but i can post there
Shooteru
Click to expand...
Click to collapse
What is this?
Sent from my PG86100 using Tapatalk 2

ssojyeti2 said:
What is this?
Sent from my PG86100 using Tapatalk 2
Click to expand...
Click to collapse
I don't know, but this dude sounds like a real developer

yousefak said:
I don't know, but this dude sounds like a real developer
Click to expand...
Click to collapse
He's asking a question pertaining to booting debian (a Linux distro) on his phone. I'm afraid I can't be of any help other than to clarify that though.
Sent from my EVO 3D S using xda premium

I'm not sure if I'm understanding your question correctly, but it's giving you an error about your header there. Have you tried just packing the ramdisk and init files with the zImage?

packing the ramdisk and init files with the zImage?
what is it?
Do you mean that I should use a initramfs(but not android one,a normal linux one made by initramfs-tools)?
In that case,I think I have tried once before,the same result.
I wonder why kernel will load the initramfs in the boot partition,does the bootloader let kernel do that?
I even flash the bootimg to boot partition,no use.

It's possible the bootloader is doing something to it. If you are using 'fastboot boot boot.img' it's usually expecting a specially packed zImage & ramdisk, but I'm not sure if it's the hboot or kernel that expects it.
See: http://android-dls.com/wiki/index.php?title=HOWTO:_Unpack%2C_Edit%2C_and_Re-Pack_Boot_Images
I have little experience working with kernels though, so hopefully someone more knowledgeable with them will be able to help more.

I knew it,that is why I use abootimg to make a android img,but maybe there is no error in kernel,only in bootloader.
But I wonder why once set CONFIG_VT=y,then it will happen.
Maybe I should know how android show gui without tty

Maybe I should modify lk_bootloader fisrt(only fbcon part need),let fastboot boot it,then let lk_bootloader boot my kernel.lol,am I all right.

Related

Custom kernel and initramfs in SDE... to gain rooted android in my Archos 70 Internet

So I've finally kind of figured out several files in partition mmcblk0p1. Files named custom, init, and recovery are actually kernel and initramfs packed with 256 header. Information at offset 0x94 is length of kernel + header (256 bytes) and offset 0x98 is length of initramfs. Except of file init, contain additional size which I'm not actually understood.
By extracting init file, and modifying extracted initramfs, I can boot to android system with rooted state.
I've experimenting using unionfs got from somewhere in this forum and added files su and superuser.apk. I've added in init file inside initramfs.
Actually analyzing recovery files, we can get information regarding recovery program which mostly in bash script.
I've include my kernel and initramfs extracted from file init in mmcblk0p1. You can try for yourself only in Developer Edition, where you can flash your own kernel and initramfs.
Beware, I don't guarantee it will succeed... try for yourself
*Sorry, bad english...
Hi,
Is it not pointless to work on this squashfs, when we can use plain file/device partition on SDE (like Angstrom demo)? I guess (it's still theory - since I've just installed SDE) it's enough to create rootfs with copied everything from squashfs and /data - to make it fully writeable and rootable - and boot on it as /.
I'll give it a try later...
No methods are pointless. Stop saying that. It's a progress to what we can do with the device.
Anyway, were you able to make that root work on the main OS, dogma?
MoonPhantasm said:
No methods are pointless. Stop saying that. It's a progress to what we can do with the device.
Click to expand...
Click to collapse
Ehh ok - but it makes thinks complicated, while we should straight everything up - to make upgrading smooth and easy
MoonPhantasm said:
Anyway, were you able to make that root work on the main OS, dogma?
Click to expand...
Click to collapse
As far as I can see in files - it should work.
Here's a diff of those init files (what was added)
out# diff init init.old
53,54d52
< CP=/bin/cp
< CHMOD=/bin/chmod
122,130d119
<
< # Create tempfs on /rootfs/home and unionfs with /rootfs/system
< $MOUNT -t tmpfs tmpfs $rootfs_path/home
< $INSMOD /lib/modules/unionfs.ko
< $MOUNT -t unionfs -o dirs=$rootfs_path/home=rw:$rootfs_path/system=ro unionfs $rootfs_path/system
< $CP /home/su $rootfs_path/system/bin/
< $CP /home/superuser.apk $rootfs_path/system/app/
< $CHMOD 6755 $rootfs_path/system/bin/su
< $CHMOD 755 $rootfs_path/system/app/superuser.apk
Booting from normal ext3 device requires some more changes - but gives us no 300MB (or similar) limit, allows to change boot parameters after kernel boots up (now on squashfs partition) etc. etc.
Yeah.. I'm able to get root with kernel and initramfs I've attached...
I am very excited about the prospects with SDE. Hopefully with some more poking and prodding and with Archos Froyo source released we will see some nice custom ROMs coming down w/ full root and a re-mapped file system in the coming months. I for one am hopeful that the dev community embraces the Gen8's w/ SDE and bakes up a nice serving of Gingerbread!
I was thinking that in recovery there's tool to flash initramfs and kernel which formed in file custom in mmcblk0p1. If we can replace destination to init (not custom). I think we can force booting to our new change, without entering to recovery mode first.
But, I still don't want to break anything in partition mmcblk0p1 .
Also, if we can modifying squashfs file with new one, without script checking the file (I think is on cramfschecker program); we can have custom rootfs itself replacing androidmerged.squashfs.secure....
Just the thought...
Keep up the good work guys!
just copied the content of the squashfs in an ext3 image and modified the init and mountpoints.
will report later after some testing
Heh.. I've just did the same - but on ext3 partition of sd card. Not luck yet to full boot... yet...
me neither. don't have time for more testing today and tomorrow, but soon I have a lot of spare time
edit: currently running kernel and initramfs of dogmaphobia, works great so far
Let me know when you guys news beer on your break, its on me.
Keep up the good work.
its too bad i am too dumb to understand all of what you are saying.
Does this mean rhe archos can be booted with root?
is it then rooted on the normal android firmware i use at the moment or on something else?
If yes how exactly do i get this to work and will there be a easier version for people like me who dont know that much about that kind of things.
and sorry again if my questions are dumb,i just want to try to get it.
nimrodity said:
Does this mean rhe archos can be booted with root?
Click to expand...
Click to collapse
Yes - but with SDE installed (and voided warranty - unless Archos claims so)
nimrodity said:
is it then rooted on the normal android firmware i use at the moment or on something else?
Click to expand...
Click to collapse
We are trying to boot oryginal Archos-Android on writtable disk (then it will be fully rooted - on OS level at least). dogmaphobia prepared initrd (first stage boot - lets say) that mounts part of original dir tree as RW and installs SU (switch to root) tool.
nimrodity said:
If yes how exactly do i get this to work and will there be a easier version for people like me who dont know that much about that kind of things.
Click to expand...
Click to collapse
Probably yes, this one is not so hard either - but it's really just a first step, so I recommend to wait.
This is freaking awesome. Since 2.0.71 disabled temproot I haven't been using my 101 very much other than poking around in Angstrom.
I voided the warranty on every other Android device I own for root, and I sure don't mind doing it on my 101 either.
@$aur0n
thx for the explanation.
Since i am please ight now ho the archos works,i ca wait a while till something new comes up.
so no hurry,we all saw how achos handled that with an unfinished bugged fimware
this is great news, im so looking forward to the future with a fully rooted device. And all the benefits that comes with that,maybe some custom roms maybe even cyanogen mod, A2SD, custom kernels and Gingerbread. If this comes thru it blows this wide open. Keep up the good work
@dogmaphobia you've written kernel size was at 0x94 and initramfs size at 0x98 but I don't get it. 2byte value (db70) at 0x94 results in 56176 and (db700021) ist far too much for kernel size. same weird result for initramfs.
how did you extract initramfs and kernel from this mmcblk0p1/init file? may post a shell script?
I've checked my "custom" file - on pos. 94 i have unsigned 32bit (8 bits) value "2218864" - witch might be ok, since 2218864-256=2218608 - and that's exactly the size of kernel that dogmaphobia send (and it's bootable).
On pos. 98 I have value "833767" (8 bit stream like before) - that's look also quite ok.
ps. and you should be able to extract it with dd (dd if=custom of=whatever bs=1 skip=245 count=2218608) - it's slow with bs=1 but...
Heym I mounted the rootfs.img as loop, put the two files from dogmaphobia in /boot and copied the image back to internal memory, but wasn't able to boot from this image. Any tips?

[Q] [SOLVED] How to Modify/Recompile/Rebuild a Kernel

Hi everyone.
I'd really like to know the steps to modify, recompile and finally build a kernel zip to flash on our O1.
For instance, I'm downloading the ThunderG Kernel from mik_os here: https://github.com/mik9/ThunderG-Kernel
But I really dont know how to procede.
The programming language seems to be C++, but...
Which compiler should I use to compile it?
The source code is 100+ Mb sized, how can I build the kernel in a simple zip to let me flash it through custom recovery?
I'm really new to all this, I've little experience in C/C++/Java programming, and I'd really like to know how to procede.
An example of initial use I'm interested in, is summing up various fixes from different kernel's and make a unique kernel to flash on my phone.
For the real example:
This: http://forum.xda-developers.com/showthread.php?t=929941
plus this: http://forum.xda-developers.com/showpost.php?p=11166426&postcount=47 (waiting for source from the author)
I'd be really glad to see a newbie (not completely ^^) step-by-step guide doing everything from Windows platform.
I already read other topics on this argument, but none of them had a real guide that could be useful to anyone.
I want to thank you in advance
I'm interested too!
To start with change ur pc os to ubuntu 10.10
ccdreadcc said:
To start with change ur pc os to ubuntu 10.10
Click to expand...
Click to collapse
Couldn't Compiling and building a source code be done from any platform?
As far as I know it should (though I'm not an expert ^^).
I'd like to know if this can be done from Windows, as I'm not planning to change os at the moment
You can always use a Live CD of Ubuntu 10.10.
badeaioan said:
You can always use a Live CD of Ubuntu 10.10.
Click to expand...
Click to collapse
That's not the problem, I already installed Ubuntu other times, but I did a complete format these days and I'm not planning to install it anymore for now.
I still believe that I dont need it to compile a C/C++ source
I'd like to know the steps so I can say it surely.
If Linux is absolutely needed, I just want to know
I thing, that it can be possible compile on other system (cygwin + compilers, library, ...) but you will must download huge dependent software/library/source code. It probably will have same size as whole system :-/
Ok you convinced me, let's say I want to do it on ubuntu, could someone make a guide for everyone?
that would be great!
Sent from my LG-P500 using XDA App
I use gcc for compiling stuff. How to turn the compiled stuff into a package (for flashing) however, is what I don't know
What I would also like to know is how to incorporate a kernel into a ROM. That would shed some light. Thanks to whoever answers this!
The ThunderG package includes a lot of things, do I have to compile the "kernel" folder only to build a kernel for flash?
I really don't know how to procede... ^^
I'm installing Ubuntu 10.10 right now trough wubi..
Sippolo said:
Couldn't Compiling and building a source code be done from any platform?
Click to expand...
Click to collapse
No, especially the kernel source code makes heavily use of filename case sensitivity.
In linux abcd.e and abcD.e are different files- in windows they are not.
Extract a linux Kernel in windows and you will see what I mean.
So even if you got the cross compilers and libs together you will not be able to compile the kernel.
Cygwin is a way- but you could also run XUbuntu with VirtualBox which easier.
The best and fastest is a native linux system.
Sippolo said:
The ThunderG package includes a lot of things, do I have to compile the "kernel" folder only to build a kernel for flash?
Click to expand...
Click to collapse
Get the android ndk, extract it and append the folder with "arm-eabi-gcc" to your system path (export PATH=$PATH:"$NDKPATH/toolchains/arm-eabi-4.4.0/prebuilt/linux-x86/bin").
Extract Thunderg_Kernel.tar.gz, go to the directory and run "make thunderg-perf_defconfig" that will create a .config for the kernel. Or grab your O1 config from /proc/config.gz (per adb, ftp server app, copy with file manager to sd card...) and move it to $kerneldir/.config.
Have a look at "make menuconfig" and then try "make zImage".
Maybe you must install a few dependencies with synaptic (when you are using ubuntu).
kpbotbot said:
I use gcc for compiling stuff. How to turn the compiled stuff into a package (for flashing) however, is what I don't know
What I would also like to know is how to incorporate a kernel into a ROM. That would shed some light. Thanks to whoever answers this!
Click to expand...
Click to collapse
Load mik_os' touchscreen fixed kernel and extract the zip file.
Delete the cert* and manifest* files under META-INF.
Change the zImage under Kernel maybe the kernel modules (system/lib/modules) too.
ZIP it all together again (directory structure must be the same as in mik_os' zip).
To sign read this: http://www.robmcghee.com/android/creating-an-android-update-zip-package/
or this: http://www.londatiga.net/it/how-to-sign-apk-zip-files/
hello, first of all to compile a kernel you need to config this kernel (enabling the drivers you are intersted in, kernel tweaks... and so on)
to do that (on linux) go to your kernel directory and run this command
make menuconfig
this would run the gui config for the kernel where you can configure the kernel.
anyway every board or device has it's own configureations os the kernel can handel the hw on this device you can start gussing what are the right configurations for the P500 which is not an option at all hehehe
or you can use the predefind config included in the Thunderg kernel
to use that config go to the kernel folder and run this command
make thunderg-perf_defconfig
this command will configure the kernel with the predefind configuration
after that you need to compile the kernel using a cross platform compiler, the machine you are working on is x86 but P500 mobile have an ARM cpu so you can't just compile the kernel for your machine and run it on the mobile to do that find a cross compiler on the net (i use the CodeSourcery) then compile your kernel using this command
make CROSS_COMPILE={path to the corss compiler bin}
after finishing the compile process (first time it would take a while) you will find a file called "zImage" which is the kernel for the ARM cpu under the directory arch/arm/boot inside your kernel directory
then to flash that image to your device you need to create your own ROM and sign it then flash it using the coustom recovery.
hopt that this info is useful and sorry for any wrong information
Thanks everyone
I found out that android ndk solution was much easier and straightforward.
Now I've my zImage ready in "ThunderG-Source/arch/arm/boot/" directory (not in the kernel directory as waleedq stated?).
Now I cant understand the meaning of "signing" my kernel to a custom ROM, I'm using the custom recovery from http://forum.xda-developers.com/showthread.php?t=844483
I've read the two articles above about signing an application .apk to your rom and generate an update package.
But here I dont have an apk but a zImage which I really dont know how to use ^^
Isn't there a way to directly create the kernel update zip file and flash it with custom recovery?
P.S. Surfing on the web I found this link, might be useful to someone: part1: http://lazydroid.com/2010/06/how-to-compile-kernel-part-1/ part2: http://lazydroid.com/2010/06/how-to-compile-kernel-part-2/ It just explains what you have already explained though
Sippolo said:
Thanks everyone
I found out that android ndk solution was much easier and straightforward.
Now I've my zImage ready in "ThunderG-Source/arch/arm/boot/" directory (not in the kernel directory as waleedq stated?).
Click to expand...
Click to collapse
Your "kernel" directory has the name "ThunderG-Source"
It is all ok- waleedg didn't mean the "kernel/kernel" directory
Sippolo said:
Isn't there a way to directly create the kernel update zip file and flash it with custom recovery?
Click to expand...
Click to collapse
Read my post more thoroughly (I have edited it)
Yeah I did understand what you wrote in that reply, just was wondering what is "signing" actually, but I found out when doing it
Now I've my signed kernel update to flash
I used the SignApk jar program to do it, it's fast and I've everything already done and ready for future signing (certificate and key must not be remade each time as far as I see, I just need to sign each new zip with the already present certificate/key).
Thank you everyone, now I'm finally done with this request, it's solved
Side Question to waleedq: will you publish the code of your workaround for axis inversion? I'm curious which source file handle these things, should be /drivers/input/touchscreen/mcs6000_ts.c, am I wrong?
Sippolo said:
Yeah I did understand what you wrote in that reply, just was wondering what is "signing" actually, but I found out when doing it
Now I've my signed kernel update to flash
I used the SignApk jar program to do it, it's fast and I've everything already done and ready for future signing (certificate and key must not be remade each time as far as I see, I just need to sign each new zip with the already present certificate/key).
Thank you everyone, now I'm finally done with this request, it's solved
Side Question to waleedq: will you publish the code of your workaround for axis inversion? I'm curious which source file handle these things, should be /drivers/input/touchscreen/mcs6000_ts.c, am I wrong?
Click to expand...
Click to collapse
yes i am publishing the code , today if i got some spare time
and about the mcs6000_ts.c yes this is the driver that handel our screen
here is the workaround source code
https://github.com/waleedq/ThunderG-Kernel/blob/thunderg_oc/drivers/input/touchscreen/mcs6000_ts.c
i just forked nik_os kernel and added my workaround code to it so now all the features are implemented
waleedq said:
here is the workaround source code
https://github.com/waleedq/ThunderG-Kernel/blob/thunderg_oc/drivers/input/touchscreen/mcs6000_ts.c
i just forked nik_os kernel and added my workaround code to it so now all the features are implemented
Click to expand...
Click to collapse
That's perfect, thank you
you are welcome my friend hope that someone will make it better than this stage

[UTIL] Kexecboot Bootloader for Galaxy Note i717 - Boot Multiple Kernels

Well, it only took 2 years lol!
What is Kexec?
Kexec (kernel-execute) is a function of the Linux kernel that allows it to act as a bootloader to boot other kernels. Unfortunately, the standard implementation of kexec doesn't work quite right on most ARM devices due to poor driver support for hardware resets. The workaround is kexec-hardboot, a patch set that allows a kernel to be staged in RAM before performing an actual hardware reset through the phone's bootloader. Upon reboot the kexec-supporting kernel will check the magic location in RAM to see if a previously stored kernel is available, and if so, it will transfer execution to that kernel instead of booting itself.
Why use Kexec
It's a second-stage bootloader. The standard Android bootloader only allows two kernels to be installed at once - boot and recovery. This means that if you want a working recovery, you're only allowed one real OS kernel. If you want to dual-boot (or tri-boot or more) you're screwed. Kexec provides an answer to this. By replacing the boot kernel, kexec (with the kexecboot GUI) acts as a "second stage bootloader" allowing you to boot any number of kernels from any available storage devices. For instance, you have kexecboot in your boot partition and you can keep a kernel for Android installed in your Android system partition as well as an Ubuntu kernel and root filesystem on your SD card and be able to switch between Android and Ubuntu at boot time.
What is kexecboot
http://imgur.com/4GYomKX
Kexecboot is a graphical front-end for kexec. I have modified it to work with the kexec-hardboot patches. It scans all available storage devices for a boot.cfg file in which you define kernels, ramdisks, and kernel commandlines. You control it using volume up and down to move cursor, power to select.
Download
Get it here: https://mega.co.nz/#F!0ct3EaTD!wHWnGo1M_2smyKdzGMIYmw
The code
Kernel builder: https://github.com/CalcProgrammer1/kernel_quincyatt_kexec
This repository contains all the things you need to build a flashable kexecboot/kexec-hardboot enabled kernel image. It contains the ramdisk with the kexecboot binary and a script to package a flashable zip file. Included as submodules are the kernel source itself (kexec-hardboot branch, required to build the image) and the kexecboot source (optional, not used by default as you must build it using an ARM system, a pre-built binary is included if you don't want to build your own). The kernel source includes a defconfig called kexec_quincyatt_defconfig that sets the required config options for building a kexec-hardboot kernel.
Kexecboot Configuration File
Kexecboot replaces your boot kernel, so when you power up your phone it will go straight to the Kexecboot screen. The issue is now to provide kernels for kexecboot to boot into. This requires some work on your part, as you will have to store the kernel files (zImage and initrd) in a partition and write a configuration file to tell kexecboot where they are. This configuration file may contain multiple kernels, allowing you to have several different kernels available for the same OS or multiple OSes entirely. If you're coming from an Android system that distributes their kernel as a boot.img, you can use the abootimg program to extract it into a separate zImage and initrd.img binary.
The configuration file must be located on the path /boot/boot.cfg. This is relative to whatever partition/disk you are on, so for instance if you're setting up Android to boot from kexecboot, you would put your configuration file in /system/boot/boot.cfg (/data/boot/boot.cfg would work as well). You can also put a boot.cfg file on your SD card as long as you follow the /boot/boot.cfg path. Kexecboot automatically scans all available partitions for a boot.cfg file before it starts and builds a list of all available kernels across all detected boot.cfg files, so you may have Android in your /system partition and Debian on your SD card and both kernel lists will be shown together.
The Kexecboot web site provides a nice tutorial: http://kexecboot.org/documentation/how_to_write_config
The Note i717 bootloader passes a fairly long string of kernel arguments to the boot kernel. Since kexecboot overrides this for the kexec-booted kernel, you must provide this boot string in your boot.cfg file. Additionally, you may edit or add arguments to the command string here (such as setting console=tty0 instead of the default console=null so you can use the framebuffer console).
For example, here is my /system/boot/boot.cfg for CyanogenMod 11 (with kernel and initrd.img, extracted via abootimg, in /system/boot/)
Code:
# kexecboot configuration file
# CM11 default kernel
LABEL=CyanogenMod 11
KERNEL=/boot/zImage
INITRD=/boot/initrd.img
APPEND="androidboot.hardware=qcom usb_id_pin_rework=true no_console_suspend=true zcache [email protected] [email protected] sec_debug.reset_reason=0x1a2b3c00 pmem_sf_addr=0x7a000000 pmem_sf_size=0x6000000 console=null sec_debug.enable=0 sec_debug.enable_user=0 appsbark=0 msm_watchdog.enable=1 msm_watchdog.bark_time=30 msm_watchdog.bite_time=31 vmalloc=512m hw_rev=12 lpj=67702 androidboot.emmc=true androidboot.serialno=32c245ca androidboot.baseband=csfb"
I'm not sure how much of that you actually need, but you do need at least some of it because with an empty APPEND= it does not boot. You also do have to put the quotation marks around it or else parsing of one of the options will fail.
I'll admit limited understanding of what you're accomplishing here, but seems to me that this could lead to dual booting on the Note. Nice work.
Good luck.
Nice work! Thanks for the work you've done thus far. Unfortunately I have no way to help you out other than morale support! :highfive:
lactardjosh said:
I'll admit limited understanding of what you're accomplishing here, but seems to me that this could lead to dual booting on the Note. Nice work.
Good luck.
Click to expand...
Click to collapse
Pretty much what it comes down to, testing kernels and roms without having to flash into nand. I can't wait for dualbooting from Sd on the Note.
I have ORD , please help!!
My main goal here is native Linux, but if kexec works then you can boot custom Android dev kernels, native Linux kernels, other mobile OS'es, etc. The SGSIII team seems to have found some interesting kexec solutions for the Verizon SGSIII due to its locked bootloader. They've posted a good deal of kexec patches which I'm trying to bring to the Note, including a custom kexec-hardboot option that fully reboots the device into the new kernel (apparently to make sure the radio and such are working).
CalcProgrammer1 said:
My main goal here is native Linux, but if kexec works then you can boot custom Android dev kernels, native Linux kernels, other mobile OS'es, etc. The SGSIII team seems to have found some interesting kexec solutions for the Verizon SGSIII due to its locked bootloader. They've posted a good deal of kexec patches which I'm trying to bring to the Note, including a custom kexec-hardboot option that fully reboots the device into the new kernel (apparently to make sure the radio and such are working).
Click to expand...
Click to collapse
Wonderful, wonderful work!!! :thumbup::thumbup::thumbup:
Sent from my SAMSUNG-SGH-I717 using xda premium
Uh...It all sounded like this:
dual kernel (i'm gonna brick) kexec will allow (me to brick my phone).....with native linux applications ('im gonna brick my phone cause i'm stupid)....LOL
while i know what your doing, that in no way means i will ever understand it...LOL
But i will thank you in advance for what sounds like a sick mod for our notes...
Many thanks Dev !!!!
Kexec is actually (if done right) a good way *not* to brick your phone. To run kernels, you usually have to flash them to a restricted boot section of the memory, and if you flash all non-working kernels (to download, recovery, and main) then you have no way to use your phone, as it won't boot up. If you use kexec, your working kernel is safely stored on the boot partition and your development kernels can be wherever, and if it doesn't boot you can just hold down POWER to hard reboot into your good kernel.
The problem is that it doesn't seem to be working, I think I have the kexec support built properly but haven't been able to boot any kernels without it crashing.
CalcProgrammer1 said:
Kexec is actually (if done right) a good way *not* to brick your phone. To run kernels, you usually have to flash them to a restricted boot section of the memory, and if you flash all non-working kernels (to download, recovery, and main) then you have no way to use your phone, as it won't boot up. If you use kexec, your working kernel is safely stored on the boot partition and your development kernels can be wherever, and if it doesn't boot you can just hold down POWER to hard reboot into your good kernel.
The problem is that it doesn't seem to be working, I think I have the kexec support built properly but haven't been able to boot any kernels without it crashing.
Click to expand...
Click to collapse
I know you'll crack it ....
And when you do ....you'll be the galaxy note GOD !!!....LOL
your effort is much appreciated Sir ....even if I'm scared to use it , but will anyway ...lol
So I'm still confused as to why my kexec didn't work. I'm going to build a TouchPad kernel with it enabled and repeat the test on it, since I have a known-good kernel to boot against. I'll let you know how that goes.
Sent from my SAMSUNG-SGH-I717
Ok, so long-time-no-see but I'm reviving this post! Now that my Note 3 is happily running Cyanogenmod I have no urgent need for my Note 1 and can hack on it!
So far I haven't gotten kexec working, but I do have:
1. Kexecboot (graphical kexec frontend) is working, detects OS images appropriately
2. Framebuffer Console (text-mode display, USB OTG keyboard supported for interactive command line)
3. Overriding bootloader command line (to enable the fbconsole you need console=tty1 but the bootloader passes console=null)
4. Framebuffer console rotation (boot up in landscape or portrait, no way to switch without recompiling at the moment)
5. Most of kexec-hardboot ported from the HP TouchPad port, no clue if it's promising or not as so far it just crashes after a while of nothing
6. Ubuntu 13.04 (desktop edition) rootfs installed on SD card in a chroot, also taken from HP TouchPad
What I'm working on:
1. Kexec-hardboot port (needed to use kexec properly and boot kernels)
2. Fixing fbconsole glitching (framebuffer console displays garbled text that slowly clears up, no clue why...reading /dev/fb0 repeatedly clears up the display immediately and is a dirty hack that works well enough for testing)
3. Networking (either USB Ethernet or integrated WiFi, going to try backported brcmfmac driver)
4. Ubuntu (that's the long-term plan here)
5. Note 3 S800 port if I get everything figured out here
CalcProgrammer1 said:
Ok, so long-time-no-see but I'm reviving this post! Now that my Note 3 is happily running Cyanogenmod I have no urgent need for my Note 1 and can hack on it!
So far I haven't gotten kexec working, but I do have:
1. Kexecboot (graphical kexec frontend) is working, detects OS images appropriately
2. Framebuffer Console (text-mode display, USB OTG keyboard supported for interactive command line)
3. Overriding bootloader command line (to enable the fbconsole you need console=tty1 but the bootloader passes console=null)
4. Framebuffer console rotation (boot up in landscape or portrait, no way to switch without recompiling at the moment)
5. Most of kexec-hardboot ported from the HP TouchPad port, no clue if it's promising or not as so far it just crashes after a while of nothing
6. Ubuntu 13.04 (desktop edition) rootfs installed on SD card in a chroot, also taken from HP TouchPad
What I'm working on:
1. Kexec-hardboot port (needed to use kexec properly and boot kernels)
2. Fixing fbconsole glitching (framebuffer console displays garbled text that slowly clears up, no clue why...reading /dev/fb0 repeatedly clears up the display immediately and is a dirty hack that works well enough for testing)
3. Networking (either USB Ethernet or integrated WiFi, going to try backported brcmfmac driver)
4. Ubuntu (that's the long-term plan here)
5. Note 3 S800 port if I get everything figured out here
Click to expand...
Click to collapse
Long time in the making. Glad to see you're still at it. Hope you are able to get it working. Would be pretty cool. Good luck
If you can get this working up to kernel with freedreno I'd be all over working on getting Plasma Active onto this thing. I've missed having a real linux phone since my n900 died.
Got Bluetooth working from the command line!
Code:
# rfkill unblock all
# hciattach /dev/ttyHS0 any
# hcitool scan
It detected my Note 3 which I had set to visible! Hopefully I can pair a BT keyboard with this and lose the USB OTG dependency. Still working on figuring out WiFi, I have the brcmfmac driver from 3.13 backports compiled and loaded but the WiFi chip isn't being detected so the driver never creates an interface for it. The chip is a Broadcom BCM4330 WiFi/Bluetooth chip, and although both WiFi and Bluetooth share the same chip they use different interfaces to the SoC (UART for BT and SDIO for WiFi).
I plan on doing more research into getting the hardware working before I do any more work on kexec. It will be much easier to debug kexec I think knowing how to use WiFi/BT/USB/etc. The only hardware I'm not going to attempt at all is the modem as I don't use this device as a phone anymore and don't have a SIM card in it. That said, all the rmnetX entries that I think are modem interfaces show in ifconfig -a so maybe it is working.
My kernel source is here:
https://github.com/CalcProgrammer1/ubuntu-kernel-quincyatt
The kexec branch will have the kexec hardboot patches once I figure them out. I've also got a folder set up with a script to automatically build the kernel zImage, build the modules, build the backport driver modules, build the ramdisk from a ramdisk root folder, build the boot.img, and then package that up in a flashable .zip. I'll upload parts of this system as I complete them. I also have an Ubuntu rootfs on my external ext4 (or was it 3?) SD card that I ripped straight off my TouchPad. For now I'm just using a busybox shell in my ramdisk, dropping out of kexecboot into ash, setting up a chroot for the SD card, and chrooting into the Ubuntu rootfs that way. It's not ideal since Ubuntu's init process doesn't run but it does allow me to run all the installed utilites from said rootfs.
Edit: Rii Mini Bluetooth Keyboard paired and working! It was a roundabout way of doing so because dbus and upstart don't work in chroot so I had to use an old package called bluez-compat which provides the hidd command. I sideloaded the .deb with a flash drive. The command to pair a keyboard:
Code:
# hcitool scan
Scanning ...
XX:XX:XX:XX:XX:XX Bluetooth device name
# hidd --connect XX:XX:XX:XX:XX:XX &
XX:XX:XX:XX:XX:XX will be a hex value that is your keyboard's address. You find the address with the scan command and enter it on the hidd command to connect. I didn't have to enter any kind of passcode or pairing key, after running hidd it just started working.
http://imgur.com/2sV3TJr
I got it! I finally managed to get kexec hardboot working! I had to rewrite a bit of code in the kexecboot program to support kexec-hardboot better but I now have a bootloader that is working correctly, if slowly. I'll be posting my kernel source soon (it's a branch off of CyanogenMod's msm8660-common kernel) as well as my modifications to kexecboot itself. The kexec-tools binary I took out of the HP TouchPad port unmodified so I don't have the source for that (though it shouldn't be hard to find). I'll be looking into a Note 3 port soon, basically used the Note 1 as the guinea pig for this experiment.
If, somehow, you could adapt this for the ATT Mega 6.3 so as to bypass the locked tight bootloater.....you would be considered a hero!! People would build statues of you....write songs and name their children after you!!!!!?
Sent from my SM-T310 using XDA Premium 4 mobile app
Unfortunately you require an unlocked bootloader to install the kexecboot kernel. This isn't going to be a magic bullet for locked bootloaders. People have tried. For devices with exploitable bootloaders, it may help as you won't have to fake-sign kexec-booted kernels though.
CalcProgrammer1 said:
Unfortunately you require an unlocked bootloader to install the kexecboot kernel. This isn't going to be a magic bullet for locked bootloaders. People have tried. For devices with exploitable bootloaders, it may help as you won't have to fake-sign kexec-booted kernels though.
Click to expand...
Click to collapse
Grasping at straws, My Friend. Hoping that maybe this could be something like SafeStrap and could be d/l and installed as an APK.
Sent from my SAMSUNG-SGH-I527 using XDA Premium 4 mobile app
Got Debian booting! I also figured out how to get WiFi working from a non-Android Linux OS so this is definitely on track towards a full desktop OS!
To-do:
* X server, preferably with Freedreno GPU driver eventually
* Audio (q6.* firmware files and possibly an ALSA config)
* Startup scripts for Bluetooth initialization
* Figure out how to rotate the screen
dparrothead1 said:
If, somehow, you could adapt this for the ATT Mega 6.3 so as to bypass the locked tight bootloater.....you would be considered a hero!! People would build statues of you....write songs and name their children after you!!!!!?
Sent from my SM-T310 using XDA Premium 4 mobile app
Click to expand...
Click to collapse
I wont be having anymore children to name, but I can do a dog. He is too stoopid to know the difference. I can say aluminum foil and he will come running.
Sent from my SAMSUNG-SGH-I527 using XDA Free mobile app

[DEV][KERNEL]f2fs support

Samsung recently announced the new F2FS file system https://lwn.net/Articles/518718/, Im going to get the ball rolling on this, i have compiled a kernel that supports the new file system based off of fauxs source. im only posting the zimage for people who know what they are doing. For this to be usable a new recovery needs to be built to support formatting to F2FS. and possible the bootloader(not currently possible). so the best approach at this point is to build a new recovery and format only system and data to f2fs leaving boot as ext4. Im looking into it but im not very famlier with recovery. modifications need to be made to the android build system but they are trivial. Im ataching a compiled zimage and the patch files to add to any kernel. patches 01 and 16 dont apply so they will need to be done by hand. everything else applies clean.
This looks very intriguing, I haven't heard of it until now and it looks like it could bring some definite speed advantages. I can't wait to give this a whirl on my Android devices and my Arch Linux install which runs off of an SSD.
its going to be a challenge to get it runnig under android, its going to take some collaboration and time
Looks interesting. I may try to help when I get time but I haven't built an n7 kernel. Shouldn't be hard. Also need to add kernel support for the filesystem and at least add the mkfs tool to recovery so it can be formatted via adb shell.
Sent from my Galaxy Nexus using Tapatalk 2
tiny4579 said:
Looks interesting. I may try to help when I get time but I haven't built an n7 kernel. Shouldn't be hard. Also need to add kernel support for the filesystem and at least add the mkfs tool to recovery so it can be formatted via adb shell.
Sent from my Galaxy Nexus using Tapatalk 2
Click to expand...
Click to collapse
The largest change that needs to happen right now is recovery, which I'm not very familiar with
Sent from my PG86100 using Tapatalk 2
The bootloader doesn't need to know anything about the filesystem, it loads the kernel directly a preset offset.
That's why you flash a kernel, and not mount the boot partition and unzip it.
So, all that's needed to support a new filesystem is adding the code to the kernel, and enabling it in the defconfig, and then you can use userspace utilities to format partitions to that new filesystem.
F2FS is still immature, they haven't released a fsck tool for it yet, and the mkfs binary they provided is probably x86, so there's no way you can use it on the Nexus 7 now.
Just checked out their sourceforge project, check below post, they have provided source for mkfs.
Also, the recovery needs to be modified only if the default format of the partitions is being changed, and that'll need changes in the fstab as well to mount the filesystem as something other than what it was set to by default.
Nothing will need to be changed in the Android Build System as well, unless you wan't to generate f2fs system images.
f2fs-tools-1.0.0.tar.gz includes source, not binaries.
http://lkml.indiana.edu/hypermail/linux/kernel/1210.2/00005.html 1.5 to 2 times faster, Im going to look into this again it seems very worthwhile
I don't know much about this stuff, more of a user over here, but I sure know when to get excited about something. :victory:
I've read a few things about the new file system and was particularly impressed with the benchmark performance. I really hope to see this becoming a standard feature of android. Please keep up the work. You've found yourself an early adopter.
Thanks again and kudos!
aaronpoweruser said:
http://lkml.indiana.edu/hypermail/linux/kernel/1210.2/00005.html 1.5 to 2 times faster, Im going to look into this again it seems very worthwhile
Click to expand...
Click to collapse
Hi, I also think this seems very worthwhile, maybe even porting it to maguro. This thread was a nice start, I've created a thread on my device's general section, but no replies pushing forward yet.
I looked into it the best option for now would be to format an external SDcard, but that would make it un mountable by a pc. In order to make it work with an internal storage the android build tools will need to be reverted reworked as well as recovery
Sent from my Nexus 7 using Tapatalk HD
aaronpoweruser said:
I looked into it the best option for now would be to format an external SDcard, but that would make it un mountable by a pc. In order to make it work with an internal storage the android build tools will need to be reverted reworked as well as recovery
Sent from my Nexus 7 using Tapatalk HD
Click to expand...
Click to collapse
thanks, that's what i thought too, build tools/recovery, a few touches here and there xD
f2fs would be unreadable by a pc... by a Windows pc.

[I9505] Ubuntu Touch Development

Ok guys, starting this theard also to find other devs that also are working on porting ubuntu touch to the same device and buildup a team, anyone interested?
So my 1st try was when CM wasn't final release and got stuck at boot, i could connect with adb, but i only got displayed ubuntu and kernel version, and only a few commands worked, this is my 2nd try, so let's hope it will work better this time, also i will put my work on github.
24.NOV.2013:
-Having issues with libstagefright: http://pastebin.com/C8cuCAYA
Not much at rom porting but I'm a strictly linux only user and will help anyway I can. Send me a pm or post where your git is.
Sent from my GT-I9505 using xda app-developers
JustSueMe said:
Not much at rom porting but I'm a strictly linux only user and will help anyway I can. Send me a pm or post where your git is.
Sent from my GT-I9505 using xda app-developers
Click to expand...
Click to collapse
Nice to have people interested in this project, I will get GIT up when I will have it running 1st 13.10 since its stable.
nyl said:
Nice to have people interested in this project, I will get GIT up when I will have it running 1st 13.10 since its stable.
Click to expand...
Click to collapse
Nice I have a dev build env for ubuntu touch but unsure how to pull repo for unknown device. But if u get a build that boots I'm more than eager to work on it
Sent from my GT-I9505 using xda app-developers app
I've tried a few times to get it going for the M919 but each time I can't get past the Samsung Splash screen. I wasn't even able to connect via adb. Granted, I don't exactly know what I'm doing, but I do have a build environment set up and do have a little experience building and debugging builds. I should have time to tinker with it again in a few weeks.
ubuntu build
nyl said:
Nice to have people interested in this project, I will get GIT up when I will have it running 1st 13.10 since its stable.
Click to expand...
Click to collapse
i have a build enviroment made up and pulled repos ect.. i just need to work a few things out before im ready to test it and post on here, if you can point in right direction (if yours boots)
need to do the audio part but can boot without sound in the alpha
neeed to add in apparmor later, can be done later ubuntu should boot without it
brightness, i dont think it matters so much as booting up is priority but i dont seem to have file it wants me to change "device/[manufacturer]/[codename]/init.[codename].rc"
problem with the way fstab has to be setup
within my android source my fstab is "void.fstab" which has lines that look like :
dev_mount sdcard /storage/sdcard1 auto /devices/platform/msm_sdcc.4/mmc_host/mmc2/ /devices/platform/msm_sdcc.2/mmc_host/mmc2/
ubuntu port guide for fstab asks to find a filename like "fstab.jfltexx" and have lines that look like:
/dev/block/platform/omap/omap_hsmmc.1/by-name/EFS /efs ext4 nosuid,nodev,barrier=1
help with fstab will be much appreciated.
then ill make my build ready for testing/debugging + suppose ill upload files output files for others that are interested to use
Try this
Code:
# Android fstab file.
# The filesystem that contains the filesystem checker binary (typically /system) cannot
# specify MF_CHECK, and must come before any filesystems that do specify MF_CHECK
/dev/block/platform/msm_sdcc.1/by-name/system /system ext4 ro,barrier=1,errors=panic wait
/dev/block/platform/msm_sdcc.1/by-name/cache /cache ext4 noatime,nosuid,nodev,journal_async_commit wait,check
/dev/block/platform/msm_sdcc.1/by-name/userdata /data ext4 noatime,nosuid,nodev,journal_async_commit,noauto_da_alloc,errors=panic wait,check,encryptable=footer,length=-16384
# recovery
/dev/block/platform/msm_sdcc.1/by-name/boot /boot emmc defaults recoveryonly
/dev/block/platform/msm_sdcc.1/by-name/recovery /recovery emmc defaults recoveryonly
# vold managed volumes
/devices/platform/msm_sdcc.2/mmc_host/mmc2 auto auto defaults voldmanaged=sdcard1:auto
/devices/platform/msm_hsusb_host/usb auto auto defaults voldmanaged=sda:auto
Yes I used part of that, problem now is compile errors, I have fixed a lot of them which involved discarding some features for the time being.
Boot is the main priority though
Im stuck on a compile errors for shared library, ill attempt this one after I've slept.
Hope fully this is the last error, then ill have a .zip to upload .
Thats some great news ^^
What is the rom size?
Sent from my GT-I9505 using XDA Premium 4 mobile app
coolnessQ said:
Thats some great news ^^
What is the rom size?
Sent from my GT-I9505 using XDA Premium 4 mobile app
Click to expand...
Click to collapse
Erm i haven't got a system to flash yet, possibly I could try just getting a boot.img and flashing a ubuntu filesystem but the system modified will be needed to boot fully, in theory I'd only get a shell. I did have a boot.img [seemed to have misplaced it :s , comes out at 7.3mb]
When I've got more time I will go bk to source code and try work out how to solve the errors so I can have boot.img and system.img.
If anyone else is working on this, share problems and solutions With me ti help further the progress.
JustSueMe said:
Erm i haven't got a system to flash yet, possibly I could try just getting a boot.img and flashing a ubuntu filesystem but the system modified will be needed to boot fully, in theory I'd only get a shell. I did have a boot.img [seemed to have misplaced it :s , comes out at 7.3mb]
When I've got more time I will go bk to source code and try work out how to solve the errors so I can have boot.img and system.img.
If anyone else is working on this, share problems and solutions With me ti help further the progress.
Click to expand...
Click to collapse
are you unsing tw stock sources for the kernel? with 7.3mb it almost looks like that.
I have tried porting it before and here is my advise, you really have to look at the errors that it gives you during compiling rather then skipping it, or ignoring it, this is the only way you will get it decently working. the rom itself is only around 100mb if i remember correctly. the ubuntu package is like 400mb on top, but thats all proprietary files so universal.
Im using ubuntu tool.
So sources come from cyanogen's clone with modifications (if thats correct)
Yes I have been fixing errors hence no nfc support, but atm it's a problem with libstagefright [hardware video decoder] I was advised to remove it as not needed to make 1st boot but seems to be hardcoded in there
$ grep -r -H "stagefright" *
JustSueMe said:
Im using ubuntu tool.
So sources come from cyanogen's clone with modifications (if thats correct)
Yes I have been fixing errors hence no nfc support, but atm it's a problem with libstagefright [hardware video decoder] I was advised to remove it as not needed to make 1st boot but seems to be hardcoded in there
$ grep -r -H "stagefright" *
Click to expand...
Click to collapse
Here is the reference :good:
Code:
[email protected] /media/broodplank/linuxdatanew/AOSP-KK/device/samsung $ grep -r 'stagefright' .
./qcom-common/qcom-common.mk: libstagefrighthw \
also if you need clean sources for some particular things just use my repos from AOSP 4.3 (https://github.com/aosp-s4). it only includes the needed commits for jf devices only. way less filled with potential compile breakers like the source of cm.
broodplank1337 said:
Here is the reference :good:
Code:
[email protected] /media/broodplank/linuxdatanew/AOSP-KK/device/samsung $ grep -r 'stagefright' .
./qcom-common/qcom-common.mk: libstagefrighthw \
also if you need clean sources for some particular things just use my repos from AOSP 4.3 (https://github.com/aosp-s4). it only includes the needed commits for jf devices only. way less filled with potential compile breakers like the source of cm.
Click to expand...
Click to collapse
Ah I see this seems to of cleared it up abit for me, im busy today but may get look in at code, if not then tomorrow and clean it up abit and try recompile.
If it looks like a lost cause ill jump over to your git and pull that repo.
Fingers crossed
Sent from my GT-I9505 using xda app-developers app
commit to github so we can all take a look at it
.
..
You need to copy some header files for libstagefright to compile:
cp hardware/qcom/media/mm-core/inc/QCMediaDefs.h frameworks/av/media/libstagefright/
cp hardware/qcom/media/mm-core/inc/QCMetaData.h frameworks/av/media/libstagefright/
cp hardware/qcom/media/mm-
core/inc/QOMX_AudioExtensions.h frameworks/av/media/libstagefright/
cp hardware/qcom/media/mm-core/inc/OMX_QCOMExtns.h frameworks/av/media/libstagefright/
cp hardware/qcom/media/mm-core/inc/QCMediaDefs.h frameworks/av/media/libmediaplayerservice
My cm compiled but it wont boot (after flashing .zip and ubuntu system)
hmm.. did you remove all unecessary APPS? that are only needed by android not ubuntu touch? at you it seems relating to mounting points, something in your source doesn't let the kernel mount the partitions, maybe find a different approach to mount and add it to the source tree.
http://e2fsprogs.sourceforge.net/
everyone with interest in using ubuntu
if your interested in ubuntu touch on jfltexx and want to help
your now in luck
go here http://forum.xda-developers.com/showthread.php?p=48344910#post48344910
there is the download links and a few fixes for connectivity
Here is the link to the AT&T/Tmobile rom download : http://www.androidfilehost.com/?fid=23252070760974893'
Here is the link to the how to site (now instead of the phablet download use the one above) : http://forum.xda-developers.com/showthread.php?t=2564187
Oh and you need to flash the lokidoki zip file if used for AT&T.
Had it working perfectly, it is in extreme alpha, I had the wifi working and sound only works when plugged into headphones.
This should be more than enough to get the rom started up and getting a nice UT running shortly where everything works :3
I am not responsible for whatever happens to you or your device before, during, or after this. :3

Categories

Resources