2012-10-31

Slitaz -- chroot arm



root@slitaz:~# tazdev -c --arch=arm

Mounting virtual filesystems... [ Done ]
Chrooting to: /home/slitaz/cooking/arm/chroot


1.
root@slitaz:~# slitaz

SliTaz GNU/Linux
================================================================================
Release :
Architecture : i486
Kernel : 2.6.37-slitaz
Boot options : root=/dev/sda7 autologin acpi=off
Home path :
Configs :
Log files :
Packages DB : /var/lib/tazpkg
Installed : 481 packages
Mirror : http://mirror.slitaz.org/packages/4.0/
/media/mirror/slitaz/packages/4.0/
================================================================================
Config file: /etc/slitaz/slitaz.conf

root@slitaz:~# tazdev -c --arch=arm

Mounting virtual filesystems... [ Done ]
Chrooting to: /home/slitaz/cooking/arm/chroot

root@slitaz:/# slitaz

SliTaz GNU/Linux
================================================================================
Release : cooking
Architecture : i486
Kernel : 2.6.37-slitaz
Boot options : root=/dev/sda7 autologin acpi=off
Home path : /home/slitaz
Configs : /etc/slitaz
Log files : /var/log/slitaz
Packages DB : /var/lib/tazpkg
Installed : 149 packages
Mirror : http://mirror.slitaz.org/packages/cooking/
================================================================================
Config file: /etc/slitaz/slitaz.conf

root@slitaz:/#


2.
tux@slitaz:~$ gcc -v
Using built-in specs.
COLLECT_GCC=gcc
COLLECT_LTO_WRAPPER=/usr/lib/gcc/i486-slitaz-linux/4.5.2/lto-wrapper
Target: i486-slitaz-linux
Configured with: /home/slitaz/wok/gcc/source/gcc-4.5.2/configure --libexecdir=/usr/lib --enable-nls --enable-languages=c,c++,objc,fortran --enable-shared --with-system-zlib --enable-clocale=gnu --enable-objc-gc --enable-__cxa_atexit --enable-lto --enable-threads=posix --disable-bootstrap --with-pkgversion=SliTaz --with-tune=i486 --build=i486-slitaz-linux --host=i486-slitaz-linux
Thread model: posix
gcc version 4.5.2 (SliTaz)
tux@slitaz:~$ sudo tazdev -c --arch=arm

Mounting virtual filesystems... [ Done ]
Chrooting to: /home/slitaz/cooking/arm/chroot

root@slitaz:/# arm-slitaz-linux-gnueabi-gcc -v
Using built-in specs.
COLLECT_GCC=arm-slitaz-linux-gnueabi-gcc
COLLECT_LTO_WRAPPER=/cross/arm/tools/lib/gcc/arm-slitaz-linux-gnueabi/4.6.3/lto-wrapper
Target: arm-slitaz-linux-gnueabi
Configured with: ../gcc-4.6.3/configure --prefix=/cross/arm/tools --libexec=/cross/arm/tools/lib --target=arm-slitaz-linux-gnueabi --enable-shared --enable-c99 --enable-long-long --enable-__cxa_atexit --with-system-zlib --enable-plugin --disable-multilib --disable-libssp --disable-checking --disable-werror --with-pkgversion=SliTaz --with-bugurl=https://bugs.slitaz.org/ --with-sysroot=/cross/arm/sysroot --with-arch=armv6 --with-fpu=vfp --with-float=hard --enable-languages=c,c++
Thread model: posix
gcc version 4.6.3 (SliTaz)
root@slitaz:/#

2012-10-29

Slitaz -- mtpaint-grab

Grab screenshot

tux@slitaz:~$ cat /usr/share/applications/mtpaint-grab.desktop
[Desktop Entry]
Encoding=UTF-8
Name=Grab screenshot
Name[fr]=Capture d'écran
Name[pt]=Captura de Screenshots
Exec=mtpaint -s
Icon=camera-photo
Type=Application
Terminal=false
Categories=Application;Graphics;


