[WIP][On hold indefinitely] CM7.2 Port from Nexus One - Dell Venue

Disclaimer: I'm a noob. This is my first attempt ever and even it doesn't sound that difficult, don't keep your hope high.
So what I intended to do right now is to use the CM7.2 RC0 KANG for Nexus One (which is currently my main daily use) as a base, which can be found here:
http://www.mediafire.com/?qac2glyh0egscb2
(Rationale: Dell Venue and Nexus One share the same chipset and GPU, and furthermore, I have assessed that build and found it stable enough to be ported)
Proprietary files and driver data from a working ROM of Dell Venue will then be transferred to replace the files in the base (which originally belong to Nexus One). What I have transferred includes:
Modules:
/system/lib/modules
Hardware
/system/lib/hw
Keyboard
/system/usr/keylayout
/system/usr/keychars
Mount points & wifi
/system/etc/vold.fstab
/system/etc/wifi
/system/etc/ppp
(My source for these: http://www.freeyourandroid.com/guide/porting-android)
I have also replace the boot.img
and delete the first line of the script in updater-script,
which removes the phone model identification process:
Code:
assert(getprop("ro.product.device") == "passion" || getprop("ro.build.product") == "passion" || getprop("ro.product.board") == "passion");
The package is then zipped and signed, but so far, it doesn't even boot. It doesn't even make it to the boot animation.
I haven't involved the boot.img and kernel yet. And I don't think it's necessary for a boot.
I repeat: I'm a total noob and totally inexperienced in the process of ROM development. I would be grateful and appreciate if you can point me to an useful guide or have any suggestion that could make some progress.
The catlog is attached below. It looks like alien language to me and I need someone experienced to help me diagnose it. My priority is to make it boot now, then we'll see what we can do next. Thank you in advance.
Last logcat update: 2012-02-23, 1700 GMT+8
PS: I'll upload the zip file if someone requests, for now I prefer to focus on the logcat
UPDATE 12.02.25: Well, first attempt with Kitchen, it did boot actually, but ended up with a blackscreen after 10 secs or so. Logcat says it's VertexArray or some OpenGL sort. Asides from that, nothing else works except for the touchscreen and SDCard. Logcat is in attachment below.
UPDATE 12.02.27: I halt the project from now on. This is due to lack of time, skills, direction and motivation. I have other commitments in life as well. I might come back when I know more, but don't hold your hope.

You need the venue's kernel and ramdisk (which is implied as it's a major part of the kern).
If it is the stock kern that you're using, your system tree is missing other binaries.
Some devices are ported in exactly this manner, just inserting binary-only drivers into a generic/minimally modified CWM.
Your logcat is stating that the device is panicing as critical components are missing/cant mount all partitions
Code:
E/PrintK ( 1): <3>init: cannot find '/system/bin/lfinit', disabling 'lfinit'
E/PrintK ( 1): <3>init: cannot find '/system/bin/qmuxd', disabling 'qmuxd'
E/PrintK ( 1): <3>init: cannot find '/system/bin/DrmHost', disabling 'DrmHost'
E/PrintK ( 1): <3>init: cannot find '/system/bin/logd2', disabling 'logd2'
...
etc
anything marked as E/ is an error level message, as in 'serious error'
Some of the W/ and D/ level ones might be important too, but even in the stock rom there's plenty of warning messages that can be safely ignored.

Your logcat is stating that the device is panicing as critical components are missing/cant mount all partitions
Code:
E/PrintK ( 1): <3>init: cannot find '/system/bin/lfinit', disabling 'lfinit'
E/PrintK ( 1): <3>init: cannot find '/system/bin/qmuxd', disabling 'qmuxd'
E/PrintK ( 1): <3>init: cannot find '/system/bin/DrmHost', disabling 'DrmHost'
E/PrintK ( 1): <3>init: cannot find '/system/bin/logd2', disabling 'logd2'
...
etc
Click to expand...
Click to collapse
Well, I am aware of these missing files. I did get some of them back later, though, they still logged it as an error despite having found the files.
e,g,.
Code:
E/PrintK ( 1): <3>init: '/system/bin/logd2'
Something like that, I lost the log so I can't quote.
----------------------------------
You need the venue's kernel and ramdisk (which is implied as it's a major part of the kern).
If it is the stock kern that you're using, your system tree is missing other binaries.
Click to expand...
Click to collapse
I did screw this up a few times, but that one I used a boot.img that belongs to Venue itself, not the stock cm7.
---------------------
After some additional transfer, I ended up not being able to dump the logcat
Code:
* daemon not running. starting it now on port 5037 *
* daemon started successfully *
reloc_library[1311]: 160 cannot locate 'android_log_setColoredOutput'...
CANNOT LINK EXECUTABLE
Well, guess I screwed up again. Probably will try again from scratch.

really appreciate your work, it would be awesome if cyanogen get ported for our venue

Tried Kitchen and it booted but did not last long enough for me to check around that much. Huge driver problems. Refer to update in the first post.

