Does anyone know how to customize the splash/boot screen after booting into MAGLDR.
Changing the default splash/boot screen before MAGLDR is easy enough, but I can't find any information as how to change the splash/boot screen of the android build stored on NAND.
Appreciate a point in the right direction.
Thanks!
Look Here!
http://forum.xda-developers.com/showthread.php?t=895089
Saw this post, very helpful but I think its for the splash/boot screen that pops up before the MAGLDR boot.
I'm interested in changing the boot/splash screen for the Android that executes after 12345 gogogo!
THanks!
To clear up my terminology, I'm looking to change the android boot animation after it loads from MAGLDR
akapaul26 said:
Look Here!
http://forum.xda-developers.com/showthread.php?t=895089
Click to expand...
Click to collapse
Okay So i figured out where the bootanimation.zip is held in system/customize/resource/bootanimation.zip
Does anyone know were are the splash files located for nand android?
Oh ok, interesting, I'd like to know too!
xxljmzlxx said:
Okay So i figured out where the bootanimation.zip is held in system/customize/resource/bootanimation.zip
Does anyone know were are the splash files located for nand android?
Click to expand...
Click to collapse
I believe splash located inside initrd.gz
justwonder said:
I believe splash located inside initrd.gz
Click to expand...
Click to collapse
any idea of how to edit initrd.gz?
xxljmzlxx said:
any idea of how to edit initrd.gz?
Click to expand...
Click to collapse
extract
mkdir initdir
cd initdir
zcat ../initrd.gz | cpio -i -d
compress
cd initdir
find . | cpio -o -H newc | gzip -9 > ../initrd.gz
justwonder said:
extract
mkdir initdir
cd initdir
zcat ../initrd.gz | cpio -i -d
compress
cd initdir
find . | cpio -o -H newc | gzip -9 > ../initrd.gz
Click to expand...
Click to collapse
what program do you use for the above commands?
You can use any terminal emulator on Your phone, or You can use a terminal on a PC under Linux OS. This in Linux commands.
justwonder said:
extract
mkdir initdir
cd initdir
zcat ../initrd.gz | cpio -i -d
compress
cd initdir
find . | cpio -o -H newc | gzip -9 > ../initrd.gz
Click to expand...
Click to collapse
so what is that line, is that an "L"? just wanna make sure I type **** **** correctly.
there's a tool in this thread to change splash screen + a load of splash screens:
http://forum.xda-developers.com/showthread.php?t=895089
matt
Related
Hi all , i am a new android user and would like to have a go a biulding some custom roms, Now i have no experiene with linux.. well the last 3days.. lol, and i have read the how to make a hero rom txt from the vogue - hero site and while that maybe suffucient for others to get up and away with rom building its not for me, So i am wondering if there is a more in depth step by step guide for not only a new android user but a new linux user also, would be very much appreciated
ok so there hasnt been much of a respone so ill share the steps i have so far
1. I installed Ubuntu linux ( Dual Boot with win 7 )
2. Needed to know how to install Squashfs did a search on google found this
A) open terminal window ( Ubuntu start menu, accessories )
B) type: sudo aptitude search squashfs , u will be prompted for password
this is what happened with mine:
[email protected]:~$ sudo aptitude search squashfs
[sudo] password for ali3nfr3ak:
i squashfs-tools - Tool to create and append to squashfs filesystems
C) type this command:sudo apt-get install squashfs-tools
My Dialog ( ihad to uninstall and then reinstall to get this so mine will be alittle different to
yours
[email protected]:~$ sudo apt-get install squashfs-tools
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following NEW packages will be installed:
squashfs-tools
0 upgraded, 1 newly installed, 0 to remove and 0 not upgraded.
Need to get 0B/122kB of archives.
After this operation, 319kB of additional disk space will be used.
Selecting previously deselected package squashfs-tools.
(Reading database ... 115049 files and directories currently installed.)
Unpacking squashfs-tools (from .../squashfs-tools_1%3a4.0-1_i386.deb) ...
Processing triggers for man-db ...
Setting up squashfs-tools (1:4.0-1) ...
[email protected]:~$
C) all done close terminal i type: exit
3: Next for testing purposes download this Google-Android-Ion-v1.5-2009-10-23-sdcard-not-google-apps and etract this and placed a copy of system.sqsh into it s own directory
4: i then opened another terminal window ( easier to copy and paste show you what my window looks like
[email protected]:~$ dir
Desktop Documents Downloads examples.desktop HERO Music Pictures Public Templates Videos
[email protected]:~$ cd HERO
[email protected]:~/HERO$ dir
Testing
[email protected]:~/HERO$ cd Testing
[email protected]:~/HERO/Testing$ dir
system.sqsh
[email protected]:~/HERO/Testing$ unsquashfs system.sqsh
Parallel unsquashfs: Using 2 processors
650 inodes (1408 blocks) to write
[=====================================================================================================================================================-] 1408/1408 100%
created 650 files
created 45 directories
created 0 symlinks
created 0 devices
created 0 fifos
[email protected]:~/HERO/Testing$ dir
squashfs-root system.sqsh
[email protected]:~/HERO/Testing$
basicially u can use the same commands as windows but with out the / and the spelling and Capitial letters have to be exact
Windows
/dir
/cd hero
Linux
dir
cd HERO
A new folder is created called squashfs-root which has all the files/ folders from the system.sqsh u just decompressed ( my description )
and that is a far as i have got so far
ali3nfr3ak said:
Hi all , i am a new android user and would like to have a go a biulding some custom roms, Now i have no experiene with linux.. well the last 3days.. lol, and i have read the how to make a hero rom txt from the vogue - hero site and while that maybe suffucient for others to get up and away with rom building its not for me, So i am wondering if there is a more in depth step by step guide for not only a new android user but a new linux user also, would be very much appreciated
Click to expand...
Click to collapse
If you still have that txt, would you mind hosting or pasting it here? I've been asking around for a copy and everyone seems to have lost it.
clockworx said:
If you still have that txt, would you mind hosting or pasting it here? I've been asking around for a copy and everyone seems to have lost it.
Click to expand...
Click to collapse
same here. trying to make my first rom also
How-To-Make-A-Hero-ROM.TXT attached
MUCH appreciated!
updated 1st post with my very linux noob steps lol
having alittle trouble anyone can someone shed some light please
[email protected]:/home/ali3nfr3ak/Downloads/HERO2# genext2fs -d ./system -b 180000 -a system.ext2
genext2fs: invalid option -- 'a'
genext2fs: Note: options have changed, see --help or the man page.
[email protected]:/home/ali3nfr3ak/Downloads/HERO2# genext2fs -help
Usage: genext2fs [options] image
Create an ext2 filesystem image from directories/files
-x, --starting-image <image>
-d, --root <directory>
-D, --devtable <file>
-b, --size-in-blocks <blocks>
-i, --bytes-per-inode <bytes per inode>
-N, --number-of-inodes <number of inodes>
-m, --reserved-percentage <percentage of blocks to reserve>
-g, --block-map <path> Generate a block map file for this path.
-e, --fill-value <value> Fill unallocated blocks with value.
-z, --allow-holes Allow files with holes.
-f, --faketime Set filesystem timestamps to 0 (for testing).
-q, --squash Same as "-U -P".
-U, --squash-uids Squash owners making all files be owned by root.
-P, --squash-perms Squash permissions on all files.
-h, --help
-V, --version
-v, --verbose
and
[email protected]:/home/ali3nfr3ak/Downloads/HERO2# mkdir rootfs-mount
[email protected]:/home/ali3nfr3ak/Downloads/HERO2# mount -o loop rootfs.img
mount: can't find rootfs.img in /etc/fstab or /etc/mtab
ali3nfr3ak said:
having alittle trouble anyone can someone shed some light please
[email protected]:/home/ali3nfr3ak/Downloads/HERO2# genext2fs -d ./system -b 180000 -a system.ext2
genext2fs: invalid option -- 'a'
genext2fs: Note: options have changed, see --help or the man page.
[email protected]:/home/ali3nfr3ak/Downloads/HERO2# genext2fs -help
Usage: genext2fs [options] image
Create an ext2 filesystem image from directories/files
-x, --starting-image <image>
-d, --root <directory>
-D, --devtable <file>
-b, --size-in-blocks <blocks>
-i, --bytes-per-inode <bytes per inode>
-N, --number-of-inodes <number of inodes>
-m, --reserved-percentage <percentage of blocks to reserve>
-g, --block-map <path> Generate a block map file for this path.
-e, --fill-value <value> Fill unallocated blocks with value.
-z, --allow-holes Allow files with holes.
-f, --faketime Set filesystem timestamps to 0 (for testing).
-q, --squash Same as "-U -P".
-U, --squash-uids Squash owners making all files be owned by root.
-P, --squash-perms Squash permissions on all files.
-h, --help
-V, --version
-v, --verbose
and
[email protected]:/home/ali3nfr3ak/Downloads/HERO2# mkdir rootfs-mount
[email protected]:/home/ali3nfr3ak/Downloads/HERO2# mount -o loop rootfs.img
mount: can't find rootfs.img in /etc/fstab or /etc/mtab
Click to expand...
Click to collapse
first no -a it doesn't work
[CODEgenext2fs -d ./system -b 180000 system.ext2[/CODE]
then mount it for me i made the directory /mnt/system
Code:
sudo mkdir /mnt/system
sudo mount -o loop /whereever/system.ext2 /mnt/system
then make sure you do not have squashfs-tools 4.0 it wont work
make the sqsh file
Code:
sudo mksquashfs /mnt/system system.sqsh
say rootfs.img was on your desktop
Code:
sudo mkdir /mnt/rootfs
sudo mount -o loop /home/king0fkings/desktop/rootfs.img /mnt/rootfs
jamezelle said:
first no -a it doesn't work
[CODEgenext2fs -d ./system -b 180000 system.ext2[/CODE]
then mount it for me i made the directory /mnt/system
Code:
sudo mkdir /mnt/system
sudo mount -o loop /whereever/system.ext2 /mnt/system
then make sure you do not have squashfs-tools 4.0 it wont work
make the sqsh file
Code:
sudo mksquashfs /mnt/system system.sqsh
say rootfs.img was on your desktop
Code:
sudo mkdir /mnt/rootfs
sudo mount -o loop /home/king0fkings/desktop/rootfs.img /mnt/rootfs
Click to expand...
Click to collapse
Ok thank you very kindly.. just got in from milking the cows, so ill give this a blast
Code:
genext2fs -d ./system -b 180000 -a system.ext2
the -a does work when you use the right genext2fs from the sdk or from pulling the android source and building it. the genext2fs i had uploaded uses the -a but you need to have it in your path before the generic genext2fs gets used or directly execute it. i keep it in /root/bin and execute it from there.
Code:
~/bin/genext2fs -d ./system -b 180000 -a system.ext2
the -a is for making android specific images and sets correct permissions
http://dl.dropbox.com/u/2888561/porting/genext2fs
make sure you set it to executable
Code:
chmod 755 genext2fs
zenulator said:
Code:
genext2fs -d ./system -b 180000 -a system.ext2
the -a does work when you use the right genext2fs from the sdk or from pulling the android source and building it. the genext2fs i had uploaded uses the -a but you need to have it in your path before the generic genext2fs gets used or directly execute it. i keep it in /root/bin and execute it from there.
Code:
~/bin/genext2fs -d ./system -b 180000 -a system.ext2
the -a is for making android specific images and sets correct permissions
http://dl.dropbox.com/u/2888561/porting/genext2fs
make sure you set it to executable
Code:
chmod 755 genext2fs
Click to expand...
Click to collapse
hey there thanks for the info , i cannot get this command to work :
Code:
~/bin/genext2fs -d ./system -b 180000 -a system.ext2
i worked out how to get root on linux, copied genext2fs into /root/bin did this command
Code:
chmod 755 genext2fs
i dunno what to try now
[email protected]:~/Downloads/HERO2# ~/bin/genext2fs -d ./system -b 180000 -a system.ext2
bash: /root/bin/genext2fs: No such file or directory
[email protected]:~/Downloads/HERO2# chmod 755 genext2fs
[email protected]:~/Downloads/HERO2# ~/bin/genext2fs -d ./system -b 180000 -a system.ext2
bash: /root/bin/genext2fs: No such file or directory
im lost
ali3nfr3ak said:
hey there thanks for the info , i cannot get this command to work :
Code:
~/bin/genext2fs -d ./system -b 180000 -a system.ext2
i worked out how to get root on linux, copied genext2fs into /root/bin did this command
Code:
chmod 755 genext2fs
i dunno what to try now
[email protected]:~/Downloads/HERO2# ~/bin/genext2fs -d ./system -b 180000 -a system.ext2
bash: /root/bin/genext2fs: No such file or directory
[email protected]:~/Downloads/HERO2# chmod 755 genext2fs
[email protected]:~/Downloads/HERO2# ~/bin/genext2fs -d ./system -b 180000 -a system.ext2
bash: /root/bin/genext2fs: No such file or directory
im lost
Click to expand...
Click to collapse
1 go to package manager and remove genext2fs
2 login as root and copy zens genext2fs to /bin/
3 open terminal and type in
Code:
chmod 755 /bin/genext2fs
4 logout, then login as normal
5 it should work like so
Code:
genext2fs -d ./system -b 180000 -a system.ext2
I JUST DID IT SO I KNOW IT WORKS!!1
jamezelle said:
1 go to package manager and remove genext2fs
2 login as root and copy zens genext2fs to /bin/
3 open terminal and type in
Code:
chmod 755 /bin/genext2fs
4 logout, then login as normal
5 it should work like so
Code:
genext2fs -d ./system -b 180000 -a system.ext2
I JUST DID IT SO I KNOW IT WORKS!!1
Click to expand...
Click to collapse
ok thank you ill try that, thanks for all the help to by the way, its been a trying process learning how to use linux and build android roms, so thank u
ok got everything working and managed to create a system.sqsh to load, using msmisson ext2 method i tried to load it but has error:
mount: mounting /dev/block/loop1 on/sdcard/temp failed Invalid argument
failed
failed to mount /system
/bin/still (maybe ??? cant read properly) can't access tty: job control turned off
im basicially dumping Ion bundle and remaking it with no changes
big problem!!!!!!!
Selecting previously deselected package squashfs-tools.
(Reading database ... 115049 files and directories currently installed.)
Unpacking squashfs-tools (from .../squashfs-tools_1%3a4.0-1_i386.deb) ...
Processing triggers for man-db ...
Setting up squashfs-tools (1:4.0-1) ...
[email protected]:~$
4.0 will not work!!!!!!!!
1 do
Code:
sudo apt-get remove squashfs-tools
2 download this HERE
zenulator said:
Code:
genext2fs -d ./system -b 180000 -a system.ext2
the -a does work when you use the right genext2fs from the sdk or from pulling the android source and building it. the genext2fs i had uploaded uses the -a but you need to have it in your path before the generic genext2fs gets used or directly execute it. i keep it in /root/bin and execute it from there.
Code:
~/bin/genext2fs -d ./system -b 180000 -a system.ext2
the -a is for making android specific images and sets correct permissions
http://dl.dropbox.com/u/2888561/porting/genext2fs
make sure you set it to executable
Code:
chmod 755 genext2fs
Click to expand...
Click to collapse
damn zen i bet that has been half my battle with the power wake ups. i just ported a rom last night and got the power wakeups.
recreated it today with your genext2fs with -a and it booted right up thanks
I wanted to try testing some stuff using the emulator (not hardware related, obviously). Does anyone know if there a standalone tool for making yaffs2 filesystems (for system.img), or is my only option to install android source and compile it all?
jamezelle said:
big problem!!!!!!!
Selecting previously deselected package squashfs-tools.
(Reading database ... 115049 files and directories currently installed.)
Unpacking squashfs-tools (from .../squashfs-tools_1%3a4.0-1_i386.deb) ...
Processing triggers for man-db ...
Setting up squashfs-tools (1:4.0-1) ...
[email protected]:~$
4.0 will not work!!!!!!!!
1 do
Code:
sudo apt-get remove squashfs-tools
2 download this HERE
Click to expand...
Click to collapse
ok i see that , i saw that i had 4 but i guess when you said squashfs 4 wouldnt i guess i literally took it as it wouldnt work lol, not that the command would still work but the .sqsh not load , sorry bout that, but also once again thank you
woohoo got a booting image ,lol keeps telling me process android.process.acore has stopped unexpectedly, lots of times probably all those google packages i removed ...oh well i have a start now thanks jamezelle without your help wouldnt have happened
Thought you might want to take a look at this little script I made: ROM porting
Hi all,
I've been trying hard to replicate the 'echo mode' of SyncToy (Microsoft freeware) using rsync. If you want to understand how this mode acts, here is an illustration:
ht***tp://ww***w.laboratoire-microsoft.org/articles/win/synctoy/images/echo.jpg (sorry, i can't publish urls from my noob account)
Basically, the DEST folder is never analysed and only the changes made on the SOURCE folder between date 1 and date 2 are repeated on DEST folder.
Assuming that i never make any manual modification to my DEST folder this is the perfect solution.
Actually, i presume iTunes acts exactly this way and that's why syncs are so faster with iphone and ipod.
Why do I want to replicate this mode?
My sdcard is a class2 and it's really sloooow. Each time I run rsync, it tries to analyse my mac partition (ssd) AND my sdcard, and compare the two directories....which takes at least 1h30 for my whole library even if only 2 files have been added to SOURCE folder between date 1 and date 2!!
SyncToy is a Windows program, I use a macbook
All my music library is on my mac partition
Note: for the moment i run synctoy through a virtual machine with my itunes library folder being shared. It's working but it's not the best solution...
So if there is any rsync guru here: do you think there is any possibility to recreate this 'echo mode' using rsync?
Is rsync really what you want, given you don't need any of the clever things it can do?
My shell scripting knowledge is very sparse, but wouldn't something like this do:
find $SourceDir -mtime +1 -mtime -4 -type f -exec cp {} $DestDir \;
where in this example it (maybe ) copies any file last modified between 2 & 4 days ago (inclusive & exclusive respectively) from $SourceDir to $DestDir.
NB This is untested, I'm clueless & it also might need to be a bit smarter to handle anything other than a flat file structure (in which case replace cp with something that will make each ancestor directory if absent from the destination & will then cp into that), so you have been warned.
[Edit:] Yes, you'd need something like cpio instead of cp. If you're interested search for info on "cpio -pd"
Otherwise I was thinking about making a script:
1. create a simple text file with lines like that "/full/path/to/file/filename.ext;SizeInByte;LastModificationTime" for each file file in SOURCE dir at date 1.
2. At date 2, create a new similar text file
3. Compare the 2 text files and keep only different lines
4. Differences coming from date1 text file are deleted from DEST dir and differences coming from date 2 file are copied/overwritten.
Does your command deletes files that have been deleted in SOURCE dir between the two dates?
Isn't cpio for archiving, like tar,gz2,etc...?
venezia64 said:
Otherwise I was thinking about making a script:
1. create a simple text file with lines like that "/full/path/to/file/filename.ext;SizeInByte;LastModificationTime" for each file file in SOURCE dir at date 1.
2. At date 2, create a new similar text file
3. Compare the 2 text files and keep only different lines
4. Differences coming from date1 text file are deleted from DEST dir and differences coming from date 2 file are copied/overwritten.
Does your command deletes files that have been deleted in SOURCE dir between the two dates?
Isn't cpio for archiving, like tar,gz2,etc...?
Click to expand...
Click to collapse
Deletes? No, that would be impossible if you aren't allowed to scan the destination folder, /unless/ you follow a plan such as you outline above. I didn't realise you required this.
cpio with the -p option (passthrough) is effectively just a copy command which maintains the directory hierarchy.
Your above strategy sounds best. For the stored records, I think I'd use:
find $Dir -type f -printf %p\\0%s\\0%A+\\0\\n > file.log
as you can rely on \0 not turning up in any of the fields it separates; the \n just added to tidy the log up should you wish to check it in a text editor. Oh & the %A+ date format so that if you need to order two dates a lexical comparison is adequate, whilst still being human readable.
That said, you don't appear to want to use the size or time fields, & not storing them would slightly simplify the code. <-- Sorry, that's rubbish on my part; how else would you notice when a file had changed.
Then probably compare them using diff:
diff -a file1.log file2.log > diff.log
Parsing diff.log should then be a trivial matter of checking each line in turn & for those commencing <, remove the named file; for those commencing >, copy the file over.
It's possible for a file to change resulting in both lines above appearing in diff.log for the one file. In that case you obviously need to process the removal first & it's not obvious to me if < will always appear in the log before >, so maybe safer to handle all the < removals first then handle the > copies.
OTOH if the above assumption is safe /&/ you modify the above to process the directories as well as files, you might be able to get away with making the diff.log parsing step a simple matter of applying a suitable regexp match & replace to each line in the diff.log, with the resulting output being a script that does the removals & copies. That'd be quite cool.
>> [That said, you don't appear to want to use the size or time fields, & not storing them would slightly simplify the code.]
Well, if I just add an albumart to my music file or change a tag, the filename will not necessarily change but the ModificationTime will, for sure.
I'll have a look at your shell commands.
Btw, thanks a lot for helping me
venezia64 said:
>> [That said, you don't appear to want to use the size or time fields, & not storing them would slightly simplify the code.]
Well, if I just add an albumart to my music file or change a tag, the filename will not necessarily change but the ModificationTime will, for sure.
Click to expand...
Click to collapse
I know. Stupid oversight on my part which I realised just before you posted
I edited my post to reflect this & had to resort to colouring the incorrect comment as xda-dev doesn't seem to support any strikethrough markup.
I managed do the script but there is still one issue: at the beginning, when I declare the path variable, I cannot include a path with one or more spaces. For the moment, I just created symbolic links.
Code:
left=$HOME"/Desktop/SyncAndroid/left"
right=$HOME"/Desktop/SyncAndroid/right"
temp=$HOME"/Desktop/SyncAndroid/temp"
rightSED=$(echo $right | sed -e 's/\//@@@/g')
leftSED=$(echo $left | sed -e 's/\//@@@/g')
mkdir "$temp"
cd $left
find . -type d -print | sort > $temp/LOG_leftD
cd $right
find . -type d -print | sort > $temp/LOG_rightD
cd $temp
diff -a LOG_leftD LOG_rightD > diffD
cat diffD | grep '^>' | sed -e 's/^\> \./rm -r \"'$rightSED'/' | sed -e 's/\(.\)$/\1\"/' | sed -e 's/@@@/\//g' | sed -e 's/\([$]\)/\\\1/g' > rmdir
cat diffD | grep '^<' | sed -e 's/^\< \./mkdir \"'$rightSED'/' | sed -e 's/\(.\)$/\1\"/' | sed -e 's/@@@/\//g' | sed -e 's/\([$]\)/\\\1/g' > mkdir
chmod +x rmdir
chmod +x mkdir
./rmdir
./mkdir
cd $left
find . -type f -ls | sed -e '/DS_Store/d' | sed -e 's/^ *[0-9]* *[0-9]* [-rwx]* *[0-9] [a-zA-Z]* *[a-z]* *//' | sort > $temp/LOG_left
cd $right
find . -type f -ls | sed -e '/DS_Store/d' | sed -e 's/^ *[0-9]* *[0-9]* [-rwx]* *[0-9] [a-zA-Z]* *[a-z]* *//' | sort > $temp/LOG_right
cd $temp
diff -a LOG_left LOG_right > diff
cat diff | grep '^>' | sed 's/^.*[0-9] \./rm -r \"'$rightSED'/' | sed -e 's/\(.\)$/\1\"/' | sed -e 's/@@@/\//g' | sed -e 's/\([$]\)/\\\1/g' > remove
cat diff | grep '^<' | sed 's/^.*[0-9] \.//' > copy0
cat copy0 | sed -e 's/\(.\)$/\1\"/' > copy1
cat copy0 | sed -e 's/[^/]\{1,\}\.*[a-zA-Z0-9]*$//' | sed -e 's/^/\"'$rightSED'/' | sed -e 's/@@@/\//g' | sed -e 's/\(.\)$/\1\"/' | sed -e 's/\([$]\)/\\\1/g' > copyPath
cat copy1 | sed -e 's/^/cp -p \"'$leftSED'/' | sed -e 's/@@@/\//g' | sed -e 's/\([$]\)/\\\1/g' > copy
paste copy copyPath > copy2
chmod +x remove
chmod +x copy2
./remove
./copy2
rm -r "$temp"
UPDATE 1: the code to take $ symbol (like in Ke$ha) in file path or filename
UPDATE 2: log files are sorted to fix some library updating bugs
NOTE: this scripts scans the right AND the left folder. In fact, I realised that scaning the music folder in the class2 sdcard only took 1-2seconds... Btw, I still don't understand why rsync takes so much time to sync the two folders (even if i don't ask for checksums comparisons)...
venezia64 said:
I managed do the script but there is still one issue: at the beginning, when I declare the path variable, I cannot include a path with one or more spaces. For the moment, I just created symbolic links.
<snip>
UPDATE 1: the code to take $ symbol (like in Ke$ha) in file path or filename
UPDATE 2: log files are sorted to fix some library updating bugs
NOTE: this scripts scans the right AND the left folder. In fact, I realised that scaning the music folder in the class2 sdcard only took 1-2seconds... Btw, I still don't understand why rsync takes so much time to sync the two folders (even if i don't ask for checksums comparisons)...
Click to expand...
Click to collapse
Glad you were able to devise a solution. Sed always gives me a headache as I can never remember what needs to be escaped & what doesn't. Clearly your grasp of shell scripting is better than mine.
Re the space in path issue, I take it it isn't adequate just to escape each space? The speed of rsync is puzzling. Is it definitely not connected to the sdcard? If you apply rsync to the same data, but with both directories on your pc, do you get the same performance differential?
I've tried doing this sync using rsync:
between 2 folders on my HDD, only modifications are done to the DEST folder
between a folder on my HDD and another one on my sdcard, each file file is copied all over again each time... which, obviously, takes time
I DID IT! If we look at rsync manual:
Code:
When comparing two timestamps, rsync treats the timestamps as
being equal if they differ by no more than the modify-window
value. This is normally 0 (for an exact match), but you may
find it useful to set this to a larger value in some situations.
In particular, when transferring to or from an MS Windows FAT
filesystem (which represents times with a 2-second resolution),
--modify-window=1 is useful (allowing times to differ by up to 1
second).
My sdcard partition is in FAT...
So the final rsync command which works really well
Code:
rsync -arv --delete --force --modify-window=1 "/Users/XXXXX/Music/iTunes/iTunes Music/Music/" "/Volumes/NO NAME/Music"
a for archive mode
r for recursive deletions (combined with --force)
v for more verbose (optional)
--delete to delete any file in DEST dir that is not in SRC dir
--force to force the deletion of not empty folders
--modify-window=1 to tolerate 1sec of difference between two corresponding files.
So forget about the previous script. This single commandline replaces it.
phewww
Awesome. Congratulations on figuring it out
Hello folks, I am using the tytung r9 kernel with Hyperdroid GBX 12 and I want change the default splash image of the kernel. I have already converted the image to .rle thanks to this guide, and I been told I have to unpack the initird, place it on the root of the initrd and pack it back, problem is I don't know how to do it.
Can anyone help me to unpack an pack back the initrd??? Also I couldn't find it on the phone.. Where exactly is it located ???
Thanks
Ok, all the credits goes to @Curious_ from #htc-linux-chat on irc who has kindly helped me to sort this out, and now I want to share it with everyone.
In order to replace the logo.rle image with the one we made we have to mount the /boot partition, so lets begin
Code:
mkdir /data/boot/
mount -t yaffs2 /dev/block/mtdblock2 /data/boot/
now that the /boot partition is mounted we want to pull the initrd.gz file into ur pc
Code:
adb pull /boot/data/initrd.gz /path/to/dir/
now we'r gonna extract the initrd file from initrd.gz and unpack it
Code:
gunzip initrd.gz
cpio -i < initrd
now replace the logo.rle file with our one and lets repack it
Code:
find . | cpio -o -H newc | gzip > initrd.gz
Ok, last step is to push the new initrd.gz file into /data/boot and reboot the phone
Code:
adb push /wherever/it/is/initrd.gz /data/boot/
reboot
Enjoy
In addition here you can find lots of splash screens specifically made for the HD2. Those are not specifically boot splash screen, but you can convert the image to .rle using too565 tool.
Hope you guys will be making lots of custom boot splash screens
Could anyone give me the right tools for unpacking the ramdisk and the zimage.
Cant find the right one!
Thanks!
in linux you can extract Image from zImage using this :
dd if=zImage bs=1 skip=16541 | gunzip > Image
where 16541 is number from this output : grep -P -a -b -m 1 --only-matching $'\x1F\x8B\x08' zImage | cut -f 1 -d
you can get zImage as file from kies firmware download roms
The maximum and minimum cpu frequencies allow by the Kernel can be set to all the Android ROM ever made for the HP TOUCHPAD until now and forever!
This is apply as a native setting ( as shipped from the factory, we could say )
The ROM will not be modify, no need for ROOT access or install SuperSu or any Apps.
It can be done to an existing installed ROM, no need to re-flash, is safe and will not damage your installation or prevent you from using your TP. Even if you do not do it right, you will get your TP running as always.
This is only done in a Linux OS, I am using ubuntu, which it can also be run under a Virtual Machine in any other OS.
1. Get the boot.img from the zip ROM or the current uImage from the TP boot directory.
(The boot.img must be copy to the root/hpboot directory of the PC, not on the tablet)
2. Run each of this commands separately in terminal in the directory the boot.img is.
dumpimage -i boot.img kernel.uImage
dumpimage -i boot.img -p 1 ram
dd if=ram of=ramdisk.img.gz bs=64 skip=1
gunzip ramdisk.img.gz
mkdir ramdisk; cd ramdisk
cpio -i < ../ramdisk.img
3. Go to the ramdisk direcoty and open this file in a text editor:
init.tenderloin.power.rc
Copy and Paste under # CPU Scaling and # CPU boost the following:
Note: You can add different settings to each cpu0 or cpu1.
Different frequencies to each and also assigned different Governors to each cpu.
You have total and individual control.
# CPU Scaling
# Replace the numbers at the first two lines at the end with the frequencies your TP can handle.
# Replace the numbers at the last two lines at the end with the frequencies your TP can handle.
write /sys/devices/system/cpu/cpu0/cpufreq/scaling_min_freq 192000
write /sys/devices/system/cpu/cpu1/cpufreq/scaling_min_freq 192000
write /sys/devices/system/cpu/cpu0/cpufreq/scaling_max_freq 1782000
write /sys/devices/system/cpu/cpu1/cpufreq/scaling_max_freq 1782000
# Configure Performance Governor
# This is optional, but it will speed boot time using both CPU at maximum frequencies.
write /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor "performance"
write /sys/devices/system/cpu/cpu1/cpufreq/scaling_governor "performance"
# CPU boost
# Set your desire speed can not be higher than your maximum frequencies.
write /sys/module/cpu_boost/parameters/boost_ms 20
write /sys/module/cpu_boost/parameters/sync_threshold 1782000
write /sys/module/cpu_boost/parameters/input_boost_freq 1782000
You can configure the type of governor after the system finished booting on this line. Is all up to the Kernel and your choice, but interactive is good.
# Configure Interactive
write /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor "interactive"
write /sys/devices/system/cpu/cpu1/cpufreq/scaling_governor "interactive"
4. Save the changes and repack the ramdisk with kernel.
Open Terminal in the ramdisk folder and paste:
find . | cpio --create --format='newc' | gzip > ../ramdisk_Pack.img
5. Go to the folder where the original boot.img file is and you should have a file ( ramdisk_Pack.img )
Paste the following two commands:
mkimage -A arm -O linux -T ramdisk -C none -a 0x00000000 -n "TENDERLOIN MAX CPU" -d ./ramdisk_Pack.img ./ramdisk.uImage
mkimage -A arm -T multi -C none -n "Tenderloin Android MAX CPU" -d kernel.uImage:ramdisk.uImage uImage.Android_MAX_CPU
6. There is a file name uImage.Android_MAX_CPU in the same folder as your original boot.img, copy it to your TP boot directory and reboot.
If you enter a wrong frequency and it did not finished then do a hard reset and select the other boot image and use it as always. If it finished booting then you are running faster than ever!
To take in consideration:
The Kernel in the ROM has the frequencies that supports, most of the ROM comes with a top frequencies of 1782000. The SKZ kernel allows for a maximum frequency of 1890000.
The HP Touchpad where made with different suppliers of components. Due to this differences not all supports the same maximum frequencies. Very few can work under 1890000 or 18360000. But you can get lucky and have one. You should know and test the maximum speed that it will take, you can do that with Kernels apps before making modifications to the Boot Image, also the minimum frequencies are important as well.
The advantages of creating your own personal Maximum Speed Boot Image:
1 You will get faster boot time as the CPUs are set to work after the system starts the booting process and do not have to wait until the GUI starts and the Kernel app applies the settings.
2. Keep your ROM secure, no ROOT and no Super User, use it as is.
3. Less apps to install to take space and waste of Memory. Kernel apps and Super User have background services that are all time running just to give you the extra speed. Other apps can get the extra Ram for more processing.
4. There is more benefits of running the device at a higher frequency with no extra processing power, than have multiple apps to fine tune your CPU and governors but use resources.
View attachment 4613960
I don't know how to do with this, please help.
[email protected]:/mnt/g/devices/tenderloin/12.5.1/ramdisk$ find . | cpio –create –format=’newc’ | gzip > ../rak_Pack.img
cpio: You must specify one of -oipt options.
Try `cpio --help' or `cpio --usage' for more information.
Try 'cpio --help' or 'cpio --usage' for more information.
In this post I did a detail explanation on how to unpack the boot image.
https://forum.xda-developers.com/hp-touchpad/development/make-root-permanet-read-write-to-t3846567
Create a directory on root ( hpboot ) copy and paste the command on terminal as is on the post and it should work.
View attachment 4614596
[email protected]:/mnt/g/devices/tenderloin$ cd ./hpboot/
[email protected]:/mnt/g/devices/tenderloin/hpboot$ ls
boot.img
[email protected]:/mnt/g/devices/tenderloin/hpboot$ dumpimage -i boot.img kernel.uImage
[email protected]:/mnt/g/devices/tenderloin/hpboot$ dumpimage -i boot.img -p 1 ram
[email protected]:/mnt/g/devices/tenderloin/hpboot$ dd if=ram of=ramdisk.img.gz bs=64 skip=1
28781+1 records in
28781+1 records out
1842017 bytes (1.8 MB, 1.8 MiB) copied, 0.431285 s, 4.3 MB/s
[email protected]:/mnt/g/devices/tenderloin/hpboot$ gunzip ramdisk.img.gz
[email protected]:/mnt/g/devices/tenderloin/hpboot$ mkdir ramdisk; cd ramdisk
[email protected]:/mnt/g/devices/tenderloin/hpboot/ramdisk$ cpio -i < ../ramdisk.img
6819 blocks
[email protected]:/mnt/g/devices/tenderloin/hpboot/ramdisk$ find . | cpio –create –format=’newc’ | gzip > ../rakRW.img
cpio: You must specify one of -oipt options.
Try `cpio --help' or `cpio --usage' for more information.
Try 'cpio --help' or 'cpio --usage' for more information.
[email protected]:/mnt/g/devices/tenderloin/hpboot/ramdisk$
I did it due to https://forum.xda-developers.com/hp-...te-to-t3846567 , but it stuck just like last time I did it.
What does this mean?
cpio: You must specify one of -oipt options.
I can not see the picture you attached and the link does not work.
Are you doing all the commands inside a Linux machine?
zcarrt said:
--SNIP--
[email protected]:/mnt/g/devices/tenderloin/hpboot/ramdisk$ find . | cpio –create –format=’newc’ | gzip > ../rakRW.img
cpio: You must specify one of -oipt options.
Try `cpio --help' or `cpio --usage' for more information.
--SNIP--
Click to expand...
Click to collapse
It may be copied wrong. It should be: cpio --create -–format=’newc’ (not one dash but two, i.e. not -create, -format, but --create, --format)
The working path shows: [email protected]:/mnt/g/devices/tenderloin/hpboot$
I am not a Linux guru, but it look the boot.img is on the root of the tablet and not the PC.
The commands will only work properly if the directory is created in the root of the PC no where else.
((correction))
Yes, you are correct, is something about pasting a double dash that it turns into a hyphen (single dash). When editing the post it shows as intended, double dash. When publish, shows as a single dash, unless the font size is change on here and type again.
How I did it:
Enter the command in ubuntu terminal ( worked ) then copy and paste into LibreOffice Writer.
Write the guide, then copy and paste into the forum, to avoid any mistakes.
Then surprise ! a double dash is change to a hyphen and I am not even aware of it..!
Thanks for correcting!
HP_TOUCHPAD said:
The working path shows: [email protected]:/mnt/g/devices/tenderloin/hpboot$
I am not a Linux guru, but it look the boot.img is on the root of the tablet and not the PC.
The commands will only work properly if the directory is created in the root of the PC no where else.
Click to expand...
Click to collapse
I thought that, too, but there wouldn't be enough room for the dd command to work, and the error message wouldn't have been a cpio error.
my path:
[email protected]:~/hpboot$
There should not be any mounted device anywhere.
HP_TOUCHPAD said:
I can not see the picture you attached and the link does not work.
Are you doing all the commands inside a Linux machine?
Click to expand...
Click to collapse
I did it in windows 10 Ubuntu bash last time , I will try it properly in a Linux machine again. Thanks.
zcarrt said:
I did it in windows 10 Ubuntu bash last time , I will try it properly in a Linux machine again. Thanks.
Click to expand...
Click to collapse
The problem was on the formatting on my post. When I paste the guide for some reason it shows as a hyphen instead of a double dash.
I corrected the error. This is how it should be, also should work in the windows10 linux subsystem.
find . | cpio --create --format='newc' | gzip > ../ramdisk_Pack.img
Stuck on step 5.
Not clear where to "paste" the 2 lines. I "pasted" them in terminal but get the following:
Usage: mkimage -l image
-l ==> list image header information
mkimage [-x] -A arch -O os -T type -C comp -a addr -e ep -n name -d data_file[:data_file...] image
-A ==> set architecture to 'arch'
-O ==> set operating system to 'os'
-T ==> set image type to 'type'
-C ==> set compression type 'comp'
-a ==> set load address to 'addr' (hex)
-e ==> set entry point to 'ep' (hex)
-n ==> set image name to 'name'
-d ==> use image data from 'datafile'
-x ==> set XIP (execute in place)
mkimage [-D dtc_options] [-f fit-image.its|-F] fit-image
-D => set all options for device tree compiler
-f => input filename for FIT source
Signing / verified boot not supported (CONFIG_FIT_SIGNATURE undefined)
mkimage -V ==> print version information and exit
Use -T to see a list of available image types
Any help please?
Thanks.
kojam said:
Stuck on step 5.
Not clear where to "paste" the 2 lines. I "pasted" them in terminal but get the following:
go to this post and run the script, if all work on your system then you have everything to build it.
https://forum.xda-developers.com/showpost.php?p=78028080&postcount=4
Click to expand...
Click to collapse
HP_TOUCHPAD said:
kojam said:
Stuck on step 5.
Not clear where to "paste" the 2 lines. I "pasted" them in terminal but get the following:
5. Go to the folder where the original boot.img file is and you should have a file ( ramdisk_Pack.img )
Paste the following two commands:
mkimage -A arm -O linux -T ramdisk -C none -a 0x00000000 -n “TENDERLOIN MAX CPU” -d ./ramdisk_Pack.img ./ramdisk.uImage
mkimage -A arm -T multi -C none -n “Tenderloin Android MAX CPU” -d kernel.uImage:ramdisk.uImage uImage.Android_MAX_CPU
go to this post and run the script, if all work on your system then you have everything to build it.
https://forum.xda-developers.com/showpost.php?p=78028080&postcount=4
Click to expand...
Click to collapse
Thanks for your reply.
I was in that folder (where ramdisk_Pack.img is) in terminal, then I entered/pasted those commands in terminal...
What am I doing wrong? Explain it to me like I'm 5yrs old please. LOL :laugh::silly:
Thanks a million!
Click to expand...
Click to collapse
kojam said:
HP_TOUCHPAD said:
Thanks for your reply.
I was in that folder (where ramdisk_Pack.img is) in terminal, then I entered/pasted those commands in terminal...
What am I doing wrong? Explain it to me like I'm 5yrs old please. LOL :laugh::silly:
Thanks a million!
Click to expand...
Click to collapse
My apologies, you did everything right. The error was in the command I posted which is now corrected.
This is how it happen:
I created the commands in ubuntu text editor, then wrote the instructions in LibreOffice Writer, then copy and paste everything to this forum. Then the apostrophe character got changed and that is why the command was not working.
I tested the commands one by one and I was able to finish the process, you should be able to do it also. This is a learning process and I thank you for trying it and finding out the errors.
Redo everything again as I also corrected the changes for the CPU speed.
Click to expand...
Click to collapse
HP_TOUCHPAD said:
kojam said:
My apologies, you did everything right. The error was in the command I posted which is now corrected.
This is how it happen:
I created the commands in ubuntu text editor, then wrote the instructions in LibreOffice Writer, then copy and paste everything to this forum. Then the apostrophe character got changed and that is why the command was not working.
I tested the commands one by one and I was able to finish the process, you should be able to do it also. This is a learning process and I thank you for trying it and finding out the errors.
Redo everything again as I also corrected the changes for the CPU speed.
Click to expand...
Click to collapse
Quite alright friend.
It is I who thanks you for this.
I was able to get create the file after following your update/corrected instructions.
Thanks again!
Click to expand...
Click to collapse
HP_TOUCHPAD said:
kojam said:
My apologies, you did everything right. The error was in the command I posted which is now corrected.
This is how it happen:
I created the commands in ubuntu text editor, then wrote the instructions in LibreOffice Writer, then copy and paste everything to this forum. Then the apostrophe character got changed and that is why the command was not working.
I tested the commands one by one and I was able to finish the process, you should be able to do it also. This is a learning process and I thank you for trying it and finding out the errors.
Redo everything again as I also corrected the changes for the CPU speed.
Click to expand...
Click to collapse
Thanks!
Worked!
Click to expand...
Click to collapse