tux@slitaz:~$ tazpkg info mtpaint

Tazpkg information
================================================================================
Package : mtpaint
Version : 3.40
Category : graphics
Short desc : Light paint programm and image manipulation.
Maintainer : pankso@slitaz.org
Depends : gtk+ libpng lcms
Build deps : gtk+-dev libpng-dev lcms-dev
Web site : http://mtpaint.sourceforge.net/
================================================================================
.

Slitaz -- mtpaint


8. Layers

For some types of painting and image manipulation it is convenient to use multiple layers of images rather than a single image. For example you may want to overlay text or drawings over a photograph and then be able to move or edit each layer independently.

8.1 Creating

To start using layers with mtPaint you must first load the image you want to be the background. This is the most important step as all the other layers sit on top of this image (also, the size of the background image determines the size of the final composite image). Next you must create a new layer by using the Layers window ('L' key or View menu). You can then edit, manipulate, load to, or save this new layer just like any other image. The only difference is that this image can have a transparent colour which will show the pixels used on the background image (or lower layers if there are any).


Ctrl-N Create new image
Ctrl-O Open Image
Ctrl-S Save Image
Ctrl-Shift-S Save layers file
Ctrl-Q Quit program

Ctrl-A Select whole image
Escape Select nothing, cancel paste box
J Lasso selection

Ctrl-C Copy selection to clipboard
Ctrl-X Copy selection to clipboard, and then paint current pattern to selection area
Ctrl-V Paste clipboard to centre of current view
Ctrl-K Paste clipboard to location it was copied from
Ctrl-Shift-V Paste clipboard to new layer
Enter/Return Commit paste to canvas
Shift+Enter/Return Commit paste and swap canvas into the clipboard

Arrow keys Paint Mode - Move the mouse pointer
Arrow keys Selection Mode - Nudge selection box or paste box by one pixel
Shift+Arrow keys Nudge mouse pointer, selection box or paste box by x pixels - x is defined by the Preferences window
Ctrl+Arrows Move layer or resize selection box
Ctrl+Shift+Arrows Move layer or resize selection box by x pixels

Enter/Return Paint Mode - Simulate left click
Backspace Paint Mode - Simulate right click

2012-10-25

Slitaz -- pv


Linux dd Command Show Progress Copy Bar With Status


1.
root@slitaz:~# pv -tpreb /media/raspbian/raspi/2012-08-16-wheezy-raspbian.img | dd of=/dev/sdb
1.81GB 0:08:30 [3.62MB/s] [=================================>] 100%           
3788800+0 records in
3788800+0 records out


2.
root@slitaz:~# tazpkg info pv

Tazpkg information
================================================================================
Package    : pv
Version    : 1.1.4
Category   : misc
Short desc : pipe viewer for monitoring data through a pipeline
Maintainer : allan316@gmail.com
Web site   : http://www.ivarch.com/programs/pv.shtml
================================================================================


3.
root@slitaz:~# pv --help | head
Usage: pv [OPTION] [FILE]...
Concatenate FILE(s), or standard input, to standard output,
with monitoring.

  -p, --progress           show progress bar
  -t, --timer              show elapsed time
  -e, --eta                show estimated time of arrival (completion)
  -r, --rate               show data transfer rate counter
  -b, --bytes              show number of bytes transferred
  -f, --force              output even if standard error is not a terminal


4.
root@slitaz:~# ls -lh /media/raspbian/raspi/2012-08-16-wheezy-raspbian.img
-rw-r--r--    1 tux      tux         1.8G Aug 27 22:56 /media/raspbian/raspi/2012-08-16-wheezy-raspbian.img
root@slitaz:~#

raspi -- GPU


Open Source ARM userland


Source code for ARM side libraries for interfacing to Raspberry Pi GPU.

README.md

This repository contains the source code for the ARM side libraries used on Raspberry Pi. These typically are installed in /opt/vc/lib and includes source for the ARM side code to interface to: EGL, mmal, GLESv2, vcos, openmaxil, vchiq_arm, bcm_host, WFC, OpenVG.

Use buildme to build. It requires cmake to be installed and an arm cross compiler.

2012-10-24

Slitaz -- alsamixer


[Mixer] No hardware mixing, inserting volume filter.

menu -->  Multimedia --> Alsamixer Volume mixer


Opening video decoder: [ffmpeg] FFmpeg's libavcodec codec family
Selected video codec: [ffmpeg2] vfm: ffmpeg (FFmpeg MPEG-2)
==========================================================================
ID_VIDEO_CODEC=ffmpeg2
==========================================================================
Opening audio decoder: [ffmpeg] FFmpeg/libavcodec audio decoders
AUDIO: 48000 Hz, 2 ch, s16le, 256.0 kbit/16.67% (ratio: 32000->192000)
ID_AUDIO_BITRATE=256000
ID_AUDIO_RATE=48000
ID_AUDIO_NCH=2
Selected audio codec: [ffac3] afm: ffmpeg (FFmpeg AC-3)
==========================================================================
AO: [alsa] 48000Hz 2ch floatle (4 bytes per sample)
ID_AUDIO_CODEC=ffac3
[Mixer] No hardware mixing, inserting volume filter.
Starting playback...
[ac3 @ 0x861db5c]frame sync error
Movie-Aspect is 1.33:1 - prescaling to correct movie aspect.
ID_VIDEO_ASPECT=1.3333
[swscaler @ 0x86bc940]BICUBIC scaler, from yuv420p to rgb24 using C
VO: [x11] 720x480 => 720x540 Planar YV12  [zoom]
[swscaler @ 0x86bc940]No accelerated colorspace conversion found from yuv420p to bgra.

Slitaz -- git-gui



git-gui.desktop

fix
Exec=/usr/lib/git/git-core/git-gui
to
Exec=/usr/lib/git-core/git-gui


1.
tux@slitaz:~$ tazpkg info git-gui

Tazpkg information
================================================================================
Package    : git-gui
Version    : 0.13.0
Category   : development
Short desc : Graphical interface for the Git dRCS.
Maintainer : ben@seawolfsanctuary.com
Depends    : tk git
Build deps : tk git
Web site   : http://www.kernel.org/pub/software/scm/git/docs/git-gui.html
================================================================================


2.
tux@slitaz:~$ cat /usr/share/applications/git-gui.desktop
[Desktop Entry]
Encoding=UTF-8
Name=Git GUI
Exec=/usr/lib/git/git-core/git-gui
Icon=git-gui
Type=Application
Categories=Development;


3.
tux@slitaz:~$ ls -l /usr/lib/git/git-core/git-gui
ls: /usr/lib/git/git-core/git-gui: No such file or directory
tux@slitaz:~$ ls -l /usr/lib/git
ls: /usr/lib/git: No such file or directory


4.
tux@slitaz:~$ tazpkg list-files git-gui | head

Installed files with: git-gui
================================================================================
/usr/bin/git-citool
/usr/bin/git-gui
/usr/bin/git-gui--askpass
/usr/lib/git-core/git-citool
/usr/lib/git-core/git-gui
/usr/lib/git-core/git-gui--askpass
/usr/share/applications/git-gui.desktop
tux@slitaz:~$



 Git權威指南第3章
http://product.china-pub.com/194010

2012-10-16

raspi -- openwrt



openwrt-brcm2708-sdcard-vfat-ext4_240.img.7z   5.5 MB

Description:    
OpenWrt 12.09 Beta running on a Rpi with 240 Mbyte of free memory.

Linux kernel: 3.3.8
Added kernel patches up until (24 Sept. 2012).
Updated Rpi firmware to 25 sept. 2012 version.


