====== La Cubieboard ======
Basée sur un A10 , 1Ghz, 4Go de NAND, 512 Mo de RAM ... mieux que Beagleboard pour ...50€
**http://docs.cubieboard.org/tutorials/dvk521/start**
* http://cubieboard.org/
* http://linux-sunxi.org/Cubieboard
* http://linux-sunxi.org/Cubieboard/Cubieboard_Linux-3.9
* http://www.cnx-software.com/2012/12/09/cubieboard-unboxing-and-quick-start-guide/
* https://shop.klingler.net/product-details.php?productid=10041
* http://www.watterott.com/en/Cubieboard
* http://www.seeedstudio.com/depot/cubieboard-p-1404.html
* https://github.com/cnvogelg/raspi/blob/master/doc/cubie.txt
* http://www.atyu30.com/index.php?title=Ubuntu_On_CubieBoard
* http://www.cubieforums.com/index.php?topic=72.0
* http://dl.cubieforums.com/loz/
* http://www.cubieforums.com/index.php/topic,442.0.html
Avant tout , je trouve un fonctionnement curieux. Si apres tout un tas de manip on arrive a un blocage au boot apres la ligne 'flash..' et que rien n'y fait ( enfin, je n'ai pas trouvé, plusieurs u-boot,script.bin etc), une chose extraordinaire se passe après un certain temps sans rien faire sur la carte .. le boot refonctionne. franchement c'est tres chiant.
Je mets en dessous la trace d'u-boot revenue la miraculeusement après une nuit de sommeil.
HELLO! BOOT0 is starting!
boot0 version : 1.5.1
dram size =1024
Succeed in opening nand flash.
Succeed in reading Boot1 file head.
The size of Boot1 is 0x0003c000.
The file stored in 0X00000000 of block 2 is perfect.
Check is correct.
Ready to disable icache.
Succeed in loading Boot1.
Jump to Boot1.
[ 0.133] boot1 version : 1.4.0
[ 0.133] pmu type = 3
[ 0.135] bat vol = 0
[ 0.161] axi:ahb:apb=3:2:2
[ 0.161] set dcdc2=1400, clock=1008 successed
[ 0.163] key
[ 0.175] no key found
[ 0.175] flash init start
[ 2.289] flash init finish
[ 2.290] fs init ok
[ 2.291] fattype FAT12
[ 2.291] fs mount ok
[ 2.298] script finish
[ 2.299] power finish
[ 2.306] BootMain start
[ 2.306] 0
[ 2.341] key value = 0
[ 2.341] recovery key high 6, low 4
[ 2.341] unable to find fastboot_key key_max value
[ 2.349] test for multi os boot with display
[ 2.351] logo name is invalid or dont need show logo
[ 2.356] load kernel start
[ 2.383] load kernel successed
[ 2.383] start address = 0x4a000000
[ 2.385] jump to
U-Boot 2013.01-05530-g8843079-dirty (Feb 04 2013 - 02:41:41) Allwinner Technology
Board: Cubieboard
I2C: ready
DRAM: 1 GiB
NAND: 0 MiB
MMC: SUNXI SD/MMC: 0
MMC init failed
Using default environment
In: serial
Out: serial
Err: serial
Net: wemac
Hit any key to stop autoboot: 0
sun4i#printenv
baudrate=115200
boot_nand=ext4load nand 1:0 0x48000000 /boot${kernel} && bootm 0x48000000
bootcmd=if run loadbootenv; then echo Loaded environment from ${bootenv};env import -t ${scriptaddr} ${filesize};fi;if test -n ${uenvcmd}; then echo Running uenvcmd ...;run uenvcmd;fi;if run loadbootscr; then echo Jumping to ${bootscr};source ${scriptaddr};fi;run setargs boot_nand;
bootdelay=3
bootenv=/uEnv.txt
bootscr=/boot.scr
console=ttyS0,115200
ethact=wemac
kernel=/uImage
loadbootenv=ext4load nand 1:0 $scriptaddr /boot${bootenv} || fatload nand 0:0 $scriptaddr ${bootenv}
loadbootscr=ext4load nand 1:0 $scriptaddr /boot${bootscr} || fatload nand 0:0 $scriptaddr ${bootscr}
loglevel=8
panicarg=panic=10
root=/dev/nandb rootwait
scriptaddr=0x44000000
setargs=setenv bootargs console=${console} root=${root} loglevel=${loglevel} ${panicarg} ${extraargs}
stderr=serial
stdin=serial
stdout=serial
Environment size: 930/131068 bytes
sun4i#
à noter que les autre u-boot que j'avais n'implémentait pas ext4load, ce qui explique juste le blocage.
Bref
recup d'une wheezy : http://cubian.org/downloads/
après boot login username et password : cubie
sudo ~/nandinstall/install.sh
ou
apt-get install cubian-nandinstall
sudo cubian-nandinstall
Add GPG key
wget -O - http://packages.cubian.org/cubian.gpg.key
apt-key add -
ajouter deb http://packages.cubian.org/ wheezy main
puis apt-get update
Resizing the partition (Remember this must only be done from a live"SD")
cubian-resizefs /dev/nandd
sinon
**Installation sur la flash**
récuperer http://dl.cubieforums.com/loz/boot_partition/bootloader/cubie_nand_uboot_partition_image.bin sur une clé
#axel http://dl.cubieforums.com/loz/boot_partition/bootloader/cubie_nand_uboot_partition_image.bin
dd if=cubie_nand_uboot_partition_image.bin of=/dev/nand bs=4096
sync
#attendre 1 min
#format the nandb partition as ext4
mkfs.ext4 /dev/nandb
mount /dev/nandb /mnt
# copie rootfs
rsync -avc --exclude-from=/excludefile / /mnt
mkdir /tmp/boot
mount /dev/mmc0blk0p1 /tmp/boot
#make a boot folder on our nandb
mkdir /mnt/boot
cp /tmp/boot/uImage /mnt/boot/uImage
#ssh key
cd /etc/ssh
ssh-keygen -t rsa1 -f ssh_host_key -N ""
ssh-keygen -t rsa -f ssh_host_rsa_key -N ""
ssh-keygen -t dsa -f ssh_host_dsa_key -N ""
umount /mnt
umount /tmp/boot
sync
une fois installé
* https://github.com/linux-sunxi/linux-sunxi
* http://linux-sunxi.org/Building_on_Debian
===== refaire le kernel =====
Départ de la debian armhf
apt-get install uboot-mkimage libncurses5-dev
{{:cubieboard:config-cubie.txt|}}
make uImage modules
restera a recopier le kernel et les modules
cp arch/arm/boot/uImage /boot
mkdir -p ../modules
rm -rf ../modules/*
make modules_install INSTALL_MOD_PATH=../modules/
cd ../modules
tar cvfz modules.tgz *
cd /
#tar xvfz ...
===== GPIO =====
* http://docs.cubieboard.org/products/a10_cubieboard/expansion_ports
* FEX , cf [[http://linux-sunxi.org/Fex_Guide#12.1_.5Bdisp_init.5D| Fex Guide sur linux-sunxi]]
* permet de configurer les GPIO au boot
* modifiable par bin2fex et fex2bin dans /boot
* [[https://github.com/linux-sunxi/sunxi-boards/blob/master/sys_config/a10/cubieboard.fex]]
* git https://github.com/linux-sunxi/sunxi-tools/
* cd /boot;bin2fex script.bin script.txt; ## bin2fex script.txt script.bin
* SERIE , sur le connexteur central **ATTENTION : NE PAS CONNECTER LE V+ !**
* cf : [[http://linux-sunxi.org/Cubieboard/TTL]] 115200 8N1 bauds
* SERIE UART 5 ET 6
* connecteur 1 -coté sata (on change l'affectation TP-Y pour de la UAR), broche
* 33 YP_TP (TP-Y1)
* 34 XP_TP (TP-X1)
* 35 YN_TP (TP-Y2)
* 36 XN_TP (TP-X2)
*
[uart_para4]
uart_used = 1
uart_port = 4
uart_type = 2
uart_tx = port:YP_TP<4><1>
uart_rx = port:YN_TP<4><1>
[uart_para5]
uart_used = 1
uart_port = 5
uart_type = 2
uart_tx = port:XP_TP<4><1>
uart_rx = port:XN_TP<4><1>
* I2C , i2c-detect donne 3 port utilisables (TWI)
* pin 6 du connecteur cote réseau: PB18 (TWI1-SCK)
* pin 7 : PB19 (TWI1-SDA)
* script.txt:
[twi0_para]
twi0_used = 1
twi0_scl = port:PB00<2>
twi0_sda = port:PB01<2>
# pas visibles
[twi1_para]
twi1_used = 1
twi1_scl = port:PB18<2>
twi1_sda = port:PB19<2>
# broches 2 : 6 et 7
[twi2_para]
twi2_used = 1
twi2_scl = port:PB20<2>
twi2_sda = port:PB21<2>
# pas visibles
* SPI
[spi0_para]
spi_used = 1
spi_cs_bitmap = 1
spi_cs0 = port:PI10<3>
spi_sclk = port:PI11<3>
spi_mosi = port:PI12<3>
spi_miso = port:PI13<3>
* 45 PI10 (SPI0-CS/UART5-TX/EINT22)
* 46 PI12 (SPI0-MOSI/UART6-TX/EINT24)
* 47 PI11 (SPI0-CLK/UART5-RX/EINT23)
* 48 PI13 (SPI0-MISO/UART6-RX/EINT25)
* 7 pins pour IRQ PH7, PH14, PH15, PI10, PI11, PI12 and PI13
http://quick2wire.com/articles/how-to-add-quick2wire-as-a-raspbian-software-source/
===== les 2 LEDS =====
de :http://linux-sunxi.org/Cubieboard/Programming/StatusLEDs
echo 255 > /sys/class/leds/blue\:ph21\:led2/brightness
echo timer > /sys/class/leds/blue\:ph21\:led2/trigger
echo mmc0 > /sys/class/leds/blue\:ph21\:led2/trigger
echo heartbeat > /sys/class/leds/blue\:ph21\:led2/trigger
cat /sys/class/leds/blue\:ph21\:led2/trigger pour les infos
sur la cubian un simple python script to turn on an LED on Pin 61
# Pin 61 is PI13 (Port I, 201+13) = gpio214
int gpio = 214
#export the pin
f= open ('/sys/class/gpio/export','w')
f.write(str(gpio))
f.close()
# Set the direction
path = '/sys/class/gpio/gpio' + gpio + '/direction'
f= open (path,'w')
f.write('out')
f.close()
#write '1' to the pin value
path = '/sys/class/gpio/gpio' + gpio + '/value'
f= open (path,'w')
f.write('1')
f.close()
===== boot partout =====
bootcmd=nfs 0x43000000 192.168.1.10:/home/cubieboard/script.bin; nfs 0x48000000 192.168.1.10:/home/cubieboard/uImage; bootm 0x48000000
* http://linux-sunxi.org/How_to_boot_the_A10_over_the_network
===== Trucs qui marchent =====
* jack2 {{:cubieboard:jack-1.9.9.tar.bz2|}} attention a supprimer TOUT les lib*jack* faire un //find /usr -name "*jack*"// avant pour les trouver. Installation par //./waf install//
* {{:cubieboard:pd-0.44.0-extended-20130522.deb|pd-0.44.0-extended-20130522.deb}} compilé sur la cubie
* chmod 4755 /usr/bin/pd-extended
* apt-get install fake-hwclock
faire le crontab a * * * * *
===== en commandes groupées =====
http://www.watterott.com/en/Power-Supply-5V-3A ? a voir
* Alain
* Antoine V
* Antoine T
*Ben
* Antoën