SwordLaker said:
Disclaimer: I'm a noob. This is my first attempt ever and even it doesn't sound that difficult, don't keep your hope high.
So what I intended to do right now is to use the CM7.2 RC0 KANG for Nexus One (which is currently my main daily use) as a base, which can be found here:
http://www.mediafire.com/?qac2glyh0egscb2
(Rationale: Dell Venue and Nexus One share the same chipset and GPU, and furthermore, I have assessed that build and found it stable enough to be ported)
Proprietary files and driver data from a working ROM of Dell Venue will then be transferred to replace the files in the base (which originally belong to Nexus One). What I have transferred includes:
---cut--
Click to expand...
Click to collapse
Hi Swordlaker,
I search many internet site how to build kernel & rom for dell venue. But so far no lucks. Build based on cm7 > passion > when running extract-files.sh (to pull neccessary file from live device -I flashed with many streakdroid4-250) I got this
Code:
[email protected]:~/cm7/system/device/htc/passion$ ./extract-files.sh
remote object '/system/bin/akmd' does not exist
chmod: cannot access `../../../vendor/htc/passion/proprietary/akmd': No such file or directory
remote object '/system/bin/parse_radio_log' does not exist
chmod: cannot access `../../../vendor/htc/passion/proprietary/parse_radio_log': No such file or directory
remote object '/system/etc/AdieHWCodecSetting.csv' does not exist
3 KB/s (255 bytes in 0.072s)
remote object '/system/etc/firmware/bcm4329.hcd' does not exist
remote object '/system/etc/firmware/default.acdb' does not exist
remote object '/system/etc/firmware/default_att.acdb' does not exist
remote object '/system/etc/firmware/default_france.acdb' does not exist
16 KB/s (1156 bytes in 0.069s)
130 KB/s (9220 bytes in 0.069s)
remote object '/system/etc/vpimg' does not exist
917 KB/s (84096 bytes in 0.089s)
2287 KB/s (162992 bytes in 0.069s)
5800 KB/s (1793168 bytes in 0.301s)
1732 KB/s (206768 bytes in 0.116s)
1072 KB/s (98264 bytes in 0.089s)
579 KB/s (42764 bytes in 0.072s)
remote object '/system/lib/libhtc_acoustic.so' does not exist
remote object '/system/lib/libhtc_ril.so' does not exist
3282 KB/s (468788 bytes in 0.139s)
1010 KB/s (102848 bytes in 0.099s)
[email protected]:~/cm7/system/device/htc/passion$
My understanding ... there are huge different on proprietary drivers between venue and passion [which is normal between dell & htc]. I think many of filename[DOT]mk need to be modified for successful build. Let us see the "wifi". Is venue using broadcom chipset? How to know what wifi chipset in the venue. I'm noob too in this android space.
after running extract-files.sh, here are the file extracted
Code:
[email protected]:~/cm7/system$ ls vendor/htc/passion/proprietary
AudioBTID.csv libEGL_adreno200.so libGLESv2_adreno200.so liboemcamera.so libq3dtools_adreno200.so yamato_pm4.fw
libcamera.so libGLESv1_CM_adreno200.so libgsl.so libOmxVdec.so yamato_pfp.fw

Related

[DEV] Building CyanogenMod 6 from source - has it compiled successfully?