1.
BusyBox v1.19.4 (2012-09-12 11:44:04 CEST) built-in shell (ash)
Enter 'help' for a list of built-in commands.

  _______                     ________        __
 |       |.-----.-----.-----.|  |  |  |.----.|  |_
 |   -   ||  _  |  -__|     ||  |  |  ||   _||   _|
 |_______||   __|_____|__|__||________||__|  |____|
          |__| W I R E L E S S   F R E E D O M
 -----------------------------------------------------
 ATTITUDE ADJUSTMENT (Bleeding Edge, r33369)
 -----------------------------------------------------
  * 1/4 oz Vodka      Pour all ingredients into mixing
  * 1/4 oz Gin        tin with ice, strain into glass.
  * 1/4 oz Amaretto
  * 1/4 oz Triple sec
  * 1/4 oz Peach schnapps
  * 1/4 oz Sour mix
  * 1 splash Cranberry juice
 -----------------------------------------------------


2.
root@OpenWrt:~# uname -a
Linux OpenWrt 3.3.8 #1 PREEMPT Wed Sep 26 10:49:42 CEST 2012 armv6l GNU/Linux


3.
root@OpenWrt:~# ifconfig -a
eth0      Link encap:Ethernet  HWaddr B8:27:EB:32:F4:CE 
          inet addr:192.168.1.30  Bcast:192.168.1.255  Mask:255.255.255.0
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:133 errors:0 dropped:0 overruns:0 frame:0
          TX packets:138 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:10347 (10.1 KiB)  TX bytes:13166 (12.8 KiB)

lo        Link encap:Local Loopback 
          inet addr:127.0.0.1  Mask:255.0.0.0
          UP LOOPBACK RUNNING  MTU:16436  Metric:1
          RX packets:72 errors:0 dropped:0 overruns:0 frame:0
          TX packets:72 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:5138 (5.0 KiB)  TX bytes:5138 (5.0 KiB)


4.
root@OpenWrt:~# nslookup www.slitaz.org
Server:    127.0.0.1
Address 1: 127.0.0.1 localhost.lan

Name:      www.slitaz.org
Address 1: 94.23.61.29 pangolin.pimentvert.com


5.
root@OpenWrt:~# dmesg | head
[    0.000000] Booting Linux on physical CPU 0
[    0.000000] Linux version 3.3.8 (nathan@maya) (gcc version 4.6.3 20120201 (prerelease) (Linaro GCC 4.6-2012.02) ) #1 PREEMPT Wed Sep 26 10:49:42 CEST 2012
[    0.000000] CPU: ARMv6-compatible processor [410fb767] revision 7 (ARMv7), cr=00c5387d
[    0.000000] CPU: PIPT / VIPT nonaliasing data cache, VIPT nonaliasing instruction cache
[    0.000000] Machine: BCM2708
[    0.000000] Memory policy: ECC disabled, Data cache writeback
[    0.000000] On node 0 totalpages: 61440
[    0.000000] free_area_init_node: node 0, pgdat c039059c, node_mem_map c03db000
[    0.000000]   Normal zone: 480 pages used for memmap
[    0.000000]   Normal zone: 0 pages reserved
.

2012-10-15

mk802 -- tinycore - ssh



1.
root@slitaz:~# ssh tc@192.168.1.31

Secure login powered by Dropbear SSH server on a10Core.

tc@192.168.1.31's password:
(�-
//\ Core is distributed with ABSOLUTELY NO WARRANTY.
v_/_ www.tinycorelinux.com


2.
tc@box:~$ uname -a
Linux box 3.0.42-slitaz #1 PREEMPT Tue Oct 9 19:22:19 UTC 2012 armv7l GNU/Linux


3.
tc@box:~$ dmesg | head -5
[ 0.000000] Initializing cgroup subsys cpuset
[ 0.000000] Linux version 3.0.42-slitaz (root@slitaz) (gcc version 4.5.1 (Sourcery G++ Lite 2010.09-50) ) #1 PREEMPT Tue Oct 9 19:22:19 UTC 2012
[ 0.000000] CPU: ARMv7 Processor [413fc082] revision 2 (ARMv7), cr=10c5387d
[ 0.000000] CPU: VIPT nonaliasing data cache, VIPT aliasing instruction cache
[ 0.000000] Machine: sun4i


4.
tc@box:~$ ps | tail
738 root /usr/bin/dropbear -b /etc/dropbear/banner -d /etc/dropbear/dropbear_dss_host_key -r /etc/dropbear/dropbear_rss_host_key
747 root /bin/bterm -f /usr/share/fonts/bterm.bogl /sbin/autologin
748 root /sbin/getty 38400 tty2
750 root /sbin/getty 38400 tty3
751 tc -sh
798 root /sbin/udhcpc -b -i eth1 -x hostname box -p /var/run/udhcpc.eth1.pid
1066 root /usr/bin/dropbear -b /etc/dropbear/banner -d /etc/dropbear/dropbear_dss_host_key -r /etc/dropbear/dropbear_rss_host_key
1067 tc -sh
1099 tc ps
1100 tc tail
tc@box:~$


5.
tc@box:~$ cat /var/log/tc-config
Booting Core 4.6.2
Running Linux Kernel 3.0.42-slitaz.
Checking boot options...Done.
Starting udev daemon for hotplug support...Done.
swapon: /dev/zram0: Invalid argument
Scanning hard disk partitions to create /etc/fstab
Setting Language to C Done.
Possible swap partition(s) enabled.
Checking for extensions...Done.
Setting keymap to us Done.
Setting hostname to box Done.
Starting SSH server: Dropbear...
.



mk802 -- tinycore


Towards Microcore on Allwinner A10

a10Core-20120928.img.gz    6.2M

This brings the image up to 4.6.2 base and also changes provides from cgi to zsync'ed local database.


1.
tc@box:~$ cat /etc/init.d/rcS
#!/bin/sh
exec /etc/init.d/tc-config > /var/log/tc-config 2>&1

tc@box:~$ head /etc/init.d/tc-config
#!/bin/sh
# RC Script for Tiny Core Linux
# (c) Robert Shingledecker 2004-2012
# Several modifications for speed by Curaga
. /etc/init.d/tc-functions

USER="tc"
TCEDIR="/tmp/tce"
TCLOOP="/tmp/tcloop"
TCEINSTALLED="/usr/local/tce.installed"
tc@box:~$


2.
tc@box:~$ cat /etc/inittab
# /etc/inittab: init configuration for busybox init.
# Boot-time system configuration/initialization script.
#
::sysinit:/etc/init.d/rcS

# /sbin/getty respawn shell invocations for selected ttys.
tty1::respawn:/sbin/getty -nl /sbin/Autologin 38400 tty1
#tty2::respawn:/sbin/getty 38400 tty2
#tty3::respawn:/sbin/getty 38400 tty3
#tty4::askfirst:/sbin/getty 38400 tty4
#tty5::askfirst:/sbin/getty 38400 tty5
#tty6::askfirst:/sbin/getty 38400 tty6

# Stuff to do when restarting the init
# process, or before rebooting.
::restart:/etc/init.d/rc.shutdown
::restart:/sbin/init
::ctrlaltdel:/sbin/reboot
::shutdown:/etc/init.d/rc.shutdown


3.
tc@box:~$ cat /sbin/Autologin
#!/bin/sh
exec /bin/Bterm /sbin/autologin

tc@box:~$ cat /sbin/autologin
#!/bin/sh
cat /etc/issue
if [ -f /var/log/autologin ] ; then
    exec login
else
    touch /var/log/autologin
    exec login -f root
fi


4.
tc@box:~$ cat /init
#!/bin/sh
mount proc
grep -qw multivt /proc/cmdline && sed -i s/^#tty/tty/ /etc/inittab
if ! grep -qw noembed /proc/cmdline; then
  mount / -o remount,size=90%
  umount proc
  exec /sbin/init
fi
umount proc
if mount -t tmpfs -o size=90% tmpfs /mnt; then
  if tar -C / --exclude=mnt -cf - . | tar -C /mnt/ -xf - ; then
    mkdir /mnt/mnt
    exec /sbin/switch_root mnt /sbin/init
  fi
fi
exec /sbin/init


tc@box:~$ ls -l /sbin/init
lrwxrwxrwx    1 root     root            14 Oct  8 00:12 /sbin/init -> ../bin/busybox
.

2012-10-03

mk802 -- boot.scr

U-boot for Allwinner explained

The boot.scr file is basically a file consisting of u-boot commands and can be used to change the default parameters.


1.
root@slitaz:/tmp# dd bs=1 skip=72 if=/tmp/boot.scr of=/tmp/boot.script
772+0 records in
772+0 records out

2.
root@slitaz:/tmp# cat boot.script
setenv boot.scr 'if fatload mmc 0 0x44000000 boot.scr || ext2load mmc 0 0x44000000 boot.scr || ext2load mmc 0 0x44000000 boot/boot.scr; then source 0x44000000; fi; true'
setenv boot_mmc 'fatload mmc 0 0x43000000 script.bin; fatload mmc 0 0x48000000 ${kernel}; if fatload mmc 0 0x43100000 uInitrd; then bootm 0x48000000 0x43100000; else bootm 0x48000000; fi'
setenv bootcmd 'run boot.scr setargs boot_mmc'
setenv bootdelay '3'
setenv console 'ttyS0,115200'
setenv extraargs 'rootwait mem=928M'
setenv kernel 'uImage'
setenv loglevel '8'
setenv panicarg 'panic=10'
setenv root '/dev/mmcblk0p2'
setenv setargs 'setenv bootargs console=${console} root=${root} loglevel=${loglevel} ${panicarg} ${extraargs}'
setenv stderr 'serial'
setenv stdin 'serial'
setenv stdout 'serial'

3.
root@slitaz:/tmp# mkimage -A arm -T script -C none -n "Run uImage" -d /tmp/boot.script  /tmp/boot.scr
Image Name:   Run uImage
Created:      Wed Oct  3 23:34:06 2012
Image Type:   ARM Linux Script (uncompressed)
Data Size:    780 Bytes = 0.76 kB = 0.00 MB
Load Address: 00000000
Entry Point:  00000000
Contents:
   Image 0: 772 Bytes = 0.75 kB = 0.00 MB
.

mk802 -- script.bin


Editing AllWinner A10 Board Configuration Files (script.bin)

AllWinner A10 based devices all have board configuration files in binary format, sometimes refereed to as script.bin, evb.bin, sys_config.{product_nane}.bin store in the FAT partition with the kernel.

fexc - (de)comp­iler
source

binary
bin2fex.tar.gz  Size: 18,85 Kb

Crane_Fex_Guide v0.4 (EN).pdf    595K   


1.
root@slitaz:/tmp# bin2fex script.bin script.fex
fexc-bin: script.bin: version: 0.1.2
fexc-bin: script.bin: size: 42048 (74 sections)

2.
root@slitaz:/tmp# head script.fex
[product]
version = "1.0"
machine = "MK802"

[target]
boot_clock = 1008
dcdc2_vol = 1400
dcdc3_vol = 1250
ldo2_vol = 3000
ldo3_vol = 2800

3.
root@slitaz:/tmp# ls -l script*
-rwx------    1 root     root         42048 Sep 10 10:55 script.bin
-rw-r--r--    1 root     root         22320 Oct  3 22:16 script.fex

4.
root@slitaz:/tmp# fex2bin script.fex script-2.bin

5.
root@slitaz:/tmp# ls -l script*
-rw-r--r--    1 root     root         42048 Oct  3 22:20 script-2.bin
-rwx------    1 root     root         42048 Sep 10 10:55 script.bin
-rw-r--r--    1 root     root         22320 Oct  3 22:16 script.fex