Samsung Galaxy PRO GT-B7510
RIP BlackBerry, Hello Android!

Since I have memory I always was a BlackBerry fanboy, I know the platform (dare I say) better than anyone. However let’s face it, Android is the future.
It’s because (and thanks to my old device is almost dead) I bought a new device: Samsung Galaxy PRO GT-B7510 and I have only one word: A W E S O M E
I will don’t a review, there are a lot of in the interlols, just a some tips and tricks that (I don’t know why) is very hard get information about this device.
TIPS & TRICKS
I.- Root the device
YES! it’s a very sweet stuff, we can (and must) root the android OS.
Only is necessary this tool: SuperOneClick
http://forum.xda-developers.com/showthread.php?t=803682
easy as hell!
Why to root my android?
Life Hacker gives us 5 great reasons:
http://lifehacker.com/5342237/five-great-reasons-to-root-your-android-phone
II.- Device modes
As I said there are a many differences between the other Galaxy models, I thinks is because the physical keyboard.
This shortcuts are very important for flash, hack, recover, upgrade and play with your phone. Press and hold the keys:
Recovery mode: Power + T
Download mode: Power + Q
System information: Power + W
ARM emergency mode: Power + E
RAM Dump: Power + R
III.- Hard reset
To reset and wipe your phone as new, be careful!
There are 2 ways for this
Mode 1:
-
* Turn off the phone.
* Turn on with he recovery mode (Power + T).
* In the recovery menu navigate to: wipe data/factory reset (with the volume key).
* Press Home button for confirm.
* In the next menu navigate to: Yes — delete all user data.
* Press Home button for confirm.
* Press Home button for reboot.
Mode 2:
Just type
*2767*3855#
IV .- Screenshots!
Everyone loves the screenshots, and they are useful for tutorials, examples, send reports, etc.
To take screenshots in this device without any third software:
Backspace + C
The images are stored in the external memory under the album “ScreenCapture”
And .. at the moment, that’s all.
I’m very interested to develop Android apps, so I hope soon I write my first post and app (at least a “Hello World”)
See you freaks!
Automatic security updates.
A friend asked me by twitter for a software for automatic security updates in Debian.
Honestly I don’t trust in automatic stuff, but this software appears interesting.
I searched in the cache: apt-cache search automatic update and I found cron-apt.
How to use (at least in Debian)
I.- Yes Mr. Obviously, install it.
# apt-get install cron-apt
II.- Configure.
The main config file is in /etc/cron-apt/config
They are a lot of options, but the important is uncomment:
OPTIONS="-o quiet=1 -o Dir::Etc::SourceList=/etc/apt/security.sources.list"
And create the file:
# echo "deb http://security.debian.org/ squeeze/updates main contrib non-free" > /etc/apt/security.sources.list
Now we need edit /etc/cron-apt/action.d/3-download, by default is:
root@skynet:~# cat /etc/cron-apt/action.d/3-download
autoclean -y
dist-upgrade -d -y -o APT::Get::Show-Upgraded=true
root@skynet:~#
Change by this:
root@skynet:~# cat /etc/cron-apt/action.d/3-download
autoclean -y
upgrade -u -y
root@skynet:~#
And … all done dears nerds!
HINT: Put your email in /etc/cron-apt/config at the var “MAILTO” and change the var “MAILON” by upgrade to receive and email in every upgrade.
Happy upgrade!
Compiling the Linux Kernel
Last week and how it had been announced, Linus Torvalds released the new version of the Linux Kernel series 3.0
Because of this and the request of several geeks friends, I write this small handbook.
Compile the Kernel Source, the Debian way.
/me laughs while caresses her black cat, muahaha muahaha
Almost all my nerds friends are afraid to “El Coco“, unfaithful girlfriends and to compile the Kernel. Well the first two things they have no solution but compile the kernel it’s easy.
I – Know your hardware.
Knowing your hardware is the key, we can use basic system tools or external tools, I prefer the basic (we’re old school nerd!).
Processor: cat /proc/cpuinfo
root@skynet:~# cat /proc/cpuinfo
processor : 0
vendor_id : GenuineIntel
cpu family : 6
model : 14
model name : Intel(R) Core(TM) Duo CPU T2300 @ 1.66GHz
stepping : 12
cpu MHz : 1596.289
cache size : 6144 KB
fdiv_bug : no
hlt_bug : no
f00f_bug : no
coma_bug : no
fpu : yes
fpu_exception : yes
cpuid level : 5
wp : yes
flags : fpu vme de pse tsc msr mce cx8 apic mtrr pge mca cmov clflush mmx fxsr sse sse2 constant_tsc up pni monitor
bogomips : 3192.57
clflush size : 64
cache_alignment : 64
address sizes : 32 bits physical, 32 bits virtual
power management:
root@skynet:~#
Memory: cat /proc/meminfo
root@skynet:~# cat /proc/meminfo
MemTotal: 514584 kB
MemFree: 15152 kB
Buffers: 38864 kB
Cached: 149592 kB
SwapCached: 2236 kB
Active: 201248 kB
Inactive: 273780 kB
root@skynet:~#
PCI Bus: lspci (we can use the option -vv for verbose mode)
root@skynet:~# lspci
00:00.0 Host bridge: Intel Corporation 440FX - 82441FX PMC [Natoma] (rev 02)
00:01.0 ISA bridge: Intel Corporation 82371SB PIIX3 ISA [Natoma/Triton II]
00:01.1 IDE interface: Intel Corporation 82371AB/EB/MB PIIX4 IDE (rev 01)
00:02.0 VGA compatible controller: InnoTek Systemberatung GmbH Graphics Adapter
00:03.0 Ethernet controller: Intel Corporation 82540EM Gigabit Ethernet Controller (rev 02)
00:04.0 System peripheral: InnoTek Systemberatung GmbH Service
00:05.0 Multimedia audio controller: Intel Corporation 82801AA AC'97 Audio Controller (rev 01)
00:06.0 USB Controller: Apple Computer Inc. KeyLargo/Intrepid USB
00:07.0 Bridge: Intel Corporation 82371AB/EB/MB PIIX4 ACPI (rev 08)
00:0b.0 USB Controller: Intel Corporation 82801FB/FBM/FR/FW/FRW (ICH6 Family) USB2 EHCI Controller
00:0d.0 SATA controller: Intel Corporation 82801HBM/HEM (ICH8M/ICH8M-E) SATA AHCI Controller (rev 02)
root@skynet:~#
USB: lsusb (also has the -vv option)
root@skynet:~# lsusb
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 002 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
root@skynet:~#
At this point you know your hardware, but you know wich driver is using? don’t worry, the kernel configuration is too intuitive (knowing our hardware, course).
However Kenshi Muto (a Debian Developer) has made this process easier:
http://kmuto.jp/debian/hcl/ – Device driver check & report.
In this website you paste the lspci -n output and show us wich driver is used for our hardware, nice right?.
II – Getting the tools
We need some tools for this adventure
# apt-get install kernel-package dpkg-dev debianutils binutils libncurses5-dev
And of course the Kernel source, in kernel.org are the latest stable and experimental versions.
# wget http://www.kernel.org/pub/linux/kernel/v3.0/linux-3.0.tar.bz
And … I’m pretty sure that I forget something mmmm oooh yes, the last item: beer (without her this adventure can being bored). Now we are ready to the party compile.
III – Compiling
Ready for the party?
Unpacking the source:
# tar xvjf linux-3.0.tar.bz2 -C /usr/src/
Go to /usr/src and see that there are your old and new sources, we’ll working into the new sources:
root@skynet:~# cd /usr/src/
root@skynet:/usr/src# ls
linux-3.0 linux-headers-2.6.38-2-686 linux-headers-2.6.38-2-common linux-kbuild-2.6.38
root@skynet:/usr/src# cd linux-3.0/
root@skynet:/usr/src/linux-3.0#
Cleaning (if is the first time that unpacking the source, you can forget this step)
# make-kpkg clean
To the next point there are several options:
- make config – Plain text interface.
make menuconfig – Text based color menus, radiolists & dialogs.
make nconfig – Enhanced text based color menus.
make xconfig – X windows (Qt) based configuration tool.
make gconfig – X windows (Gtk) based configuration tool.
make oldconfig – Default all questions based on the contents of your existing ./.config file and asking about new config symbols.
The easy way (and this post it’s about easy things) is using: make oldconfig.
Copy your old .config file into the new source path.
root@skynet:/usr/src/linux-3.0# cp /boot/config-`uname -r` .config
root@skynet:/usr/src/linux-3.0# make oldconfig
....
#
# configuration written to .config
#
root@skynet:/usr/src/linux-3.0#
If you forget something or just want play, test or broke your Kernel can run: make menuconfig when you finished, exit and save it. Make the image:
root@skynet:/usr/src/linux-3.0# make-kpkg clean
root@skynet:/usr/src/linux-3.0# make-kpkg --initrd kernel_image kernel_headers --revision 01 --append_to_version -lab
Where:
–initrd – To make a initrd for the boot.
kernel_image – Need explain this?
kernel_headers – To build the headers package of the image
–revision – Set the number of revision that the package will have to control future compilations.
–apend_to_version – Set the extraversion in the name of image (to personalize your Kernel).
While you kernel is compiling, I recommend you go for a couple of beers, yes … this will take a long time.
[...]
When the compilation is finishing you must see the packages created.
root@skynet:/usr/src/linux-3.0# ls ../
linux-3.0 linux-headers-3.0.0-lab_01_i386.deb
linux-headers-2.6.38-2-686 linux-image-3.0.0-lab_01_i386.deb
linux-headers-2.6.38-2-common linux-kbuild-2.6.38
linux-headers-3.0.0-lab
root@skynet:/usr/src/linux-3.0#
Almost done! Install the new Kernel packages
root@skynet:/usr/src/linux-3.0# cd ..
root@skynet:/usr/src# dpkg -i *.deb
Assuming your directory is clean, or install one by one.
Now reboot and pray choose the new Kernel.
Booyah!
root@skynet:~# uname -a
Linux skynet 3.0.0-lab #20 SMP Mon Jul 25 11:10:28 CDT 2011 i686 GNU/Linux
root@skynet:~#
Happy Hacking!
Kernel Linux 3.0: “Documentation/lguest not found”
While I’m trying to compile the Kernel Linux 3.0 gave me an error:
[...]
Documentation/lguest not found
[...]
This because lguest is not anymore into ./Documentation, now is in ./Documentation/virtual
Obviously there are not documentation yet, however I solved this issue with a dirty hacks. Just find the string and change it:
$ find "." -type f | xargs grep "Documentation/lguest"
And …
s,Documentation/lguest,Documentation/virtual/lguest
Voilá
Or simply disable lguest, I don’t think you need it, it’s for virtualization with the minimum of complexity used almost always for for Linux developers. How disable it? edit your .config and change this (don’t appears ordered):
CONFIG_LGUEST_GUEST=y
CONFIG_PARAVIRT_SPINLOCKS=y
CONFIG_LGUEST=y
for this
# CONFIG_LGUEST_GUEST is not set
# CONFIG_PARAVIRT_SPINLOCKS is not set
# CONFIG_LGUEST is not set
And that’s all, enjoy the new Kernel!
mental note: quilt without (much) pain
This is not a Quilt’s tutorial, is a quick reference (to me :)).
Honest I miss dpatch, now in Debian quilt is the “official” patch system then: you like it or you like it (that sound better in Spanish) :)
Let’s play!
quilt store the patches into: debian/patches (like as usual) and use a file called: series to containing the list of all the patches.
Apply the patches:
quilt push [-a]
Remove the patches:
quilt pop [-a]
Update a patch:
quilt refresh
Create a patch:
quilt new $PatchName
Example
quilt push -a
quilt new mynew.patch
quilt add filetomodify
Edit filetomodify
quilt refresh
quilt pop -a
Now your new patch is in debian/patches don’t forget to add in series.
Edit a patch:
To edit a existing patch, this must be on the top of the stack.
quilt pop -a
quit push $PatchName [-f]
quilt edit filetomodify
Make your changes
(at this point you can add new files)
quilt refresh
You can save you settings at ~/.quiltrc, this is mine:
QUILT_DIFF_ARGS="--no-timestamps --no-index --strip 0 -pab"
QUILT_REFRESH_ARGS="--no-timestamps --no-index --strip 0 -pab"
QUILT_NO_DIFF_INDEX=true
QUILT_DIFF_ARGS="--color=auto -p ab"
QUILT_REFRESH_ARGS="-p ab"
QUILT_PATCHES="debian/patches"
Obviously there are a more lot of options: man quilt
Easy right?
Debian post-install “devel” version
I already read many post about “Debian post-installation” most of them focused on packages for multimedia, games, video, eye candy, desktop etc.
Personally after to install any desktop environment I install devel packages for obviously reasons, my “Debian post-installation recipe”:
apt-get install linux-headers-`uname -r`
apt-get install vim dpkg-dev git file gcc libc6-dev make patch perl autoconf automake dh-make debhelper devscripts fakeroot lintian debian-policy developers-reference quilt rpm dpatch gmanedit pbuilder dput
Who knows? maybe it will be useful.
apt-spy
I used SID since I started using Debian, but today I wanted to try testing, the logic tells you that the easiest way is to replace “unstable” to “testing” in your sources.list.
However we can do better, look for the more fastest “mirrors” and even filter by country.
#apt-get install apt-spy
#apt-spy update
#apt-spy -d testing -a North-America -e 5 -o /etc/apt/sources.list
Basically what I did was, install the software, update the mirrors, and run the program, where:
-d testing (distribution, you can use: stable, unstable or testing)
-a North-America (area, benchmarking only servers on the specify area: Asia, North-America, South-America etc.)
-e 5 (stop benchmarking after the number of servers in this option)
-o /etc/apt/sources.list (output file)
And that’s all, we have a new source.list with the fresh and fastest mirrors.
Don’t forget read: man apt-spy