Thursday, August 16, 2012

Lets go to User Space


Compile busybox statically linked:

$make ARCH=arm CROSS_COMPILE=/home/abhishek/arm-2009q3/bin/arm-none-linux-gnueabi- menuconfig

$LDFLAGS="--static" make ARCH=arm CROSS_COMPILE=/home/abhishek/arm-2009q3/bin/arm-none-linux-gnueabi- 

$make ARCH=arm CROSS_COMPILE=/home/abhishek/arm-2009q3/bin/arm-none-linux-gnueabi- CONFIG_PREFIX=/home/abhishek/rpi/busybox/INSTALL-DIR install

Running Script from your application:

http://www.tuxation.com/setuid-on-shell-scripts.html



http://www.tldp.org/HOWTO/Program-Library-HOWTO/shared-libraries.html



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



Ethernet setup:

Check output of ifconfig in target system, if could see ethernet link then your ethernet link is up.
If you couldn't find ethernet interface then you need to bring interface up.
$ ip link show

1: lo: <LOOPBACK,UP,LOWER_UP> mtu 16436 qdisc noqueue state UNKNOWN 
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state DOWN qlen 1000
    link/ether 00:xx:xx:xx:xx:xx brd ff:ff:ff:ff:ff:ff
3: wlan0: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN qlen 1000
    link/ether 00:xx:xx:xx:xx:xx brd ff:ff:ff:ff:ff:ff
6: ppp0: <POINTOPOINT,MULTICAST,NOARP,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UNKNOWN qlen 3
    link/ppp 


$ ip link show eth0

2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state DOWN qlen 1000
    link/ether 00:xx:xx:xx:xx:xx brd ff:ff:ff:ff:ff:ff


$ ip link set eth0 up

$ifconfig eth0

Now you can see ethernet device up. But wont see ip address. So, here you have to assign device ip address,


$ ifconfig eth0 10.0.0.1 netmask 255.255.255.0 up


Starting GUI from console:

Your system is booted in shell prompt and you want to launch GUI window from there. Reason could be any, so basically you have to put system into correct run level. Command is simple,

$init <run level>
e.g. $ init 5

So lets understand run level, but again this may slightly vary (run level 3-5) with distributions. Which could be seen in /etc/inittab.

init 0 : shutdown/halt
init 1 : single user/admin task
init 2 : multi-user without network
init 3 : start normally with console/multi-user with network
init 4 : <user defined>
init 5 : start normally with GUI
init 6 : re-boot



References:


Working with Ethernet: http://linux-ip.net/html/tools-ip-link.html
http://people.debian.org/~ultrotter/talks/dc10/networking.html


Serial over Ethernet: http://www.novell.com/communities/node/4753/netconsole-howto-send-kernel-boot-messages-over-ethernet


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

Kernel

kprobes: A good tool to put break point in kernel execution and to debug.

Proc file system:

Build own linux based system:

--------------------------------------------------------------------------------------------------
Firefox OS

http://www.ifadey.com/2012/07/firefox-os-boot-to-gecko/
http://www.youtube.com/watch?v=yNWRMTqtQEI
https://wiki.mozilla.org/Gaia


-------------------------------------------------------------------------------------------------
Windowing System for new OS

http://xwinman.org/others.php
https://help.ubuntu.com/community/Installation/LowMemorySystems

Linux Distributions

http://distrowatch.com

--------------------------------------------------------------------------------------------------
Linux Boot-up



--------------------------------------------------------------------------------------------------
Worth Reading


Porting U-Boot: 

No comments:

Post a Comment