Hack-A-N900/Development: Unterschied zwischen den Versionen

aus Metalab Wiki, dem offenen Zentrum für meta-disziplinäre Magier und technisch-kreative Enthusiasten.
Zur Navigation springenZur Suche springen
Zeile 28: Zeile 28:
 
</pre>
 
</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:
+
<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>
 
<pre>
 
bash ./test.sh
 
bash ./test.sh

Version vom 14. April 2010, 04:03 Uhr

ON-Device - Getting Started

Add extras, tools and sdk to /etc/apt/sources.list

#Extras
deb http://repository.maemo.org/extras/ fremantle free non-free
deb-src http://repository.maemo.org/extras/ fremantle free

# TOOLS
deb http://repository.maemo.org/ fremantle/tools free
deb-src http://repository.maemo.org/ fremantle/tools free

# SDK
deb http://repository.maemo.org/ fremantle/sdk free
deb-src http://repository.maemo.org/ fremantle/sdk free

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'

Install build tools

apt-get install bzip2 cpio cpp dpkg-dev g++ g++-4.2 gcc libc6-dev libstdc++6-4.2-dev \
libstdc++6-4.2-dbg patch perl perl-modules autoconf automake1.9 libtool flex bison gdb

On default setups it will fail because of apt-get saving temporary files on the root partition.

Just clean the apt cache (

apt-get clean

) and repeat the above command.


You might want to install kernel headers:

apt-get install linux-kernel-headers