Related
Howdy all,
Just wondering, how are the system.img files made? I have read that if it's a YAFFS image file, that the maximum filesize cannot exceed 128MB. However, I've seen on some NAND HD2 Android builds, the system.img filesize is >128MB.
My question is, what method are you guys using for making the NAND system.img files to flash within MAGLDR? (ie. is it like a ZIP archive with a .img extension on it)
I'm currently working on a remix of a ROM that I use (a hint is in my Sig), and I know that the update.zip method that was used on "true-Android" devices to change ROMs doesn't apply to our MAGLDR method now.
Cheers and I'm sure you'll see another ROM for the HD2 in the coming weeks!
IcedCube.
IcedCube said:
Howdy all,
Just wondering, how are the system.img files made? I have read that if it's a YAFFS image file, that the maximum filesize cannot exceed 128MB. However, I've seen on some NAND HD2 Android builds, the system.img filesize is >128MB.
My question is, what method are you guys using for making the NAND system.img files to flash within MAGLDR? (ie. is it like a ZIP archive with a .img extension on it)
I'm currently working on a remix of a ROM that I use (a hint is in my Sig), and I know that the update.zip method that was used on "true-Android" devices to change ROMs doesn't apply to our MAGLDR method now.
Cheers and I'm sure you'll see another ROM for the HD2 in the coming weeks!
IcedCube.
Click to expand...
Click to collapse
The system.img is a yaffs2image. Google 'compiled windows unyaffs' use that program to take a peak inside the .img. When you're completely ready to make your own .img your gonna need a linux distro or cygwin w/mkyaff2image compiled. However I recomend compiling the mkfs.yaffs2 command if you are using linux. Alternatively you can place the /system/ directory you are trying to make an image on your SD and run that command in the terminal emulator in Android. It should look like this #mkyaffs2image /sdcard/system/ System.img
Hope that helps.
KillaHurtz said:
The system.img is a yaffs2image. Google 'compiled windows unyaffs' use that program to take a peak inside the .img.
Click to expand...
Click to collapse
Does this give you write abilities so that files can be changed out pre-flash?
dharvey4651 said:
Does this give you write abilities so that files can be changed out pre-flash?
Click to expand...
Click to collapse
I think you have to dump them to a folder, then you can change what you want. Then do the yaffs2 cmd and it will package it back up to .img for flashing...
Chris
noellenchris said:
I think you have to dump them to a folder, then you can change what you want. Then do the yaffs2 cmd and it will package it back up to .img for flashing...
Chris
Click to expand...
Click to collapse
I think that a tutorial is in order. Someone who knows how to extract and replace files in a system.img needs to write a short tutorial on how to do it. - A simple step by step on how to decompile a system.img and re-compile it.
I for one would be extremely grateful because I finally worked out a perfect MMS patch and I'd like to be able to easily modify the builds pre-flash.
dharvey4651 said:
I think that a tutorial is in order. Someone who knows how to extract and replace files in a system.img needs to write a short tutorial on how to do it.
I for one would be extremely grateful because I finally worked out a perfect MMS patch and I'd like to be able to easily modify the builds pre-flash.
Click to expand...
Click to collapse
I have been trying to do that all night. I can unpack them but haven't got around to repacking them. For now all I do is install the build and push the patched file that I have and do a AD hardrest in MAGLDR. MMS 300-1024k and all TMO US app works.
dharvey4651 said:
I think that a tutorial is in order. Someone who knows how to extract and replace files in a system.img needs to write a short tutorial on how to do it. - A simple step by step on how to decompile a system.img and re-compile it.
I for one would be extremely grateful because I finally worked out a perfect MMS patch and I'd like to be able to easily modify the builds pre-flash.
Click to expand...
Click to collapse
yeah, it would be very nice if smb can write some tutorial on modifying system.img files
i have been trying to figure this out too!
IcedCube said:
This is IcedCube, the Developer of GingerHD2, a Android 2.3 ROM for your HD2.
Click to expand...
Click to collapse
Thought I should point out that you could really confuse things by using that name...
http://forum.xda-developers.com/showthread.php?t=871387
That's not actually a Gingerbread build - it's just themed to look like one, but still got the same name
hnamanh said:
I have been trying to do that all night. I can unpack them but haven't got around to repacking them. For now all I do is install the build and push the patched file that I have and do a AD hardrest in MAGLDR. MMS 300-1024k and all TMO US app works.
Click to expand...
Click to collapse
Another option is to connect to ADB or Android Commander before going through the initial setup(when it asks you to choose your language) and change the files then - use the PC to reboot the phone, not the phone's built-in reboot. This should take you right back to the setup screen where this time, should show United States localization.
Still a bit too much work. I'd like to be able to patch the build, flash it, and be good to go.
found this but too educated for me
http://android-dls.com/wiki/index.php?title=HOWTO:_Unpack,_Edit,_and_Re-Pack_Boot_Images
sorry i think this one is normal data img.not sure.
well i did say it was too educated for me
Turorial
KillaHurtz said:
The system.img is a yaffs2image. Google 'compiled windows unyaffs' use that program to take a peak inside the .img. When you're completely ready to make your own .img your gonna need a linux distro or cygwin w/mkyaff2image compiled. However I recomend compiling the mkfs.yaffs2 command if you are using linux. Alternatively you can place the /system/ directory you are trying to make an image on your SD and run that command in the terminal emulator in Android. It should look like this #mkyaffs2image /sdcard/system/ System.img
Hope that helps.
Click to expand...
Click to collapse
Windows
-----------------------------------------------------------------------------
Ok, let's start again. If you are using windows, google the said phrase above and you will find the precompiled utility 'unyaffs'.
Place the System.img you want to extract in a new directory with unyaffs.exe & drag the .img onto unyaffs. A command window will open and start extracting the files in the image to that same folder. You can now explore & edit/pull whatever you need to get things going. Once you have it the way you want copt it to your SD/root/ & make a folder for it with an obvious name like "Project" or "Test". Now to get it back into a bootable .img open Terminal Emulator in Android & enter the following
#mkyaffs2image /sdcard/NAMEofFOLDERuCHOSE/ System.img
**alternatively you can do this in windows itself if u have the utility compiled under cygwin or simular.
Linux
-----------------------------------------------------------------------------
Ok, you will need the unyaffs & mkfs.yaffs2 utilities compiled and working 1st off.
mkyaffs2image works to make the image however it fails upon flash with DFT Android Flasher. So I recomend mkfs.yaffs2 & have included it, you will need to place it in /usr/sbin/. If you have trouble copying it open a terminal and run "gksudo nautilus" then copy to the above mentioned directory.
**Now that those utilities are working let's get to work.
open a terminal and run 'unyaffs /home/yourusername/Desktop/targetdirectory/targetimage.img
copy/edit/pull the files you want. When your ready to build the image you are happy with open a terminal and run 'mkfs.yaffs2 /home/yourusername/Desktop/targetdirectory/ System.img'
Now your ready to flash !
System.img & Boot.img Contents
============================================================
System.img contains the entire root/system/ directory in Android
System/
app
bin
etc
fonts
framework
lib
lost+found
media
usr
xbin
build.prop
dmesg.txt
Boot.img contains
Boot/
initrd.gz
zImage
lost+found
============================================================
Hope that helps guys, It's my first tut on XDA
**EDIT: I included an archive for windows users that has unyaffs2.exe & cygwin1.dll
The Linux archive contains mkfs.yaffs2.x86, once moved to /usr/sbin/ rename to mkfs.yaffs2
The process works exactly the same for Boot.img
you need linux and run command by terminal
put them in /bin
http://www23.zippyshare.com/v/13814384/file.html
then you can yaffs or unyaffs
example
unyaffs /home/rafpigna/folder_with_img_you_wann_unpack/system.img
or
mkyaffs2image /home/rafpigna/folder_with_stuff_you_wanna_pack/ system.img
strange thing...when I open with unyaffs and then close with mkfs.yaffs2 or mkyaffs2image I get init: untracked pid 250 exited (where 250 varies) in a loop :S
some light for me?
michyprima said:
strange thing...when I open with unyaffs and then close with mkfs.yaffs2 or mkyaffs2image I get init: untracked pid 250 exited (where 250 varies) in a loop :S
some light for me?
Click to expand...
Click to collapse
What platform are you using? Have u tried copying your target directory to your sdcard and running the command in android's terminal?
Reguards
KillaHurtz said:
What platform are you using? Have u tried copying your target directory to your sdcard and running the command in android's terminal?
Reguards
Click to expand...
Click to collapse
linux x64.
btw no I didn't, because I want to make a rom (I'm not new to android development but that makes me think that I'm probably stupid )
Everything I do doesn't work.
Already tried something like:
- opened a premade working rom, exchanged just app and framework: no way
- exchanged everything but not bin/xbin/lib: no way
- exchanged just what was different between a stock and a premade leo rom: still no way
mmmh...
yaffs2
There is actually a way to modify files in a yaffs2 image but I've not done it my self yet. I'm 100% sure it's possible cuz everything is possible.... under Linux of course.
You need:
Linux, compiling skills, mounting skills, etc.
Basically for any other filesystems you can mount them as loop devices but not yaffs2. For yaffs2 you actually need a virtual mtd block device. once you have the mtd device you can mount the yaffs image on it.
For details google for: mounting yaffs image
and focus on virtual mtd block device.
michyprima said:
linux x64.
btw no I didn't, because I want to make a rom (I'm not new to android development but that makes me think that I'm probably stupid )
Everything I do doesn't work.
Already tried something like:
- opened a premade working rom, exchanged just app and framework: no way
- exchanged everything but not bin/xbin/lib: no way
- exchanged just what was different between a stock and a premade leo rom: still no way
mmmh...
Click to expand...
Click to collapse
http://www.miui-dev.com/forums/showthread.php?481-Howto-Make-your-own-Android-Build-for-the-HD2
This has a list of files to be pulled. Hope this helps. BTW michy I need help with a kernel, know anyone?
I'm Having a problem using on Linix, when i use the unyaffs trough the terminal it extracts the rom but not the squashed contents, which in the main apps and frame work are at on thoughs roms. I do get a file that says squashed but empty. I tried on cyanogens 6.1 rom and everything extracted fine.but that rom does not have a squashed folder, am i doing something wrong?
1. If i unyaffs System.img and manually remove some programs/aplications then create System.img with yaffs, does it programs will appear in apps and does my rom will be caused a more memory for other programs for installation?
2. Is it possible to unyaffs Boot.img then replace zimage with newest kernel like MDJ or hastarin then yaffs to new Boot.img, After that i suppose then this Android OS will be on new kernel???
3. And... If i remove zimage and initrd.gz from Boot.img, create new Boot.img without these two files and these two files copy to SD card and define that two files in flash.cfg for find on SD. Does it works?
Sorry for bad English.
Hello!
First of all, thanks to all you repliers!
I'd really like to know a few things creating a ROM:
1. how can I create an update.zip starting from a system.img? (I know how to sign) In case can I simply install the img and then push /system changes, like root or busybox?
2. how can I install busybox manually? Can I create a script which does the job for me (i.e. busybox --install command at first boot then delete the script itself), avoiding me to write loads of symlinks?
3. when I've created an update.zip, is it easy to root the ROM? I mean, just push su and SuperUser.apk? Or I need a particular boot.img?
Thanks
elegos said:
Hello!
First of all, thanks to all you repliers!
I'd really like to know a few things creating a ROM:
1. how can I create an update.zip starting from a system.img? (I know how to sign) In case can I simply install the img and then push /system changes, like root or busybox?
Click to expand...
Click to collapse
Clockwork Recovery won't install system image files for some reason. You'll need to dump the yaffs2 filesystem then zip it up into the update.zip, then use an updater-script to set unix permissions (zip doesn't preserve these). Also, there's no need to sign the update.zip. It's only meaningful to the device's firmware if it is signed by the device's manufacturer.
elegos said:
Hello!
2. how can I install busybox manually? Can I create a script which does the job for me (i.e. busybox --install command at first boot then delete the script itself), avoiding me to write loads of symlinks?
Click to expand...
Click to collapse
Certainly. You can add a script and call it from updater-script during the install.
elegos said:
Hello!
3. when I've created an update.zip, is it easy to root the ROM? I mean, just push su and SuperUser.apk? Or I need a particular boot.img?
Thanks
Click to expand...
Click to collapse
Boot image is irrelevant to a properly rooted system. Just adding SuperUser should be sufficient.
That's cool!
1. as of the system.img, I see there is a system folder too - is that just enought zipping it?
2. may you please tell me how to call a script within an edify updater-script please?
3. thanks
I don't understand. You have a system.img and a system folder? In what? What are you starting from? If you use a zipped system, you WILL need to set unix permissions, symlinks and modes as these are NOT preserved in a zip file.
As far as calling scripts, something like this:
run_program PACKAGE:installbusybox.sh
This is how I made ROM, I'll try to write the steps as simple as I can. For advanced users only!
Update 22/08/11:
Revised packaging steps.
Update 13/08/11:
Removed unwanted method for ROM cooking.
Update 04/08/11:
Modified extract and repack ROM guide and added extracting system.rfs guide.
Things you need:
Base firmware
Archiver software (7zip recommended)
Any Linux environment to build ROM or Cygwin
APK Manager to optimize and decompile *.apk files
MagicISO (Optional) if you want to extract system.rfs
And the last thing is... You need enough experience in android world
So, here is the steps to cook a ROM:
Flash your phone with your desired base firmware
Make required modifications
Pull system.rfs from your phone by running this command on adb shell or Terminal Emulator:
Code:
dd if=/dev/stl12 of=/sdcard/system.rfs
Extract any *.tar.md5 files from your base firmware to your working folder with 7zip
Replace the current system.rfs with your modified one
EDIT: Pack your ROM by running this code via terminal or just pack it with 7zip/WinRAR as *.tar
Code:
tar -H ustar -c * >> ROMNAME.tar
change ROMNAME to your desired, well, ROM name.
Here is (yet) useful guide to modify your ROM.
Extract system files on system.rfs to make modding easier:
Extract PDA file (*.tar.md5) files with 7zip
Open system.rfs with MagicISO
To extract it, just drag and drop
NOTE: Never edit your ROM with MagicISO because the file permissions will be ignored, use MagicISO only for extracting files from system.rfs
Deodex, and Zipalign (optimize) your ROM apk files:
Ready to use deodex + root for KPN: http://forum.xda-developers.com/showthread.php?t=1196230
Ready to use deodex + root for KPH and other firmware: http://forum.xda-developers.com/showthread.php?t=1118048
Open APK Manager
To zipalign your apk files, in apk manager folder /place-apk-here-to-batch-optimize put your:
framework-res.apk, twframework-res.apk and all system apk
but not these:
AxT9IME, Calculator, Camera, Email, MMS, Phone, Screen Capture, Settings, Swype, Thinkdroid, Voice search
Choose Choose option 15
Then choose both (zp)
Let it run and done.
Now put back the apk files where they belong in the ROM.
How to put these apk files to my ROM? Copy these files to appropriate locations, such as /system/app to your ROM's /system/app, and etc.
Another handy modification guide:
Unpack and repack boot.img - http://forum.xda-developers.com/showthread.php?t=1173427
Convert firmware filesystem to ext4 - http://forum.xda-developers.com/showthread.php?t=1202049
Overscroll glow for any firmware - http://forum.xda-developers.com/showthread.php?t=1215933"
Give thanks to all dev who made that possible!
If you have more guides to put here, please PM me.
Am I pertamax?
hehe..just kidding.
Nice Info....great share.
I would want the Fla.sh Rom :'(
Thats a gr8 share...Thank you...)
saiftheboss7 said:
I would want the Fla.sh Rom :'(
Click to expand...
Click to collapse
sorry... once again, I'm sorry, I can't continue my ROM
Helpful thread man!
Thanks!
Great job taking your time to make this! Unfortunately, i dont even know the basics but now I know where to check when I do
fla.sh said:
sorry... once again, I'm sorry, I can't continue my ROM
Click to expand...
Click to collapse
Hey!
THX man, nice thread. Very useful!
Just PM to MOD, that they close you previous thread, a bout fla.sh.ROM. Or ppl just waiting it and asking.
CHEERS!
i think the most troublesome problem i encounter is to repack system.rfs. yes it can be mounted in magiciso, but howto repack/compile it back?
an0nym0us_ said:
i think the most troublesome problem i encounter is to repack system.rfs. yes it can be mounted in magiciso, but howto repack/compile it back?
Click to expand...
Click to collapse
Just save it.
didnt work when i just save it. my device got bootloop
an0nym0us_ said:
didnt work when i just save it. my device got bootloop
Click to expand...
Click to collapse
What modification you've added to your ROM? Maybe that modification causing the problem...
fla.sh said:
What modification you've added to your ROM? Maybe that modification causing the problem...
Click to expand...
Click to collapse
As Linux, MagicISO read RFS image as a FAT filesystem. File permissions can not be maintained. A better way but need linux:
1. Mount system.rfs as FAT and mount it to /tmp/rfs
2. Make ext4 image, and mount it to /tmp/system
3. Copy /tmp/rfs contents to /tmp/system
4. Make modification inside /tmp/system
5. Fix file permissions inside /tmp/system
6. Umount both image
7. Make ODIN flashable image, contains system.rfs (now in ext4 format) and CF-Root-S5830 boot and recovery image (for ext4 support)
8. Boot to Windows and flash your new firmware using ODIN.
ketut.kumajaya said:
As Linux, MagicISO read RFS image as a FAT filesystem. File permissions can not be maintained. A better way but need linux:
1. Mount system.rfs as FAT and mount it to /tmp/rfs
2. Make ext4 image, and mount it to /tmp/system
3. Copy /tmp/rfs contents to /tmp/system
4. Make modification inside /tmp/system
5. Fix file permissions inside /tmp/system
6. Umount both image
7. Make ODIN flashable image, contains system.rfs (now in ext4 format) and CF-Root-S5830 boot and recovery image (for ext4 support)
8. Boot to Windows and flash your new firmware using ODIN.
Click to expand...
Click to collapse
I use this command to mount rfs:
Code:
mount -o loop system.rfs /some_dir
Can you share us the command?
now thats really informative. thanks
ROM unpacking and repacking gude has been corrected. Tested by me. If you have any problems, just ask here.
Thanks.
I think you should add the date of update in the title, so that everyone can know about the update...
BTW thanks for this amazing guide...
Love it!!!
After making changes to system.rfs, how to save it as .rfs again?
adiles said:
After making changes to system.rfs, how to save it as .rfs again?
Click to expand...
Click to collapse
Please take look at the first page, it's updated, you know?
After I created md5 file and selected it in odin, it says "invalid image type" and "invalid model binary". How to solve that? After that I continued, skipped these errors and flashed, my phone stopped at boot screen with text "Galaxy ACE....". Plz help me
Since I cant post in development section I will ask here if someone can help me. I have U8800 with 2.3 stock rom and I cant remove stock apps (swype in my case).I am rooted with DooMLoRD_v3_ROOT and SU is instaled. I did find apk file (/cust/hw/default/apk) but I am not able to remove it. I tried with titanium backup, root explorer, terminal emulator (cant find target) and with super manager.It seems like I am half rooted as root explorer cant mount rw in cust directory but works in system directory.Any idea is welcome,thank you!
You need to do it manually via adb shell. First to mount the partition as rw and then to remove it. I want to remove this file too, so I' ll try it asap.
EDIT:
I tried but this partition which is on /dev/block/loop0 cannot be mounted rw, I get a permission denied error.
.
In pinkscreen mode delete cust.image file,then delete apps with titanium backup.
We want to delete only some apps.
With your way we loose all huawei' s custom configuration, it' s like we don' t install step3.
This is not a solution.
I hope that we can find solution for this as I want to instal costum swype with my language enabled (slovenian) and can not do it untill I remove stock one. If any of you can post in development section maybe you can ask there if they know the solution for this, thank you!
I fixed it.
I deleted all unneeded apks (stock apps) that stored in cust.img
My method;
1. On Slitaz Linux 3.0
2. Open terminal
3. Copy cust.img from phone to /home folder
4. mkdir tmp
5. mount cust.img /home/tmp
6. cd /home/tmp/hw/default/app
7. Delete apk files what you don't want
8. unmount tmp
9. Copy cust.img from /home folder to phone
Ok, but I dont have linux or terminal on my computer. Is there any way to do this via terminal emulator on the phone? Or is there some step by step guide how to do it as I am not really familiar with terminal or its use.
http://www.multiupload.com/EKPGJ7EUGO
This is "cleared" cust.img. That contains only these apks;
BeyondTheSkyTheme.apk
Calendar.apk
CalendarProvider.apk
DeskClock.apk
ToolBox.apk
1. Download this rar archive and open it.
2. Start your phone in pink screen mode
3. Backup original cust.img to your computer
4. Copy "cleared" cust.img from rar to phone.
Thank you,I managed to install swype in my language and it works great. I was wondering if there is any chance to extract all factory .apk files and post them somewere so people could donload them and install them if they want. I am missing that weather clock widget but swype is far more important to me, so thank you again to make it possible.
This rar archive contains all apks that stored in cust.img -->> http://www.multiupload.com/8DWKNVTXML
Just copy apk file (which ones do you want) to "/system/app" folder and restart.
or
This is only TotemWeather.apk -->> http://www.multiupload.com/IWX7U3G5FU
Just copy to "/system/app" folder and restart.
Thank you, you are the best. Will this cust.img work with 2.3 beta which will be released this thursday according to Huawei? If not I wont update again as I just managed to adjust phone to my needs.
I hope, it will works with the new update. If not, i'll fix it when update released.
could you give us a cleared cust.img for the official 2.3.5???
Hi everyone
I am a fan of Nook ST, however, the biggest problem with this cute reader is that It does not use Unicode Font. Hence, I cant read ebooks in my maternal language ( Vietnamese). Does any one know how to replace those default fonts with unicode fonts ( Of window) . I dont want to root my Nook because I just use it for reading
Thanks in advance
You can find some helpful info/pointers at the following links:
http://phanquochuy.me/?p=114
http://nookdevs.com/Font_Changes
http://bookclubs.barnesandnoble.com...n-t-display-Vietnamese-characters/td-p/494819
http://www.mobileread.com/forums/showthread.php?t=178623
Usually the route to supporting unsupported character sets is to use the fallback font, DroidSansFallback.ttf
You might try a font from a newer version of Android or replacing it with some big font.
Since I don't know Vietnamese, I don't know exactly what chars you are looking for.
Are your books in Vietnamese using pre-compiled chars, that is a single char for glyph and accent?
There are reasonably wide choices of fonts that can render the (modern) vietnamese character set (subset of latin alphabet with diacritical marks on vowels, plus one modified consonant), unfortunately none of them is in the stock Nook's font set, and the OP does not want to root his/her NST. Embedding font in the epubs is a pain, even with the referenced plug-in for Calibre.
Well, they may not want to root their Nook, but there is rooting and rooting.
If they slap Clockwork Mod Recovery on an SD card they can remount system, replace DroidSansFallback.ttf and reboot.
No harm done and no one the wiser.
Renate NST said:
Usually the route to supporting unsupported character sets is to use the fallback font, DroidSansFallback.ttf
...
Click to expand...
Click to collapse
I took a peek at /system/fonts: DroidSansFallback.ttf is there but it does not show up in the font menu of the stock Reader. To get it in one would have to muck with the Reader's apk content.
DroidSansFallback.ttf is the fallback font.
You never specify it.
When you punch up a website in Hindi and your regular font does not support Hindi letters, the system tries the fallback font.
There is a lot of stuff in DroidSansFallback.ttf, but not everything.
On my desktop, for instance, Arial Unicode MS is the biggest font that I have.
It has pretty comprehensive support for many languages.
The Android 2.1 DroidSansFallback.ttf is 3,081,908 bytes.
The Android 4.0 DroidSansFallback.ttf is 5,300,184 bytes.
Arial Unicode MS is 24,172,892 bytes!
thank digimax for such useful advice. I knew how to embed font into epub however it will be a bit trouble everytime i want to read a new book
I have an idea when I follow given links, especially Font_Changes of Nookdevs. If we modify the reader app in backup nook (.img) or in update files from B&N(.zip) then restore to device, will it work ?
ectacy said:
thank digimax for such useful advice. I knew how to embed font into epub however it will be a bit trouble everytime i want to read a new book
I have an idea when I follow given links, especially Font_Changes of Nookdevs. If we modify the reader app in backup nook (.img) or in update files from B&N(.zip) then restore to device, will it work ?
Click to expand...
Click to collapse
Your idea might work but it seems a bit "heavy-handed", I personally would explore and opt for a more surgical approach along the line @Renate posted above: e.g., use SD CWM to get the file-system mounted as writable then <adb push> the modified reader apk over.
BTW, what are some good sources of good Vietnamese books in epub formats?
digixmax said:
Your idea might work but it seems a bit "heavy-handed", I personally would explore and opt for a more surgical approach along the line @Renate posted above: e.g., use SD CWM to get the file-system mounted as writable then <adb push> the modified reader apk over.
BTW, what are some good sources of good Vietnamese books in epub formats?
Click to expand...
Click to collapse
Here I attach an Vietnamese epub file, you can take it as sample for "nook surgery" ( I dont know which epub is good source of format, hence i picked one which is not converted by Calibre ) . I am newbie in Android, so much thing to explore and learn ADB seems a complicated tool :silly:
I took a peek at Reader.apk (extracted from FW v1.1.2 I currently use): opening and hacking it up is more work than what I would invest into an exercise I thought of doing just for kick.
If you think stuffs like ADB is complicated, I'd suggest the path I had taken: root your NST and get free Mantano Reader from the Google Play store (it opens and displays just fine the Tuyet Son Phi Ho epub you posted above).
digixmax said:
I took a peek at Reader.apk (extracted from FW v1.1.2 I currently use): opening and hacking it up is more work than what I would invest into an exercise I thought of doing just for kick.
If you think stuffs like ADB is complicated, I'd suggest the path I had taken: root your NST and get free Mantano Reader from the Google Play store (it opens and displays just fine the Tuyet Son Phi Ho epub you posted above).
Click to expand...
Click to collapse
thank you I will consider your advice about rooting and matano . Another solution is to sell my nook and get a kindle , no more epub, no more font ... just prc, just read.
In point of fact, the Reader doesn't handle fallback correctly.
You can get your font to work a number of ways.
The easiest is to substitute one of the fonts like Trebuchet.
Copy arialuni.ttf (Arial Unicode MS) from somewhere to DroidSansFallback.ttf
Create a few links so that bold and italics will work.
Connect with ADB shell:
Code:
mount -o rw,remount /dev/block/mmcblk0p5 /system
cd system/fonts
mv Trebuchet.ttf Trebuchet.bak
mv Trebuchet-Bold.ttf Trebuchet-Bold.bak
mv Trebuchet-BoldItalic.ttf Trebuchet-BoldItalic.bak
mv Trebuchet-Italic.ttf Trebuchet-Italic.bak
Push with ADB:
Code:
adb push arialuni.ttf /system/fonts/DroidSansFallback.ttf
Back to ADB shell:
Code:
cd system/fonts
ln DroidSansFallback.ttf Trebuchet.ttf
ln DroidSansFallback.ttf Trebuchet-Bold.ttf
ln DroidSansFallback.ttf Trebuchet-BoldItalic.ttf
ln DroidSansFallback.ttf Trebuchet-Italic.ttf
Open the book up and select "Trebuchet" as the font.
Here's the first page:
Renate NST said:
In point of fact, the Reader doesn't handle fallback correctly.
You can get your font to work a number of ways.
The easiest is to substitute one of the fonts like Trebuchet.
Copy arialuni.ttf (Arial Unicode MS) from somewhere to DroidSansFallback.ttf
Create a few links so that bold and italics will work.
Connect with ADB shell:
Code:
mount -o rw,remount /dev/block/mmcblk0p5 /system
cd system/fonts
mv Trebuchet.ttf Trebuchet.bak
mv Trebuchet-Bold.ttf Trebuchet-Bold.bak
mv Trebuchet-BoldItalic.ttf Trebuchet-BoldItalic.bak
mv Trebuchet-Italic.ttf Trebuchet-Italic.bak
Push with ADB:
Code:
adb push arialuni.ttf /system/fonts/DroidSansFallback.ttf
Back to ADB shell:
Code:
cd system/fonts
ln DroidSansFallback.ttf Trebuchet.ttf
ln DroidSansFallback.ttf Trebuchet-Bold.ttf
ln DroidSansFallback.ttf Trebuchet-BoldItalic.ttf
ln DroidSansFallback.ttf Trebuchet-Italic.ttf
Open the book up and select "Trebuchet" as the font.
Here's the first page:
Click to expand...
Click to collapse
Do I need to root my Nook touch to connect it with ADB ?
thank Renate NST for your help :-? I think Swapping default reader and modified reader can be done without rooting I am reading your topic about modifying APK . It could be hard but I wont give up
ectacy said:
I think Swapping default reader and modified reader can be done ...
Click to expand...
Click to collapse
This is not about swapping Reader.apk (or ReaderRMSDK.apk).
This is just about swapping fonts for one that support Vietnamese characters.
It doesn't involve changing anything in the boot partition.
Yes, to change anything in the system partition you must have root access somehow for as long as it takes to make the changes.
You have to put something on a SD card and boot up on that.
Your choices are:
Use one of the handy-dandy rooter tools that people post
Use Clockwork Mod Recovery that will directly allow you to use ADB
Use noogie and a Linux system to access the /system partition directly
I have found a way to accomplish this with minimal work on the Nook itself.
A little background. I like using the Caecilia font, but it really bugs me that I can't tell the difference between "normal" and "bold" text because for the latest version of Caecilia installed on the nook the weights of "normal" and "bold" are nearly identical. So I went looking for a way to fix that. Here is what I came with. It should work for any font you want to replace.
1) Obtain a copy of the font you want to use, in my case Lexia DaMa.
2) Obtain a copy of Type Light 3.2.
3) Using some temporary or permanent rooting method, copy the font you want to replace from the /system/fonts directory on your nook using adb pull.
4) Open the font file pulled from your nook in Type light 3.2 and note the name of the font stored INTERNALLY in the file.
5) Open the font you want to use in Type light 3.2 and rename it to match the font you are replacing.
6) Using adb push, copy your replacement font over the EXACT file names for the original font on your nook.
7) Reboot your nook.
7) Use your "new" font by selecting the name of the font you replaced.
You do not need to permanently root your device for this method to work and in does not involved creating links which a non-techie can easily mess up. You can do all of the font files for a particular font, or only the regular font file, depending on your purpose. For the OP's purpose, all of the font files should be done. For my purpose, I only did the "regular" file as Lexia DaMa and Caecilia are very close and the Caecilia BOLD, ITALIC, and BOLDITALIC work just fine for me. You should make a backup copy of the original font files from your nook either on or off the device in case you ever want to switch back.
If anyone is interested, I can post a more detailed (including actual commands) description of this method.
Links aren't that complicated.
In any case, the purpose of the links is to:
Insure that foreign language titles appear correctly in indexes.
Avoid the 4 times duplication of a 24 Meg font file!
David0226 said:
I have found a way to accomplish this with minimal work on the Nook itself.
A little background. I like using the Caecilia font, but it really bugs me that I can't tell the difference between "normal" and "bold" text because for the latest version of Caecilia installed on the nook the weights of "normal" and "bold" are nearly identical. So I went looking for a way to fix that. Here is what I came with. It should work for any font you want to replace.
1) Obtain a copy of the font you want to use, in my case Lexia DaMa.
2) Obtain a copy of Type Light 3.2.
3) Using some temporary or permanent rooting method, copy the font you want to replace from the /system/fonts directory on your nook using adb pull.
4) Open the font file pulled from your nook in Type light 3.2 and note the name of the font stored INTERNALLY in the file.
5) Open the font you want to use in Type light 3.2 and rename it to match the font you are replacing.
6) Using adb push, copy your replacement font over the EXACT file names for the original font on your nook.
7) Reboot your nook.
7) Use your "new" font by selecting the name of the font you replaced.
You do not need to permanently root your device for this method to work and in does not involved creating links which a non-techie can easily mess up. You can do all of the font files for a particular font, or only the regular font file, depending on your purpose. For the OP's purpose, all of the font files should be done. For my purpose, I only did the "regular" file as Lexia DaMa and Caecilia are very close and the Caecilia BOLD, ITALIC, and BOLDITALIC work just fine for me. You should make a backup copy of the original font files from your nook either on or off the device in case you ever want to switch back.
If anyone is interested, I can post a more detailed (including actual commands) description of this method.
Click to expand...
Click to collapse
Your solution seems understandable for me @@ I am buried in a jumble of ADB, CWM, Shell,... :cyclops:
Renate NST said:
This is not about swapping Reader.apk (or ReaderRMSDK.apk).
This is just about swapping fonts for one that support Vietnamese characters.
It doesn't involve changing anything in the boot partition.
Yes, to change anything in the system partition you must have root access somehow for as long as it takes to make the changes.
You have to put something on a SD card and boot up on that.
Your choices are:
Use one of the handy-dandy rooter tools that people post
Use Clockwork Mod Recovery that will directly allow you to use ADB
Use noogie and a Linux system to access the /system partition directly
Click to expand...
Click to collapse
Can you give me detail instruction on this solution. I am having noogie and a CD of Ubuntu. Are they enough to follow this method :victory: