Hack-A-N900/First Steps: Unterschied zwischen den Versionen
Amir (Diskussion | Beiträge) (Die Seite wurde neu angelegt: <b>WARNING:</b> That's where the pleasure and pain of N900 starts. How much pleasure and/or pain depends highly on how familiar you are with linux. So make sure you kno...) |
Amir (Diskussion | Beiträge) |
||
Zeile 1: | Zeile 1: | ||
<b>WARNING:</b> That's where the pleasure and pain of N900 starts. How much pleasure and/or pain depends highly on how familiar you are with linux. So make sure you know how to accomplish simple administrative tasks via a root shell without bricking your system and do regular [http://metalab.at/wiki/Hack-A-N900/Backup backups]. | <b>WARNING:</b> That's where the pleasure and pain of N900 starts. How much pleasure and/or pain depends highly on how familiar you are with linux. So make sure you know how to accomplish simple administrative tasks via a root shell without bricking your system and do regular [http://metalab.at/wiki/Hack-A-N900/Backup backups]. | ||
− | == ROOT ACCESS == | + | === ROOT ACCESS === |
Start "Application Manager" and install package "rootsh" | Start "Application Manager" and install package "rootsh" | ||
Zeile 11: | Zeile 11: | ||
</pre> | </pre> | ||
− | == USBIP == | + | === USBIP === |
Connect the n900 via usb to your pc and select "PC Suite Mode". | Connect the n900 via usb to your pc and select "PC Suite Mode". | ||
Zeile 28: | Zeile 28: | ||
Please refer to http://wiki.maemo.org/N900_USB_networking for a complete guide. | Please refer to http://wiki.maemo.org/N900_USB_networking for a complete guide. | ||
− | == OpenSSH == | + | === OpenSSH === |
Install OpenSSH client and server: | Install OpenSSH client and server: | ||
Zeile 61: | Zeile 61: | ||
# Change to no to disable tunnelled clear text passwords | # Change to no to disable tunnelled clear text passwords | ||
PasswordAuthentication no | PasswordAuthentication no | ||
+ | </pre> | ||
+ | |||
+ | === Install essential tools === | ||
+ | |||
+ | <pre> | ||
+ | apt-get install bash coreutils-gnu grep-gnu wget vim | ||
+ | </pre> | ||
+ | |||
+ | Change shell in /etc/passwd to bash: | ||
+ | <pre> | ||
+ | root:x:0:0:root:/root:/bin/bash | ||
+ | user:!:29999:29999::/home/user:/bin/bash | ||
+ | </pre> | ||
+ | |||
+ | <i>NOTE:</i> Maemo ignores [http://de.wikipedia.org/wiki/Shebang shebangs] for shells and always executes shell scripts in busybox. You need to pass the script explicitly to any other shell: | ||
+ | <pre> | ||
+ | bash ./test.sh | ||
+ | </pre> | ||
+ | |||
+ | <b>WARNING:</b> Don't try to relink /bin/sh to /bin/bash. You system won't boot and you will have to reflash the device. | ||
+ | <br> | ||
+ | |||
+ | <i>NOTE:</i> Gnu coreutils and gnu grep are prefixed with the letter 'g'. Therefore you need to call <pre style="display: inline; padding: 2px">/usr/bin/gls</pre> to use gnu ls. For some third party scripts/builds to work properly you might need to create symlinks for the gnu tools to be used. | ||
+ | |||
+ | Example: | ||
+ | <pre> | ||
+ | ln -s /usr/bin/ggrep /usr/bin/grep | ||
+ | </pre> | ||
+ | |||
+ | You might also create bash aliases for gnu utils. | ||
+ | |||
+ | $HOME/.bashrc aliases example: | ||
+ | <pre> | ||
+ | # alias to gnu ls instead of busybux | ||
+ | alias ls='gls --color=auto' | ||
+ | |||
+ | alias ll='ls -l' | ||
+ | alias la='ls -la' | ||
+ | alias md='mkdir' | ||
+ | alias rd='rmdir' | ||
+ | |||
+ | # aliases to gnu grep instead of busybux | ||
+ | alias grep='ggrep' | ||
+ | alias egrep='gegrep' | ||
+ | alias fgrep='gfgrep' | ||
</pre> | </pre> | ||
[[Kategorie:N900]] | [[Kategorie:N900]] |
Version vom 14. April 2010, 14:12 Uhr
WARNING: That's where the pleasure and pain of N900 starts. How much pleasure and/or pain depends highly on how familiar you are with linux. So make sure you know how to accomplish simple administrative tasks via a root shell without bricking your system and do regular backups.
ROOT ACCESS
Start "Application Manager" and install package "rootsh"
Open "X-Terminal" on your N900.
Gain root access:
sudo gainroot
USBIP
Connect the n900 via usb to your pc and select "PC Suite Mode".
On your N900:
ifup usb0 ifconfig usb0 192.168.99.2
On your PC:
ifup usb0 ifconfig usb0 192.168.99.1
Please refer to http://wiki.maemo.org/N900_USB_networking for a complete guide.
OpenSSH
Install OpenSSH client and server:
apt-get install openssh
Generate ssh key:
ssh-keygen
From this point it's more convenient to work remotely via ssh.
Copy the generated private key to your PC.
scp root@192.168.99.2:/root/.ssh/id_rsa ~/.ssh/id_rsa_n900
Put the public key to the right place:
ssh root@192.168.99.2 "mv /root/.ssh/id_rsa /root/.ssh/authorized_keys"
Log on to your N900:
ssh -i ~/.ssh/id_rsa_n900 root@192.168.99.2
change /etc/sshd_config to denied password authentication:
# Change to no to disable tunnelled clear text passwords PasswordAuthentication no
Install essential tools
apt-get install bash coreutils-gnu grep-gnu wget vim
Change shell in /etc/passwd to bash:
root:x:0:0:root:/root:/bin/bash user:!:29999:29999::/home/user:/bin/bash
NOTE: Maemo ignores shebangs for shells and always executes shell scripts in busybox. You need to pass the script explicitly to any other shell:
bash ./test.sh
WARNING: Don't try to relink /bin/sh to /bin/bash. You system won't boot and you will have to reflash the device.
NOTE: Gnu coreutils and gnu grep are prefixed with the letter 'g'. Therefore you need to call
/usr/bin/gls
to use gnu ls. For some third party scripts/builds to work properly you might need to create symlinks for the gnu tools to be used.
Example:
ln -s /usr/bin/ggrep /usr/bin/grep
You might also create bash aliases for gnu utils.
$HOME/.bashrc aliases example:
# alias to gnu ls instead of busybux alias ls='gls --color=auto' alias ll='ls -l' alias la='ls -la' alias md='mkdir' alias rd='rmdir' # aliases to gnu grep instead of busybux alias grep='ggrep' alias egrep='gegrep' alias fgrep='gfgrep'