(Mods - if there is a more approriate thread, please move this post to there - I was unable to find a suitable one).
Hi all,
Have been trying to build CM6 on and off for a day or two now. Coming up against errors in libxxxx.so so I 'make clobber'ed and started again.
I've had the following a couple of times over the two days:
Code:
Target system fs image: out/target/product/passion/obj/PACKAGING/systemimage_unopt_intermediates/system.img
Install system fs image: out/target/product/passion/system.img
out/target/product/passion/system.img+out/target/product/passion/obj/PACKAGING/recovery_patch_intermediates/recovery_from_boot.p total size is 99641530
maxsize=$((142737408)); if [ "$total" -gt "$maxsize" ]; then echo "error: $printname too large ($total > [142737408 - $reserve])"; false; elif [ "$total" -gt $((maxsize - 32768)) ]; then echo "WARNING: $printname approaching size limit ($total now; limit $maxsize)"; fi
[I]/bin/bash: line 0: [: : integer expression expected
/bin/bash: line 0: [: : integer expression expected
[/I]Installed file list: out/target/product/passion/installed-files.txt
specifically the two lines in italics - anything to worry about? I have a newly-timestamped set of boot/userdata/system .img files in the target output folder.
Am I good to go?
It should be complete if you have out/target/product/passion/system.img
You can fastboot it to phone with boot.img.
Next time i recommend you to run "make otapackage" instead of just "make". This will create update.zip which can be flashed from recovery.
Building CyanogenMod 6.1 from source but HTC magic failed to start
Hi,
I have recently built CyanogenMod 6.1 from source to generate update zip file and use it to flash my HTC magic (Google IO). But the system won't come up completely. Using adb shell, I found the OS is up and running but all the java apps seems not running at all. Can anyone shed some lights to me? I really appreciate any of your help.
And also I was getting the latest source code of CM 6.1 and wondering what is the branch tag for stable CM 6.0 source code to get the repo?
thanks
Eric
repo is always the latest source code, make sure the u lunch/select the right device and have all the properitery libs in place n u shud have no problem
Thanks charansingh!
I was using 'lunch cyanogen_dream_sapphire-eng', I hope this is the right for my Google IO phone?
And I did use extract_file.sh to get the proprietary files in place. I will try it again. thanks.
kernel customization with HTC Hero CyanogenMod source
Hi all,
I want to build my customized WiFi driver and wpa_supplicant in HTC Hero CyanogenMod 6.1? But I found the 'kernel-msm' actually did not get compiled during the make build process. Can anyone provide me a tip of how to do it? The Hero make build process seems different than the HTC magic build process which I did see the kernel-msm got compile during the make build process.
thanks.

[BASIC DONE] A simplified 2ndinit (2ndihkvc) for experimenting

>>>> In a post further down, I have released a updated zip file which contains the 2ndihkvc program as well as its source as well as few support scripts to allow experimentation with this mechanism of multiple user spaces <<<<
Hi All
I have been following the below thread, as well as working on my own on some of the concepts. You can get the details till now from my posts in the below thread.
http://forum.xda-developers.com/showthread.php?t=1378886
I was not able to get the SETREGS to succeed in setting PC required for the current/existing 2nd-init logic, nor wait was waiting to lock the process, SO I tried a new and simpler alternate method for triggering/execve the init process a 2nd time using only POKE and it seems to have succeeded. I am guessing this based on my nooktablet having got messed up and it keeps rebooting again and again when it reaches my logic potentially. I have to restore back to factory settings and try afresh in the morning (Well it is almost morning ;-) now here) with few more debug messages to pin point it fully.
The code I am injecting directly into init process is in the attached txt file which is actually a .s (assembly file). (NOTE: Currently I am not handling environment variables, not sure if that is causing my boot to keep looping).
In turn the logic to hijack the init process and inject the code is as simple as
Step1) PTRACE_ATTACH
Step2) PTRACE_GETREGS
Step3) PTRACE_POKETEXT (Regs.ARM_pc, code to inject)
Step4) PTRACE_CONT
Step5) PTRACE_DETACH
I will upload the code in a day or two - however the jist of the logic is above, if anyone wants to experiment on their own.
NOTE: The code is very simple and experimental and expects the pc address to be known before hand to massage the .s file appropriately.
NOTE: The above algo with the corresponding .s file is still EXPERIMENTAL and also requires additional shell scripts to get access to the boot flow to trigger the hijack. And the current code will break the nooktab booting, so don't experiment this logic and the .s file unless you know what you are doing.
NOTE: I am not that much into Custom Roms etc, so don't expect anything much shortly wrt Custom Roms etc, this is just a experimentation for myself and to feel happy inspite of BN removing some useful features like sideloading as well as forcing a signed bootloader on everyone.
can you make a 2-init zip like on the milestone
http://forum.xda-developers.com/showthread.php?t=998425
because then the devs can go on and make a recovery
Bit more exploration with init hijacking - 2ndihkvc src package for EXPERIMENTATION
Hi,
NOTE: Source code package is attached with this message. However this is WIP and provided for anyone wanting to EXPERIMENT on their own parallel to me. Because I think the basic logic is done now. It is more of cleaning up the init rc files and or killing some additional tasks before restarting init or some such things HOPEFULLY (NO harm in hoping and being positive . HOWEVER NOTE that the current version will loop your boot and fail. I have put a timed triggering logic to try and reduce the risk, check out the documents in the package, but it can factory reset or worst case wipe your partitions and render the nooktab dead.
After yesterdays initial init hijacking, I have cleaned up the .s file so that it passes the Args properly as well as added the environment variables set by Android by default. Also the ptrace code I have updated to do relocation (using a simple custom table) of injected code. Also rather than a minimal ptrace code, I have put a bit more full fledged one with my logic as well as skrilax's logic as well as reg dumping and few other stuff to help experimenters.
In turn I have cross verified, that init is actually getting restarted and it is running thro the scripts and setting up the properties as specified by my modified default.prop as well as in the process rerunning all the commands/services/prgs.
However some where beyond rild/vold sequence it seems to be blocking and looping the boot. Also I had modified the init a bit, have to check that also once later.
Enjoy and experiment
NOTE: Not sure how to avoid having to put the same message in two threads. I created this thread only becasue the original thread was in the wrong category (i.e non development), when it should have been in development also.
This is interesting. I have minimal experience with assembly, none of it ARM. I would like to help, if possible. I appreciate the work you have put into this. I'm really hoping to be able to have CM7 on this tablet eventually.
Sent from my BNTV250 using xda premium
Potentially working Alternate Userspace in uSD using 2ndihkvc
Hi All,
I have updated my 2ndihkvc package a bit more and now you can boot into a ALTERNATE Android user space in uSD (NOTE: Userspace only and not kernel - locked bootloader doesn't allow alternate kernel).
For this you require to copy your required android /system and /data partitions into a MicroSD card in its 2nd and 3rd partitions which should be ext4 (specified in the init.omap4430.rc file in 2ndihkvc directory).
NOTE: Best way of getting a working /system and /data partitions is to ==> After rooting your Nook and removing all unwanted Apps/Junk, make a copy of the /system partition from eMMC to uSD. Same for /data/partition. Then you can copy what ever additional applications you want in this uSD based Android /system/app or /data/app partition. Thus you can have different sets of Android user space in different uSD cards.
Follow the instructions in INSTALL file for experimenting this on your rooted NookTab. BUT REMEMBER IT IS STILL EXPERIMENTAL. ALSO as a SAFETY FEATURE, as of now it will boot into this ALTERNATE MODE (in uSD) only when the current HOUR is specified in the start2ndihkvc.sh file appropriately. Otherwise it tries to boot into the your normal Andorid system in eMMC. This should hopefull CATCH any mistake, BUT THIS IS NOT GUARENTEED AND THIS IS A DANGEROUS THING TO EXPERIMENT, UNLESS YOU KNOW WHAT YOU ARE DOING.
NOTE: One time it did reboot from my alternate android system, I haven't debugged this yet, as it has not occured after it (Well I have tried only once more) so cann't say one way or the other yet. But definitely, there are some corner cases.
NOTE: If something gets messed up or if something is different or even if there is some corner case in my code, which I haven't handled yet, it may MESS UP your NOOK TAB so EXPERIMENT WITH THIS only if you know how to recover on your own, provided the NOOKTAB is recoverable (90% should be, but NO GAURENTEE).
Now the BRAVE HEARTS can experiment and Enjoy a alternate Andorid system in uSD card.
NOTE: With this one should be able to boot into any Custom ROM after suitable updation of the scripts in my zip file, as well as by copying their /system and /data/ partitions into uSD 2nd and 3rd partitions. AS long AS that Custome ROM doesn't have any specific kernel requirements.
BYPASS Kernel and Ramdisk check for People with UART ACCESS
Hi,
NOTE: THis is based on a initial look at the source code and then the objdump of u-boot.bin. I haven't cross checked this yet, because for now I haven't opened up the nooktab for uart access yet. Also this assumes by default booti command is used for booting in BN uboot. If some one wants to use bootm, then a different location requires to be patched wrt the image loading security check.
If you are a lucky ;-) person working with opened up NookTab with UART access, then basically replacing the memory contents of these two offsets with NOP will 90% BYPASS the security check successfully and allow you to boot a MODIFIED KERNEL or RAMDISK as required.
All offsets specified Assuming u-boot is loaded at 0 (adjust for the actual address where u-boot.bin is loaded, haven't looked into that yet).
Check for Security check of Kernel image is at
[ORIG] 0x48c0 => bne 0x48d8 (0x1a00.0004)
Make this a NOP by overwriting using uboot memory write command to
[MODI] 0x48c0 => mov r0, r0 (0xe1a0.0000)
Check for Security check of RAMDisk image is at
[ORIG] 0x4928 => bne 0x4958 (1a00.000a)
Make this a NOP by overwriting with
[MODI] 0x4928 => mov r0, r0 (0xe1a0.0000)
Someone (Hi Adamoutler, maybe you) with opened up NookTab can try this and tell me if it worked or not.
NOTE: you have to add up the actual u-boot load address to the offsets specified.
UPDATE1: It appears the load address is either
Possibility 1) 0x80e8.0000 OR
Possibility 2) 0x80e8.0000-0x120 (More likely).
Have to dig thro bit more, but one of these two will potentially work.
So that means to NOP RAMDisk security check the offset is
Possibility 1 ==> 0x80e8.0000+0x4928
Possibility 2 ==> 0x80e8.0000-0x120+0x4928 (More likely)
Best is to cross check if the resultant address contains the BNE instruction bytes specified above.
Same concept applies for the Kernel security check Nopping offset.
NOTE: It appears there is a 0x120 size header before the actual u-boot.bin code starts and in turn, when I did the objdump, it included the 0x120 bytes of header also assumed as code. And inturn the full (including the header) u-boot.bin or for that matter the u-boot from emmc seems to load into 0x80e8.0000-0x120.
UPDATE 2:
Code around the locations to be noped to help identify the same in memory, in case my offset calculations are wrong
48b4: eb0030f1 bl 0x10c80
48b8: e59d3010 ldr r3, [sp, #16]
48bc: e3530000 cmp r3, #0
48c0: 1a000004 bne 0x48d8
48c4: e59f0104 ldr r0, [pc, #260] ; 0x49d0
48c8: e594100c ldr r1, [r4, #12]
48cc: e5942008 ldr r2, [r4, #8]
48d0: eb0015db bl 0xa044
............
491c: eb0030d7 bl 0x10c80
4920: e59d3010 ldr r3, [sp, #16]
4924: e3530000 cmp r3, #0
4928: 1a00000a bne 0x4958
492c: e59f00a4 ldr r0, [pc, #164] ; 0x49d8
4930: e5941014 ldr r1, [r4, #20]
4934: e5942010 ldr r2, [r4, #16]
4938: eb0015c1 bl 0xa044
UPDATE 3: ... for a rainy day in future ;-)
UPDATE 4: For maximum success, first try a changed RAMDisk rather than Changed Kernel. If Changed Ramdisk works then try Changed Kernel (THere is one more thing in Code, which I am not sure if it will impact a modified kernel or not yet, only way is to experiment).
How can I run 2ndihkvc just to load a new default.prop using the existing userspace? What I did so far was to remount / in rw, updated default.prop, pushed 2ndihkvc to /data/local/, changed permissions to 755 and executed. Here is the output
Code:
# ./2ndihkvc -p 1 -w 0 -c 0 -m 2
INFO:2ndihkvc:v30Dec_2020:
INFO:2ndihkvc: Tracing process with pid = 1
INFO:2ndihkvc: NewPrg = /init
WARN: RESPECT_WAIT disabled
WARN: Mode = MODE_INJECT_HKVC2
INFO: ContType = CONTINUE
INFO:2ndihkvc:PTRACE: Attached to (1)
INFO:2ndihkvc: Giving 2 secs to the likely traced process
ERROR:2ndihkvc:WAIT:Failed (No child processes)
INFO:2ndihkvc:hkvc2: InjectAddr (Regs->ARM_pc) = 0xffff0520
INFO:2ndihkvc:hkvc2: /init found at offset 0x100
INFO:2ndihkvc:hkvc2:ProgramToExecute: /init replaced with /init
INFO:2ndihkvc:hkvc2: At offset 0x208 relocating from 0x100 to 0xffff0620
INFO:2ndihkvc:hkvc2: At offset 0x200 relocating from 0x208 to 0xffff0728
INFO:2ndihkvc:hkvc2: At offset 0x280 relocating from 0x288 to 0xffff07a8
INFO:2ndihkvc:hkvc2: At offset 0x288 relocating from 0x300 to 0xffff0820
INFO:2ndihkvc:hkvc2: At offset 0x28c relocating from 0x307 to 0xffff0827
INFO:2ndihkvc:hkvc2: At offset 0x290 relocating from 0x312 to 0xffff0832
ERROR:PTRACE:POKE failed at location ffff0520
INFO:2ndihkvc:PTRACE: Continue/SingleStep ...
INFO:2ndihkvc: Detaching...
ERROR:2ndihkvc:PTRACE: Failed DETACH (No such process)
#
Do I need to push your init to /system/2ndihkvc/init? I am just trying to play around with it and Adam's BHT just to see what I can do them. Thanks.
Hi Brianf21,
As specified in the INSTALL file with in my zip
Copy my 2ndihkvc.zip file to /data/local/tmp
Then mount /system in rw mode.
Next unzip 2ndihkvc.zip into /system. It should create 2ndihkvc folder.
Next run ./install.sh from with in 2ndihkvc folder.
This will setup the boot process to start into 2ndihkvc. And it inturn will restart init with new set of init.*.rc as well as default.prop files.
Have a look at the 2ndihkvc folder, it already contains a default.prop file. If you want to change anything in default.prop then do the changes in this default.prop in /system/2ndihkvc folder.
Also remember to change the time check in start2ndihkvc.sh file in /system/2ndihkvc folder to the current hour, when you will be experimenting. Otherwise, it will not run 2ndihkvc, but continue with the normal Android init flow.
Cross check my INSTALL file once again for the details/steps to setup 2ndihkvc.
Once you have done the above. When you restart your system, it will trigger 2ndihkvc as required and the default.prop will be the new one which you would have edited/updated in /system/2ndihkvc/ folder.
NOTE: Looking at the address, it seems like you had tried 2ndihkvc once before in the same session. Try following the install step specified above/In the 2ndihkvc zip file and see. There is a minimally modified version of init.omap4430.rc and default.prop already in the 2ndihkvc folder, modify those if you want to modify them. This is because start2ndihkvc.sh will copy these files from /system/2ndihkvc/ folder when it is run to restart init.
I will have to read more, to avoid setting up system and data up on an sdcard. Once the setup is done, will it always hijack init for every following boot until it is removed or only one reboot? i am just to get a clearer picture of what's going on, I wanted to just see the hijack of init work independently of the other processes.. I kind of like to break things down into parts so I can get a better understanding of the entire process. Thanks for the work you've out in so far.
hkvc said:
Hi Brian21,
As specified in the INSTALL file with in my zip
Copy my 2ndihkvc.zip file to /data/local/tmp
Then mount /system in rw mode.
Next unzip 2ndihkvc.zip into /system. It should create 2ndihkvc folder.
Next run ./install.sh from with in 2ndihkvc folder.
This will setup the boot process to start into 2ndihkvc. And it inturn will restart init with new set of init.*.rc as well as default.prop files.
Have a look at the 2ndihkvc folder, it already contains a default.prop file. If you want to change anything in default.prop then do the changes in this default.prop in /system/2ndihkvc folder.
Also remember to change the time check in start2ndihkvc.sh file in /system/2ndihkvc folder to the current hour, when you will be experimenting. Otherwise, it will not run 2ndihkvc, but continue with the normal Android init flow.
Cross check my INSTALL file once again for the details/steps to setup 2ndihkvc.
Once you have done the above. When you restart your system, it will trigger 2ndihkvc as required and the default.prop will be the new one which you would have edited/updated in /system/2ndihkvc/ folder.
NOTE: Looking at the address, it seems like you had tried 2ndihkvc once before in the same session. Try following the install step specified above/In the 2ndihkvc zip file and see. There is a minimally modified version of init.omap4430.rc and default.prop already in the 2ndihkvc folder, modify those if you want to modify them. This is because start2ndihkvc.sh will copy these files from /system/2ndihkvc/ folder when it is run to restart init.
Click to expand...
Click to collapse
brianf21 said:
I will have to read more, to avoid setting up system and data up on an sdcard. Once the setup is done, will it always hijack init for every following boot until it is removed or only one reboot? i am just to get a clearer picture of what's going on, I wanted to just see the hijack of init work independently of the other processes.. I kind of like to break things down into parts so I can get a better understanding of the entire process. Thanks for the work you've out in so far.
Click to expand...
Click to collapse
If all you are interested is run 2ndihkvc with a modified default.prop but no other modification (i.e no uSD /system and /data partitions), then
a) overwrite the init.omap4430.rc in /system/2ndihkvc with the one in / . However if you have already booted into a system with 2ndihkvc then in /data/local/tmp.
Or if required you can directly edit the init.omap4430.rc in /system/2ndihkvc and update the mount commands in there to mount from emmc instead of uSD.
b) Remove the 2 lines in restart-userspace.sh corresponding to mount -o move ....
This will allow you to boot into a system with a modified default.prop but no other change from a runtime perspective (unless I have forgotten something).
Also 2ndihkvc will be applied each time boot into NookTab provided the current hour matches the hour set in start2ndihkvc.sh. Once the current hour no longer matches the hour set in the sh file, it will boot into the normal BN Nooktab environment.
NOTE: I purposefully modified the init.omap4430.rc file to replace the /system and /data from emmc to uSD, so that if someone is experimenting something, he doesn't corrupt the emmc easily as long as he doesn't become root user. HOWEVER with root access emmc can still get corrupted if one is not careful, because eMMC is still available and mounted.
tried but rebooted few times until factory reset kicked in
Hi,
ok. maybe a bit too optimistic, but I compiled ICS for pandaboard and put the system to sd card (partition 1 ext4 empty, partion 2 ext4 system with panda stuff, partion 3 data, partition 4 empty).
I hit adb reboot and the device booted a few times until it restored factory. Uff.
Is there a way without serial console to see what happens?
There's also small glitch in install.sh. It doesn't find init.rc in /system/2ndihkvc.
Rgds,
Chris
chrmhoffmann said:
Hi,
The device booted a few times until it restored factory. Uff.
Click to expand...
Click to collapse
If it's counting boots like the Nook Color you can stop it by running this (if the rom partition is mounted at /rom-- it's p2 on nc and I guess p5 on nt).
chrmhoffmann said:
Hi,
ok. maybe a bit too optimistic, but I compiled ICS for pandaboard and put the system to sd card (partition 1 ext4 empty, partion 2 ext4 system with panda stuff, partion 3 data, partition 4 empty).
I hit adb reboot and the device booted a few times until it restored factory. Uff.
Is there a way without serial console to see what happens?
There's also small glitch in install.sh. It doesn't find init.rc in /system/2ndihkvc.
Rgds,
Chris
Click to expand...
Click to collapse
Hi,
The missing init.rc is not a glitch, I purposefully left it out while packaging, so that one doesn't modify it drastically and botch up the boot. init.4430.rc is the only thing required to change the mount partitions.
Also if you are using my default start2ndihkvc.sh script, then it has a time check, so while xperimenting if you have goofed up. Just let the time you have set in this script pass by (i.e don't power on), then it will automatically go back to the stock NT boot, thus avoiding the factory reset.

[Q] MySQL on Webtop

Hi
I tried to install AMP(apache, mysql, php5) since I was interested on using Atrix as a web server.
Apache was success, but MySQL was failure. No MySQL, No PHP5(of course)
I tried force installing Busybox using dpkg expecting to be updated(version stayed same), removing and making directories that makes the problem, No luck.
I think it's related to my outdated Busybox(readlink?) There's too many problems here.
Lot of people just say "it's impossible" but why not? At least I want to know why it fails.
I have terminal log below. Sorry for bad, bad english.
Thanks
[email protected]:/$ sudo apt-get -f install
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following packages were automatically installed and are no longer required:
obconf leafpad lxde-common linux-libc-dev lxrandr pcmanfm lxde-core lxappearance gpicview libc6-dev lxpanel
lxde-settings-daemon xarchiver
Use 'apt-get autoremove' to remove them.
0 upgraded, 0 newly installed, 0 to remove and 120 not upgraded.
3 not fully installed or removed.
After this operation, 0B of additional disk space will be used.
Setting up mysql-server-5.0 (5.1.30really5.0.75-0ubuntu10.5) ...
* Stopping MySQL database server mysqld [ OK ]
mkdir: cannot create directory `/var/log/mysql': No such file or directory
dpkg: error processing mysql-server-5.0 (--configure):
subprocess post-installation script returned error exit status 1
Setting up libapache2-mod-php5 (5.2.6.dfsg.1-3ubuntu4.6) ...
readlink: invalid option -- 'q'
BusyBox v1.10.2 (Ubuntu 1:1.10.2-2ubuntu7) multi-call binary
Usage: readlink [-f] FILE
Display the value of a symlink
Options:
-f Canonicalize by following all symlinks
ucf: Unable to determine The new file
dpkg: error processing libapache2-mod-php5 (--configure):
subprocess post-installation script returned error exit status 1
dpkg: dependency problems prevent configuration of php5-mysql:
php5-mysql depends on phpapi-20060613+lfs; however:
Package phpapi-20060613+lfs is not installed.
Package libapache2-mod-php5 which provides phpapi-20060613+lfs is not configured yet.
dpkg: error processing php5-mysql (--configure):
dependency problems - leaving unconfigured
No apport report written because the error message indicates its a followup error from a previous failure.
Errors were encountered while processing:
mysql-server-5.0
libapache2-mod-php5
php5-mysql
E: Sub-process /usr/bin/dpkg returned an error code (1)
Click to expand...
Click to collapse
vctshim said:
Hi
I tried to install AMP(apache, mysql, php5) since I was interested on using Atrix as a web server.
Apache was success, but MySQL was failure. No MySQL, No PHP5(of course)
I tried force installing Busybox using dpkg expecting to be updated(version stayed same), removing and making directories that makes the problem, No luck.
I think it's related to my outdated Busybox(readlink?) There's too many problems here.
Lot of people just say "it's impossible" but why not? At least I want to know why it fails.
I have terminal log below. Sorry for bad, bad english.
Thanks
Click to expand...
Click to collapse
Hi, could you solve the issue? I wan to install it too, for my work.
Thanks!
douglasroos said:
Hi, could you solve the issue? I wan to install it too, for my work.
Thanks!
Click to expand...
Click to collapse
I found out it is impossible. Many repos are dead and crucially Ubuntu in this is outdated (without LTS)
I sold the Atrix and bought ARM-based Open PCs (e.g. Raspberry Pi, Cubieboard, Beaglebone Black, Udoo, etc..)
If you want low-power web server, this might be the way to go
(Ubuntu Phone might work but I'm not sure YET)

[Android Build SU bug-RESOLVED] Need help figuring this out

I am currently helping on a new project for a ROM, we forked the AOSPA and AOSPA-Legacy repos into our githubs. What was mainly changed was the name "pa" "pa_" or "AOSPA" to "VentureROM" and the path "pa/" to "venture/". We have looked through both venturerom and venturerom legacy repos that we built and compared these with aospa repos for any differences and haven't seen any. We built AOSPA from scratch off their github and do not receive this bug.
su binary is installed to xbin folder and is symlinked to the bin folder. SUPERUSER_EMBEDDED = true is enabled in build script and points to files for binary and application. After about 8 different build attempts of changing one thing here or there, i decided to pull a logcat and found this sequence when asking for root privelage over ADB:
Code:
[ 08-30 00:24:22.616 2888: 2888 D/su ]
su invoked.
[ 08-30 00:24:22.616 2888: 2888 D/su ]
starting daemon client 2000 0
[ 08-30 00:24:22.616 2888: 2888 E/su ]
connect failed with 2: No such file or directory\
When digging through the system files, su exsists and system can call other binaries under both xbin and bin folders.
The hint is that when you flash a custom kernel over the device after building our repo from scratch, su issue is gone. But i can't quite figure out where the issue is, I've looked through kernel related files and boot related files. Any assistance would be greatly appreciated. Im using an HTC one m8 (m8vzw/m8wlv), the repo with this is under "VentureROM-Legacy" on github, but i guess i cant post that since i never use XDA. Thank you in advance
EDIT:
Found the issue.

[Q&A] [GUIDE][LINUX][MIUI] MIUI PatchROM -- BUILD YOUR OWN MIUI ROM

Q&A for [GUIDE][LINUX][MIUI] MIUI PatchROM -- BUILD YOUR OWN MIUI ROM
Some developers prefer that questions remain separate from their main development thread to help keep things organized. Placing your question within this thread will increase its chances of being answered by a member of the community or by the developer.
Before posting, please use the forum search and read through the discussion thread for [GUIDE][LINUX][MIUI] MIUI PatchROM -- BUILD YOUR OWN MIUI ROM. If you can't find an answer, post it here, being sure to give as much information as possible (firmware version, steps to reproduce, logcat if available) so that you can get help.
Thanks for understanding and for helping to keep XDA neat and tidy!
[MIUI PATCHROM for WALTON PrimoF2[How to solve this??Please somebody help me...
Code:
[email protected]:~$ cd patchrom
[email protected]:~/patchrom$ . build/envsetup.sh
PATCHROM_BRANCH = jellybean42-mtk
ANDROID_PLATFORM = v17
PORT_ROOT = /home/atiq/patchrom
ANDROID_TOP =
ANDROID_OUT =
PORT_PRODUCT = Unknown
USE_ANDROID_OUT =
ANDROID_BRANCH =
[email protected]:~/patchrom$ cd primof2
bash: cd: primof2: No such file or directory
[email protected]:~/patchrom$ mkdir primof2
[email protected]:~/patchrom$ cd primof2
[email protected]:~/patchrom/primof2$ /home/atiq/patchrom/tools/releasetools/ota_target_from_phone -n
Wait for the device to be online...
Copy target file template into current working directory
Warning: the ota package will not contain bootimage!!!
Maybe you forget to pass the ota-package parameter.
Are you sure this is really what you want(yes/no):yes
Build recovery.fstab from device
Extract the whole /system from device
pull: building file list...
1423 files pulled. 0 files skipped.
2943 KB/s (570754099 bytes in 189.331s)
Remount /system to be writable
You don't have a rooted kernel. Please run the following command mannually
(1) adb shell
(2) su
(3) mount -o remount,rw /[email protected] /system
(3) chmod 0777 /system /system/*
If you finish running the above commands on your phone(yes/no):yes
/system/xbin/getfilesysteminfo: No such file or directory
Run getfilesysteminfo to build filesystem_config.txt
125 KB/s (5572 bytes in 0.043s)
Run getfilesysteminfo and recoverylink.py to recover symlink
Recovery link files success
Build apkcerts.txt
failed to copy '/data/system/packages.xml' to '/home/atiq/patchrom/primof2/out/target_files/packages.xml': Permission denied
Error: /home/atiq/patchrom/primof2/out/target_files/packages.xml doesn't exist or isn't a vaild xml file
rm: cannot remove ‘/home/atiq/patchrom/primof2/out/target_files/packages.xml’: No such file or directory
Generate metadata used to build target files...
Compress the target_files dir into zip file
/home/atiq/patchrom/primof2
Build full ota package: /home/atiq/patchrom/primof2/stockrom.zip
unzipping target target-files...
using device-specific extensions in .
unable to load device-specific module; assuming none
[MIUI CUST] OTA: copy data files
[MIUI CUST] OTA: handle relink
[MIUI CUST] OTA: SetPermissions
Picked up JAVA_TOOL_OPTIONS: -javaagent:/usr/share/java/jayatanaag.jar
done.
[email protected]:~/patchrom/primof2$
Where should I put the bellow commands
Code:
You don't have a rooted kernel. Please run the following command mannually
(1) adb shell
(2) su
(3) mount -o remount,rw /[email protected] /system
(3) chmod 0777 /system /system/*
If you finish running the above commands on your phone(yes/no):
here?? After this line?? Here I have only two option to input "yes" or "no" in this shell. Otherwise it shows too many arguments. Please tell me where to put those commands exactly?? another question: Is everything OK there except "packages.xml". I manually copied the packages.xml file from my device and paste it to target_files then zipped it. Will it work?? Please help..
Anyone here successfully booted miui 8 on MTK 32 bit kernel 3.18.19 can help me with bootloop!?
I already built the rom based on AOSP android one but it bootloops
Mysteryagr said:
Anyone here successfully booted miui 8 on MTK 32 bit kernel 3.18.19 can help me with bootloop!?
I already built the rom based on AOSP android one but it bootloops
Click to expand...
Click to collapse
Hook it up and run a log at on your pc. That will tell you what is bootlooping. It that should have been the first hinges you did. It is rom building basics
zelendel said:
Hook it up and run a log at on your pc. That will tell you what is bootlooping. It that should have been the first hinges you did. It is rom building basics
Click to expand...
Click to collapse
Thank you for your reply.
I already did that, and yes I edited defualt.prop inside the ramdisk to enable logcat during bootloop.
I have ported many roms, and also built some from source, and I noticed that I can only take logcat in bootloop if the rom is partially booted, notification led lights in red as a sign of that.
In Miui case the led doesn't light up, also I noticed that no space occupied in data partition (except for the extracted miui apps)
So I guess something prevent the rom to start and optimize any app, maybe it is the boot.img
If someone booted miui on MTK 32 bit chipset and MM kernel 3.18.19 can help me, I will be very thankful.
My device is Infinix Hot 2 running Android one 6.0 marshmallow, chipset: MT6580
Thanks in advance.
Mysteryagr said:
Thank you for your reply.
I already did that, and yes I edited defualt.prop inside the ramdisk to enable logcat during bootloop.
I have ported many roms, and also built some from source, and I noticed that I can only take logcat in bootloop if the rom is partially booted, notification led lights in red as a sign of that.
In Miui case the led doesn't light up, also I noticed that no space occupied in data partition (except for the extracted miui apps)
So I guess something prevent the rom to start and optimize any app, maybe it is the boot.img
If someone booted miui on MTK 32 bit chipset and MM kernel 3.18.19 can help me, I will be very thankful.
My device is Infinix Hot 2 running Android one 6.0 marshmallow, chipset: MT6580
Thanks in advance.
Click to expand...
Click to collapse
To be honest I have no other ideas. Devices with that chip maker are not sold in my country.
@zelendel
What is the difference between
make firstpatch
Click to expand...
Click to collapse
and
make second patch
Click to expand...
Click to collapse
?
Mysteryagr said:
@zelendel
What is the difference between
and
?
Click to expand...
Click to collapse
I don't know. To be honest I wouldn't touch miui with a 10 foot pole personally.

Categories

Resources