Archive

Archive for the ‘kernel’ Category

OMAP1610 : improving boot up (PART 1/3 U-BOOT UPGRADE)

Hi all,

I’m working with an OMAP1610 H2 and it was taking a long time to load and uncompress kernel. Eduardo recommended me some things to be done.


BE CAREFUL –
I’M NOT RESPONSIBLE FOR YOUR ACTS. YOU CAN MISS INFORMATION IF YOU DO NOT FOLLOW THE STEPS CORRECTLY.

1 – Upgrade u-boot

- Install scratchbox for cross-compilation.

- Download the last version of u-boot.

- Configure and Compile u-boot

[sbox-arm: ~/applications/u-boot-1.3.0] > make omap1610h2_config && make

- Copy the new u-boot.bin to your tftpboot directory(details here)

$ cp /scratchbox/users/alecrim/home/alecrim/applications/u-boot-1.3.0/u-boot.bin /tftpboot

- Using minicom, access the current u-boot prompt and load the new u-boot

OMAP1610 H2 # tftp 0×10000000 u-boot.bin
TFTP from server 10.0.0.1; our IP address is 10.0.0.2
Filename ‘u-boot.bin’.
Load address: 0×10000000
Loading: ###################
done
Bytes transferred = 93568 (16d80 hex)

The bold number is import, save it.IT’S YOUR U-BOOT HEXADECIMAL!!

- Unlock the flash memory, erase a sector, copy the new u-boot.bin and lock the flash again.

DANGEROUS!! TAKE CARE!!DANGEROUS!! TAKE CARE!!DANGEROUS!! TAKE CARE!!DANGEROUS!! TAKE CARE!!

REPLACE THE BOLD HEXADECIMAL (16d80)!!! PUT YOUR U-BOOT HEXADECIMAL !!!

OMAP1610 H2 # protect off 00000000 0001ffff
Un-Protected 1 sectors

OMAP1610 H2 # era 00000000 0001ffff

Erasing sector 0 … done
Erased 1 sectors

OMAP1610 H2 # cp.b 0×10000000 0×00000000 0x16d80
Copy to Flash…\done

OMAP1610 H2 # protect on 00000000 0001ffff
Protected 1 sectors
OMAP1610 H2 #

Now, you can restart your board and pray for some output on your serial.

references:
http://tree.celinuxforum.org/CelfPubWiki/OSK_2fuboot
http://focus.ti.com/general/docs/wtbu/wtbuproductcontent.tsp?templateId=6123&navigationId=11994&path=templatedata/cm/product/data/omap_1610
http://tree.celinuxforum.org/CelfPubWiki/OSK

Categories: dica, kernel, omap Tags:

SD GPS OMAP 1710 ( SDIO GPS )

Hi all,

+

I tested SDIO GPS with a OMAP1710 and it works. Many phones and internet tablets are based on this platform. The steps below show the procedures I’ve done:

== KERNEL SIDE ==

Compile a new kernel from linux-omap with some additional features activated.

Device Drivers  ---><*> MMC/SD card support  --->   SDIO UART/GPS class support

Boot your device with this feature.

Maemo-omap1710:~# modprobe sdio_uart

Plug your SDIO card and the message below will be printed.

mmc_slot (GPIO 193) is now openmmci-omap mmci-omap.1: cover is now closedmmci-omap mmci-omap.1: command timeout (CMD8)mmc0: new SDIO card at address f111

The entry /dev/ttySDIO0 should be created.

== USER SIDE ==

I’m using GPSd to test it. Download the last version, compile and install on my device using scratchbox.

Start the GPS daemon

Maemo-omap1710:~# gpsd -N -n -D 2 /dev/ttySDIO0 &Maemo-omap1710:~# gpsd: launching (Version 2.34)gpsd: listening on port 2947gpsd: running with effective group ID 0gpsd: running with effective user ID 0gpsd: opening GPS data source at '/dev/ttySDIO0'gpsd: speed 4800, 8N1gpsd: garmin_gps not active.gpsd: gpsd_activate(1): opened GPS (4)gpsd: SiRF packet seen when NMEA expected.gpsd: FV  0x06: Firmware version: MEW-05-00-030627Wgpsd: FV  0x06: Firmware version: 2.4.02.02 0800003f21

Get you position:

Maemo-omap1710:~# gpspipe -rgpsd: client connect on 7gpsd: client(0) turned on raw modeGPSD,R=1$GPRMC,000004,V,0000.0000,S,00000.0000,W,0.0000,0.000,090602,,*3C$GPGSA,A,1,,,,,,,,,,,,,,,,*32$GPRMC,000005,V,0000.0000,S,00000.0000,W,0.0000,0.000,090602,,*3D$GPGSA,A,1,,,,,,,,,,,,,,,,*32$GPRMC,000006,V,0000.0000,S,00000.0000,W,0.0000,0.000,090602,,*3E$GPGSA,A,1,,,,,,,,,,,,,,,,*32$GPRMC,000007,V,0000.0000,S,00000.0000,W,0.0000,0.000,090602,,*3F$GPGSA,A,1,,,,,,,,,,,,,,,,*32$GPRMC,000008,V,0000.0000,S,00000.0000,W,0.0000,0.000,090602,,*30$GPGSA,A,1,,,,,,,,,,,,,,,,*32

The filesystem used is based on Maemo.

Categories: kernel, maemo, omap, planet_maemo Tags:

Tech day INdT – Manaus e Joinville – Fotos

Categories: debian, evento, kernel Tags:

Tech day – INdT e UFAM

O techday – INdT e UFAM está sendo realizado na UFAM. Na trilha Core, as apresentações estão disponíveis no site do INdT.

http://osmrc.indt.org/keppler/techday_manaus_ufam_2007/

Categories: debian, evento, kernel Tags:

INDT promove Tech day em Joinville

Depois de um certo tempo de trabalha no Linux’s minix, Linus Torvalds manda um email chamando desenvolvedores para colaborar com o Linux.

“Você sente saudade dos bons dias do minix-1.1, quando homens eram homens e escreviam seus próprios device drivers? Você está sem um bom projeto e morrendo de vontade de colocar as mãos em um sistema operacional o qual possa modificar de acordo com suas necessidades? Você acha frustante quando tudo funciona bem no Minix? Sem mais noites em claro para fazer com que um programa funcione? Então esta mensagem pode ser exatamente para você. :-) ” [1]

Agora é sua vez de coloborar com o Linux. Quer saber como, venha ao INDT Techday Joinville.

Sábado, eu devo publicar a palestra que irei apresentar no Tech day Joinville.

Tema: QEMU para desenvolvimento do kernel do Linux

Referências:
[1] – http://www.vivaolinux.com.br/artigos/verArtigo.php?codigo=4409
[2] – http://www.uploadx.com/articles/linux/History_of_Linux.html
[3] – http://franciscoalecrim.blogspot.com/search?q=qemu

Categories: debian, evento, kernel Tags:

Distributed ARM cross compilation ( Fast ARM Compilation )

+

You configured the ARM cross compiler and now you can compile your ARM kernel more fast using distcc.

Follow the instructions below.

Requirement:

* Configure DISTCC

* Configure ARM toolchain

After requirements:
”’You need to execute the instructions in all machines available for DISTCC_HOSTS.”’

=== ALL DISTCC_HOSTS MACHINES ===

* Directing ARM compilation to distcc

for a in /opt/cs-gcc/bin/arm-none-* ; do sudo ln -s /usr/bin/distcc `echo $a | cut -f5 -d/  | sed -e 's/none-eabi/linux/'` ; done

* Edit /etc/init.d/distcc

Change from: PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/bin/X11"      to: PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/bin/X11:/opt/cs-gcc/bin/"

* Restart distcc service

  /etc/init.d/distcc restart

* After all machines configured then you can your kernel

make ARCH=arm omap_h3_1710_defconfigmake ARCH=arm cleanmake ARCH=arm -j12

That’s all!!

Categories: debian, kernel, omap Tags:

Installing ARM Cross compilation

Many phones are based on OMAP 1710. Search “OMAP 1710″ on google and you will find them.

The instructions below show you how you could configure a compiler for OMAP 1710 and compile a kernel using this compiler.

Instructions
Get CodeSourcery toolchain ==> arm-2005q3-2-arm-none-eabi
* On what system will your program run? ARM EABI
* On what system will you run the tools? IA32 GNU/Linux
* Download

Untar on /opt/cs-gcc

make -p /opt/cs-gcccp TOOLCHAIN_PATH/arm-2005q3-2-arm-none-eabi-i686-pc-linux-gnu.tar.bz2 /opt/cs-gcctar -xvjf arm-2005q3-2-arm-none-eabi-i686-pc-linux-gnu.tar.bz2

Create links from arm-none-eabi-* to arm-linux-*

cd /opt/cs-gcc/binfor a in arm-none-* ; do ln -s $a $(echo $a | sed -e 's/none-eabi/linux/') ; done

Compile your kernel

cd linux-omap-2.6 make ARCH=arm clean make ARCH=arm omap_h3_1710_defconfigmake ARCH=arm 

References:
* http://linux.omap.com/pipermail/linux-omap-open-source/2004-November/002175.html
* http://people.via.ecp.fr/~clem/nist/qt-notes.php

Categories: debian, kernel, omap Tags:

Distributed compilation (FAST COMPILATION)

Save your time!! Reduce the compilation time.

Edit and use the script below (debiandistcc_quickinstall.sh) :

—————————————————————————————–

#!/bin/bash

##########################################
# CHANGE BELOW
##########################################
SUBNETWORK=192.168.1.0/24
# name or ip from machines
MACHINES=”machineA machineB localhost”
# max number of threads — we recommend : NUMBER OF CPUs * 4 = 3 * 4 = 12
NCONCURRENCY=”12″

##########################################
# DO NOT CHANGE BELOW
##########################################

#install distcc
apt-get install distcc
apt-get install distccmon-gnome

#configure distcc
echo ‘STARTDISTCC=”true”‘>/etc/default/distcc
echo ‘ALLOWEDNETS=”$SUBNETWORK”‘>>/etc/default/distcc
echo ‘LISTENER=”0.0.0.0″‘>>/etc/default/distcc

#distcc executable
mkdir -p /usr/local/distcc/bin
cd /usr/local/distcc/bin
ln -s /usr/bin/distcc c++
ln -s /usr/bin/distcc cc
ln -s /usr/bin/distcc g++
ln -s /usr/bin/distcc gcc

#exporting distcc
echo ‘CONCURRENCY_LEVEL=$NCONCURRENCY’ >> ~/.bashrc
echo ‘DISTCC_HOSTS=”$MACHINES”‘ >> ~/.bashrc
echo ‘PATH=”/usr/local/distcc/bin:${PATH}”‘ >> ~/.bashrc
echo ‘export CONCURRENCY_LEVEL DISTCC_HOSTS PATH’ >> ~/.bashrc
source ~/.bashrc

—————————————————————————————–

Compiling kernel
* cd YOUR_KERNEL_TREE
* make clean
* make ”’-j12”’

HAPPY COMPILATION!!!

Reference:

http://distcc.samba.org/

Categories: debian, kernel Tags: