[Optimus One, P500, V General] The_ERROR:
1. Basics of Unix-like system

su, root, rooting - what is it, why we need it

sh, bash, busybox - what BusyBox is, basic list of commands from BusyBox, bash, sh

Kernel - What is it?

su

Also referred as substitute user - is command for changing of the account in current terminal (usually black screen with blinking cursor). Default account is root account. So if you insert into terminal 'su' and hit enter, you will become root user.

root

Root alias superuser or poweruser is special user account for system administration. Similar to windows having its administrator account, unix-like system have system have the root. With this user you can do anything and if you will run command for delete whole system, unix will just do it! No asking, no confirming. So, watch your steps!

rooting

Rooting is just enabling power of root for applications or our proposes. You can read great article about Rooting on androidpolice. Kepp on your mind, that some steps described on this page are NOT compatible with our Optimus One!!

Superuser app

After rooting is done, you will see new app called superuser in app drawer. This app can delegate applications to use su (root) feature. When app ask for first use, popup window will appear asking if the application should be allowed to use root permission.

sh, bash

is a command-line interpreter or shell that provides a traditional user interface for the Unix operating system and for Unix-like systems. So simply, it is some interface, which can execute command(s), which you have entered. Many shells exist, but in scope of android you can (as far as I know) use only sh (standard - Bourne-shell) or bash (compiled in BusyBox or separately on XDA). Both are basically same, but bash has much more future and it is comfortable. It's too big to describe here, so if you are interested in learning more, follow links in sources section.

user/root shell

How do I know if I'm root or normal user? It's simple. Root's shell is ended with # (usually it's shell looks like "bash-3.2# _") and user's ends with $ (usually bash-3.2$ _). In terminal emulator you also can have only [path]($|#) (for root for example "/etc # _")

BusyBox

also called "The Swiss Army Knife of Embedded Linux" is a tool which brings into Android basic tools known from unix system, but is much more smaller than standard tools is. But this "packing" brings also limits in possibilities in comparison to standard tools in unix-system (missing special modes of tool, color output and so on). Many application use this. For example busybox grep (filtering of text) is needed for application called Market enabler.

BusyBox commands

list of commands is really wide, so it's not possible explain all, so I pickup only top few. (hint: if you want what some command do, just search on google for "man <command_name>" for example man mv or enter command here

cd - cange directory - same like in windows. You can switch directory. example: cd /sdcard

ls - list of files in actual directory (have few switches like for example: ls -l /sdcard/*.png (detailed listing)

cat - print file into standart output (like more in windows) Example: cat /sdcard/data.txt

vi - editing of file. But on limited phone keyboard (no keyboard) it is little harder :) Read more about vi

cp - copy of one or more file. Example: cp /sdcard/bike.jpg /sdcard/media/bike-wallpaper.jpg

mv - moving/rename files, Example: mv /sdcard/bike.jpg /sdcard/media/renamed-moved-bike.jpg

rm - delete file (rm -R for recursive, or for delete whole folder), Example: rm -R /sdcard/wallpaper-bad/*

find - search for files, Example find / -name "best-chopper-ever.avi"

mkdir - make directory - creates directory, Example: mkdir mynewdir

chmod - changes access of files

less - similar like cat, but you can scroll in it and it doesn't produce any output. Example: less /sdcard/funnytext.txt

Please, take due note that man pages are documentation of unix tools. For BusyBox's tool help, just enter BusyBox <command_name> -h.

Many time, when is BusyBox installed, are also symbolic links created. It means, that is not necessary do BusyBox <command>, but only <command> will be enough.

Kernel

http://en.wikipedia.org/wiki/Kernel_%28computing%29

Work in progress...

Links/thanks:

----------------------------------------------------

su (Unix); wikipedia.org

Superuser; wikipedia.org

Bourne shell (sh); wikipedia.org

Bourne-Again shell (bash); wikipedia.org

BusyBox; benno.id.au; BusyBox.net

Kernel; wikipedia.org

----------------------------------------------------

==========================

Main topic

==========================