Related
I read in the bootloader development thread that it'd reached a level where it could almost boot into a custom system image stored on the SD card. Some questions about that:
1. The creation of that image, is it similar to how it's done for use with the XDAndroid project? (The porting of Android to HTC WinMo devices)
2. Is there a way to avoid having to reflash the device after every attempt? It looks like the boot-scripts take control pretty early in the process so having a choice if you want to proceed would be awesome, especially since I can't figure out how to get hold of a bootlog.
Thanks
ddewbofh said:
1. The creation of that image, is it similar to how it's done for use with the XDAndroid project? (The porting of Android to HTC WinMo devices)
Click to expand...
Click to collapse
I have no clue how they do it for XDAndroid, but here's how I created mine:
dd if=/dev/zero of=rootfs.ext2 bs=1M count=512 (for 512Mb fixed size)
mkfs.ext2 rootfs.ext2 (press y to accept)
mount somewhere
copy your stuff into
umount
ddewbofh said:
2. Is there a way to avoid having to reflash the device after every attempt? It looks like the boot-scripts take control pretty early in the process so having a choice if you want to proceed would be awesome, especially since I can't figure out how to get hold of a bootlog.
Click to expand...
Click to collapse
You don't need to re/flash at all. Pressing any key during the bootup will cancel the script and get you back into old good SE's 1.6
zdzihu said:
You don't need to re/flash at all. Pressing any key during the bootup will cancel the script and get you back into old good SE's 1.6
Click to expand...
Click to collapse
I've tried hammering all the keys without any success, since it works for you maybe I'm doing it at the wrong time. Where in the boot process do you do it?
And thanks for the tip about the image, didn't want to risk messing something up since I had to reflash after every try.
ddewbofh said:
I've tried hammering all the keys without any success, since it works for you maybe I'm doing it at the wrong time. Where in the boot process do you do it?
Click to expand...
Click to collapse
Bash them for a while as soon as you see SE logo appearing
ddewbofh said:
And thanks for the tip about the image, didn't want to risk messing something up since I had to reflash after every try.
Click to expand...
Click to collapse
Make sure you either name your image rootfs.img (not .ext2) or edit the init in the ramdisk accordingly.
Cheers
Thanks, that should make things much, much easier.
zdzihu said:
I have no clue how they do it for XDAndroid, but here's how I created mine:
dd if=/dev/zero of=rootfs.ext2 bs=1M count=512 (for 512Mb fixed size)
mkfs.ext2 rootfs.ext2 (press y to accept)
mount somewhere
copy your stuff into
umount
You don't need to re/flash at all. Pressing any key during the bootup will cancel the script and get you back into old good SE's 1.6
Click to expand...
Click to collapse
is there different form flash?
I've figured out why my phone refuses to go back to normal after testing the chroot. It needs grep and the standard sh doesn't provide it nor is there a grep symlink/binary in /system/bin so I'll add those manually.
Anyways, if anyone has a script or something to do all this it would be very helpful. I'm not looking forward to going over tons of symlinks manually.
ddewbofh said:
I've figured out why my phone refuses to go back to normal after testing the chroot. It needs grep and the standard sh doesn't provide it nor is there a grep symlink/binary in /system/bin so I'll add those manually.
Anyways, if anyone has a script or something to do all this it would be very helpful. I'm not looking forward to going over tons of symlinks manually.
Click to expand...
Click to collapse
How about busybox --install -s /your_destination_dir ?
zdzihu said:
How about busybox --install -s /your_destination_dir ?
Click to expand...
Click to collapse
Awesome, thanks. My knowledge about busybox is limited at best so when I saw install listed as a busybox function I assumed it was the "normal" install command.
In the quest for finding a way to use custom kernels I'm playing around with the splboot module but I need to find a way to get hold of dmesg or kmsg from failed attempts. Is there a reliable way to get any of these logs?
I've tried adding a line in the mount_iso script which cats kmsg to a file right before executing the splboot but I'm seeing nothing that would indicate that I'm running anything but the stock kernel.
Any ideas?
Alright, so the root filesystem image is in /mnt/system/androidmerged.squashfs.secure
So do a temp root, copy to /mnt/storage, and then a adb pull gets it over.
The squashfs itself is offset by 256 bytes, so:
losetup -o 256 /dev/loop0 ./androidmerged.squashfs.secure
At this point, the FS can be mounted or unsquashfs can be used to extract it.
So, what's the first 256 bytes? The secure implies some type of signature, but what kind, and what else is in all those bytes?
I'm not feeling brave enough to try just grabbing the first 256 bytes and appending a modified squashfs image to it on my device just yet, but if others try please report back. (On both if it works, and if not what it takes to recover the unit.)
how big is it? can you upload it somewhere? (or would this be illegal?)
damm.. i need my 101!
chulri said:
how big is it? can you upload it somewhere? (or would this be illegal?)
damm.. i need my 101!
Click to expand...
Click to collapse
75 MB - uploading now
Edit: And up: http://hotfile.com/dl/88050103/f99f306/androidmerged.squashfs.secure.html
thx!
how would you replace the root fs image on the device?
chulri said:
how would you replace the root fs image on the device?
Click to expand...
Click to collapse
Connect via ADB, do a temproot, put the file in /mnt/storage, then copy it into /mnt/system overwriting the existing file. /mnt/storage is an ext3 filesystem mounted read/write, however I simply do not know if it will be possible to recover the unit if there is some kind of signature verification and we fail due to a modified image.
Again, someone braver then I should make this attempt and let us know how it goes.
The source did not give all that many hints, but I need to dig through in some more detail.
zelch said:
Connect via ADB, do a temproot, put the file in /mnt/storage, then copy it into /mnt/system overwriting the existing file. /mnt/storage is an ext3 filesystem mounted read/write, however I simply do not know if it will be possible to recover the unit if there is some kind of signature verification and we fail due to a modified image.
Again, someone braver then I should make this attempt and let us know how it goes.
The source did not give all that many hints, but I need to dig through in some more detail.
Click to expand...
Click to collapse
If the unit will still boot to recovery could a full wipe and reinstall of the base AOS over USB get it back up and running?
krohnjw said:
If the unit will still boot to recovery could a full wipe and reinstall of the base AOS over USB get it back up and running?
Click to expand...
Click to collapse
Recovery shouldn't be part of the FS so at worst, you'd have to do a format/firmware install.
You can do a full system wipe/format from recovery. it's not in any damageable storage by us without flashing a new recovery image.
Interesting about the front 256 bytes. It must be a signature. Not sure what good rebuilding the squashfs will do as it'll still be read only but it's a start. We could at least update the system properly and install the appropriate apps. Maybe in make some of the system dirs symlinks to writable locations possibly.
Permroot, giving us a filesystem mounted RW and not no-suid.
Ideally, I'd like to have decent support for the internal storage being ext3 without nosuid, but first we need to be able to replace the root filesystem image.
Other notes..
Looking at the hexdumps, the 256 byte chunk does not contain the start of the md5, sha1, sha224, sha256, sha384, or sha512 checksums.
The most troubling option which comes to mind is that it is the right size for a RSA 2048 bit block, hopefully not.
Anyone have ideas on how to find the initramfs image that the bootloader is feeding the kernel?
For that matter, has anyone tried taking apart the OS update images?
zelch said:
For that matter, has anyone tried taking apart the OS update images?
Click to expand...
Click to collapse
I think the aos file or the responsible installer/updater should give us a lot of information about how this stuff can be updated.
chulri said:
I think the aos file or the responsible installer/updater should give us a lot of information about how this stuff can be updated.
Click to expand...
Click to collapse
Agreed.
It looks like usr/bin/abcbox in the root filesystem has something to do with the update process.
zelch said:
Agreed.
It looks like usr/bin/abcbox in the root filesystem has something to do with the update process.
Click to expand...
Click to collapse
And it definitely is!
On a rooted device:
Code:
/usr/bin # PATH=$PATH:/tmp
/usr/bin # ln -s /usr/bin/abcbox /tmp/cramfschecker
/usr/bin # cramfschecker
USAGE: cramfschecker FILENAME
/usr/bin # cramfschecker /mnt/system/androidmerged.squashfs.secure
cramfschecker : check against 2.0.54
cramfschecker verification OK
Anyone with some ARM disassembly skills feeling up to taking abcbox apart to see how it's doing the signature check?
And so I've been digging into this, and it turns out that this is really quite similar to how the Gen 7 Archos 5 IT is locked.
The signature there is a RSA + MD5 signature, which is really the worst case as that means a 2048 bit RSA key, so we're kinda screwed there.
http://strazzere.com/blog/?p=320 has a good description of the situation on the 5IT. Getting a flash_unlock binary should be fairly trivial, so perhaps we can tamper with the key store to add additional keys.
ah zelch, this is good stuff.
i'm gonna diff the archos gpl kernel, looking for changes at mtd stuff. maybe we can build a kernel module which enables r/w access to stage1
edit: or do we already have r/w access?
This stuff is all pretty interesting to read, but if I'm reading this correctly (and it is entirely possible I'm not) it looks kind of like this device is going to be a total pain in the ass to root, and it may take a considerable amount of time for us to get there.
Can someone who is more knowledgeable on this sort of thing verify that? Thanks for all your hard work guys. It's appreciated.
its definitly not going to be that easy as other android devices were but would it be so interesting if it wouldn't be so hard to root?
While that's true, it will make it a bigger triumph when it is finally rooted, the tinkerer in me is dying to mess with roms on this device and see what it can really do once it's cracked open. Keep up the great work guys, I'm following with baited breath.
Write to stage1 appears to exist, and indeed looking at /proc/mounts /mnt/rawfs is mounted rw. Looking at the kernel source, write support should Just Work.
So, looking through /mnt/rawfs avboot is clearly the boot loader which verifies stuff, but we lack source for it.
I have absolutely no knowledge of ARM asm, and screwing this up will absolutely brick your device, quite possibly beyond repair. (And I wouldn't bet on ArchOS being willing to replace it either, I sure wouldn't.)
So, anyone with the right background willing to step in here?
I'll keep digging, perhaps we can still find the answers.
Note: avboot has some strings which reference a development kernel, this bears some additional hunting.
I still haven't got my A101, but its finally on its way to my home.
can you please upload these files and give me kind of a tree of the folder structure?
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?
Hey devs, owain got a nice Dualboot Script, I modded it, added some lines and fixed some wrong ones, here it is:
IF YOU WANT TO MAKE ANY CHANGE, PLEASE CLICK ON MAKE A NEW VERSION OF THIS PASTE!
Recovery sucessfully modded, chargemon still bad...
And there's where we need help, thanks to everyone of you devs , tip, take a look @ xrecovery sources here, Thanks to zdzihu, im looking into that..
THIS IS A DEV THREAD PLEASE DON'T SPAM HERE
This will be good.. we can make it like reboot to xrec! and maybe we can try porting windows ME 6.0 or something! or maybe two ROM.. and final Question... Does this script really work.. means i really don't find problem in it.. but still asking!
newtron_b1 said:
This will be good.. we can make it like reboot to xrec! and maybe we can try porting windows ME 6.0 or something! or maybe two ROM.. and final Question... Does this script really work.. means i really don't find problem in it.. but still asking!
Click to expand...
Click to collapse
Im sorry, this is a dev related post, as you can see on [DEV] tag, but anyway, Script should work not tested yet, and windows mobile port it's almost impossible, this is made to dual boot 2 android roms
Hell yeah! can't wait for Multiboot.
so Froyo, and Gingerbread at the same time will be possible some times?
Quote myself:
THIS IS A DEV THREAD PLEASE DON'T SPAM HERE
Click to expand...
Click to collapse
And please don't reply saying im sorry... cuz that's spam no offends to nobody ofc
so Froyo, and Gingerbread at the same time will be possible some times? -> Yes, but dont ask more, this is a dev thread, if we got it we're gonna change [DEV] to script o whatever
btw: good night need 2 sleep some
DEV INFO: Discovered a way to make it but without interface, tomorrow will post more info
D4rKn3sSyS said:
Im sorry, this is a dev related post, as you can see on [DEV] tag, but anyway, Script should work not tested yet, and windows mobile port it's almost impossible, this is made to dual boot 2 android roms
Click to expand...
Click to collapse
uhm hell yeah it is tested
!for DEV's only (and people that know what they are doing)!
to make the images that are placed on the sdcard
make 3 ext2fs images
system.img size: 256 MB
data.img size: 512 MB
cache.img size: 256 MB
you van make them bigger or smaller but i recommand this sizes
make an NANDROID backup from the rom that you want on the sdcard
FACTORY RESET FIRST! THEN BACKUP!!!!!!!
user in the next lines is ofc your username
put the NANDROID images at /home/user/nandroid/dualboot/
and put the ext2fs images at /home/user/ext2fs/dualboot/
and make this dir /home/user/mountpoints/
now run all these lines!
you will need unyaffs on our pc!
Code:
sudo su
mv system.img /home/user/nandroid/dualboot/system/
cd /home/user/nandroid/dualboot/system/
unyaffs system.img
mv system.img ../.
mv data.img /home/user/nandroid/dualboot/data/
cd /home/user/nandroid/dualboot/data/
unyaffs data.img
mv data.img ../.
mv cache.img /home/user/nandroid/dualboot/cache/
cd /home/user/nandroid/dualboot/cache/
unyaffs cache.img
mv cache.img ../.
mount -t ext2 -o loop,rw,noatime,nodiratime /home/user/ext2fs/dualboot/system.img /home/user/mntpts/system/
mount -t ext2 -o loop,rw,noatime,nodiratime,nosuid,nodev /home/user/ext2fs/dualboot/data.img /home/user/mntpts/data/
mount -t ext2 -o loop,rw,noatime,nodiratime,nosuid,nodev /home/user/ext2fs/dualboot/cache.img /home/user/mntpts/cache/
cp -r -p /home/user/nandroid/dualboot/system/* /home/user/mntpts/system/
cp -r -p /home/user/nandroid/dualboot/data/* /home/user/mntpts/data/
cp -r -p /home/user/nandroid/dualboot/cache/* /home/user/mntpts/cache/
umount /home/user/mntpts/system/
umount /home/user/mntpts/data/
umount /home/user/mntpts/cache/
now all your information is in the ext2fs (damn i hate to type ext2fs -.-'')
extract the ramdisk from the rom that u want for dual boot rename it to "sdcardos1-ramdisk.tar"
and push it into the /system/bin from the rom you want to have on NAND! (so not the rom you just bakupped that would be silly nand and second the same ROM xD)
and chmod it to 0777
now when you want to try it
just do this in adb shell or mobiel terminal
Code:
touch /data/local/tmp/sdcardOS1
reboot
owain94 said:
uhm hell yeah it is tested
!for DEV's only (and people that know what they are doing)!
to make the images that are placed on the sdcard
make 3 ext2fs images
system.img size: 256 MB
data.img size: 512 MB
cache.img size: 256 MB
you van make them bigger or smaller but i recommand this sizes
make an NANDROID backup from the rom that you want on the sdcard
FACTORY RESET FIRST! THEN BACKUP!!!!!!!
user in the next lines is ofc your username
put the NANDROID images at /home/user/nandroid/dualboot/
and put the ext2fs images at /home/user/ext2fs/dualboot/
and make this dir /home/user/mountpoints/
now run all these lines!
you will need unyaffs on our pc!
Code:
sudo su
mv system.img /home/user/nandroid/dualboot/system/
cd /home/user/nandroid/dualboot/system/
unyaffs system.img
mv system.img ../.
mv data.img /home/user/nandroid/dualboot/data/
cd /home/user/nandroid/dualboot/data/
unyaffs data.img
mv data.img ../.
mv cache.img /home/user/nandroid/dualboot/cache/
cd /home/user/nandroid/dualboot/cache/
unyaffs cache.img
mv cache.img ../.
mount -t ext2 -o loop,rw,noatime,nodiratime /home/user/ext2fs/dualboot/system.img /home/user/mntpts/system/
mount -t ext2 -o loop,rw,noatime,nodiratime,nosuid,nodev /home/user/ext2fs/dualboot/data.img /home/user/mntpts/data/
mount -t ext2 -o loop,rw,noatime,nodiratime,nosuid,nodev /home/user/ext2fs/dualboot/cache.img /home/user/mntpts/cache/
cp -r -p /home/user/nandroid/dualboot/system/* /home/user/mntpts/system/
cp -r -p /home/user/nandroid/dualboot/data/* /home/user/mntpts/data/
cp -r -p /home/user/nandroid/dualboot/cache/* /home/user/mntpts/cache/
umount /home/user/mntpts/system/
umount /home/user/mntpts/data/
umount /home/user/mntpts/cache/
Click to expand...
Click to collapse
Owain discovered a easy coded way.. if a=1 open os1, if a=2, open os2, if a=3 mount xrecovery, if a=4 **** mount sdcard, being "a" any **** we could make ... next step user interface
good night owain, see ya 2moro, my eyes hurt need 2 sleep
D4rKn3sSyS said:
Owain discovered a easy coded way.. if a=1 open os1, if a=2, open os2, if a=3 mount xrecovery, if a=4 **** mount sdcard, being "a" any **** we could make ... next step user interface
good night owain, see ya 2moro, my eyes hurt need 2 sleep
Click to expand...
Click to collapse
edited post btw just that you know
and yeah why make it hard when we can keep it simple right
with the sizes i recommand the os wil be 1GB in size...
you can also try
system 128 MB
data 256 MB
cache 128 MB
then the size will be 512MB
but yeah sorry this is not only a ROM
the data and cache img's are empty when u download them but still this size
just don't complain about it or find a way yourself
@d4 good night bro
EDIT: michael (A.K.A MikevHL) got an boot menu for the milestone 2 he can probz help us
owain94 said:
edited post btw just that you know
and yeah why make it hard when we can keep it simple right
with the sizes i recommand the os wil be 1GB in size...
you can also try
system 128 MB
data 256 MB
cache 128 MB
then the size will be 512MB
but yeah sorry this is not only a ROM
the data and cache img's are empty when u download them but still this size
just don't complain about it or find a way yourself
@d4 good night bro
EDIT: michael (A.K.A MikevHL) got an boot menu for the milestone 2 he can probz help us
Click to expand...
Click to collapse
Nice, let's ask MikevHL.. and btw, the linux thing post, it's for linux... dont try it on another os ¬_¬" its obvious no ?.
This is because some people dont read and just do things... no offends to nobody
Lyk we can have 3 partitions on memory card, alter xRecovery to install update.zip which can be any rom running over the default rom, while the default rom is still in background, something lyk they did on cellfone running symbian n windows 7, while symbian being running in background...
p.s. I'm not talking about WP7 but Windows 7,
i dont want to question legendry zdzihu, but can u provide me the source code of xRecovery...
galvic said:
Lyk we can have 3 partitions on memory card, alter xRecovery to install update.zip which can be any rom running over the default rom, while the default rom is still in background, something lyk they did on cellfone running symbian n windows 7, while symbian being running in background...
p.s. I'm not talking about WP7 but Windows 7,
i dont want to question legendry zdzihu, but can u provide me the source code of xRecovery...
Click to expand...
Click to collapse
we just use 1 partition
and 1 os at the time
we got not enough RAM for running 2 roms
take a look at XDANDROID on windows 6.1-6.5 phones
not the NAND version of XDANDROID btw
it is damn slow coz windows mobile 6 is running in the background and android on the foreground
Hey owain i was thinking.. and what if we do a apk?, slade and me are good @ java, and im sure you too
Edit:
Got another fast idea
Can chargemon load another files?, if yes, we can do this
chargemon:
if a=1, load script os1
if a=2, load script os2
if a=3, load script xrecovery unified
if a=4, mount SD
and then we can do a java interface (Apk ?)
That's a nice approach, but I'm afraid loop devices will make the device considerably slower. Got two questions:
- How long does it take to boot?
- What's the performance overhead (e.g. some benchmark results)?
Other than that, I see no reason why this wouldn't work.
D4rKn3sSyS said:
Hey owain i was thinking.. and what if we do a apk?, slade and me are good @ java, and im sure you too
Edit:
Got another fast idea
Can chargemon load another files?, if yes, we can do this
chargemon:
if a=1, load script os1
if a=2, load script os2
if a=3, load script xrecovery unified
if a=4, mount SD
and then we can do a java interface (Apk ?)
Click to expand...
Click to collapse
why not just add it in reboot menu
and we can add as many entries as we want
nobodyAtall said:
That's a nice approach, but I'm afraid loop devices will make the device considerably slower. Got two questions:
- How long does it take to boot?
- What's the performance overhead (e.g. some benchmark results)?
Other than that, I see no reason why this wouldn't work.
Click to expand...
Click to collapse
when i got my mimmi back i will try to improve the script
boot time i can't tell you sorry
i used another script with sleep 5 everytime and a complete ext2fs check
to be sure my images were not broken or something
when my mimmi is back from repair i will try new script and report back to you
about the performance
well not that bad! it was a bit slower then stock i must say did not benchmark it but it felt like it was nto that much slower
again when i got my device back will report also a benchmark score back to you
owain94 said:
we just use 1 partition
and 1 os at the time
we got not enough RAM for running 2 roms
take a look at XDANDROID on windows 6.1-6.5 phones
not the NAND version of XDANDROID btw
it is damn slow coz windows mobile 6 is running in the background and android on the foreground
Click to expand...
Click to collapse
Yeah you're absolutely right it'll make the device slow, but if we are able to freeze the ROM running in background while the one running in foreground gets full access to RAM... Do you think it'll work it out? Or just burn this background- foreground thing?
Well i did some research and found out that device is called Fujitsu LOOX-F07C, has 1.2 ghz intel atom, nd 1 gb ram,
i got an idea how about creating a virtual machine? Thats able to load other OS? Virtual machine can be .apk,
well it'll need RAM lots of it, theres no way it'll work on stock, but legendary owain your ROM might be able to do it, i hope mighty d4rk can add his skills nd knowledge, shoult i try develop such vritual machine?
galvic said:
Well i did some research and found out that device is called Fujitsu LOOX-F07C, has 1.2 ghz intel atom, nd 1 gb ram,
i got an idea how about creating a virtual machine? Thats able to load other OS? Virtual machine can be .apk,
well it'll need RAM lots of it, theres no way it'll work on stock, but legendary owain your ROM might be able to do it, i hope mighty d4rk can add his skills nd knowledge, shoult i try develop such vritual machine?
Click to expand...
Click to collapse
Hard, loop device it's easier
Recently got this from zdzihu:
Hi D4rKn3sSyS,
ClockWorkMod recovery (which xRec bases on) is quite big project and I'm not 100% familiar with all the code Maybe looking into stock Android recovery could shed some light on "how it's made"? As far as I remember it was much much simplier to catch on.
Cheers,
z
Click to expand...
Click to collapse
I know a little that you can do(not in this code, but a algorithm), but my english is SO horrible, anyone dev here speaks portuguese? T.T
Carcass.br said:
I know a little that you can do(not in this code, but a algorithm), but my english is SO horrible, anyone dev here speaks portuguese? T.T
Click to expand...
Click to collapse
Give us a idea, im not native english speaker, i speak spanish, but im sure somebody will got you idea
So, I'll start at the point that i understand here...
You guys are trying to load 2 roms for after this the user can choose what rom he wants?
First i guess that you will really need a extra partition, not in the way that you REALLY NEED, but for a bit that i understand of android system a extra partition will be more easy to work...
So, you can have a system based on XOR not a case option, for a case option (you'll need to have all "OS's" read to be choose). If someone have patience to explain me how the chargemon works I can help you, a while ago I was trying to learn these things, but no one supports me(and all content that I found was in english or in other languages :s), i'm graduate in computer science and don't know so much about kernel of android, if some one explain me, i can help you more with codes, because my english is REALLY horrible, i really don't understand too much of english, is really hard to me try to explain something in a language that i don't understand...
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