You are not logged in.
Chrooting to: /home/slitaz/cooking/arm/chroot
1.
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)
2.
tux@slitaz:~$ sudo tazdev -c --arch=arm
Mounting virtual filesystems... [ Done ]
Chrooting to: /home/slitaz/cooking/arm/chroot
3.
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:/#
[attachment=18038,760]
Offline
Hi alanyih,
I'm glad to see you here again!
I know that you difficult to talk in English. But, what you mean by that?
I see only that
[*]you have installed gcc-4.5.2 (used in SliTaz 4.0 Stable) on your system, and
[*]you have installed gcc-4.6.3 (used in SliTaz Cooking) on your chroot
And yes, you can continue your experiments with ARM. (But, unfortunately, I do not have any ARM.)
Offline
Hi Aleksej,
cross toolchain: armv6 hardfloat
chroot for cook/cooker cross compile
>>Target: arm-slitaz-linux-gnueabi
>>--with-sysroot=/cross/arm/sysroot --with-arch=armv6 --with-fpu=vfp --with-float=hard
Offline
cross testsuite
[CHECKING] file test.out
test.out: ELF 32-bit LSB executable, ARM, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.32, not stripped
root@slitaz:/# cross testsuite
Tools prefix : --prefix=/cross/arm/tools
Target sysroot : --with-sysroot=/cross/arm/sysroot
[COMPILING] arm-slitaz-linux-gnueabi-gcc -v -Wall -o test.out test.c
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)
COLLECT_GCC_OPTIONS='-v' '-Wall' '-o' 'test.out' '-march=armv6' '-mfloat-abi=hard' '-mfpu=vfp'
/cross/arm/tools/lib/gcc/arm-slitaz-linux-gnueabi/4.6.3/cc1 -quiet -v test.c -quiet -dumpbase test.c -march=armv6 -mfloat-abi=hard -mfpu=vfp -auxbase test -Wall -version -o /tmp/ccDffF34.s
GNU C (SliTaz) version 4.6.3 (arm-slitaz-linux-gnueabi)
compiled by GNU C version 4.6.3, GMP version 5.0.4, MPFR version 3.1.0-p4, MPC version 0.8.2
GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=65536
ignoring nonexistent directory "/cross/arm/sysroot/usr/local/include"
#include "..." search starts here:
#include <...> search starts here:
/cross/arm/tools/lib/gcc/arm-slitaz-linux-gnueabi/4.6.3/include
/cross/arm/tools/lib/gcc/arm-slitaz-linux-gnueabi/4.6.3/include-fixed
/cross/arm/tools/lib/gcc/arm-slitaz-linux-gnueabi/4.6.3/../../../../arm-slitaz-linux-gnueabi/include
/cross/arm/sysroot/usr/include
End of search list.
GNU C (SliTaz) version 4.6.3 (arm-slitaz-linux-gnueabi)
compiled by GNU C version 4.6.3, GMP version 5.0.4, MPFR version 3.1.0-p4, MPC version 0.8.2
GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=65536
Compiler executable checksum: c79421fa632f9d876a099c488d2165db
COLLECT_GCC_OPTIONS='-v' '-Wall' '-o' 'test.out' '-march=armv6' '-mfloat-abi=hard' '-mfpu=vfp'
/cross/arm/tools/lib/gcc/arm-slitaz-linux-gnueabi/4.6.3/../../../../arm-slitaz-linux-gnueabi/bin/as -march=armv6 -mfloat-abi=hard -mfpu=vfp -meabi=5 -o /tmp/cctOLj6s.o /tmp/ccDffF34.s
COMPILER_PATH=/cross/arm/tools/lib/gcc/arm-slitaz-linux-gnueabi/4.6.3/:/cross/arm/tools/lib/gcc/arm-slitaz-linux-gnueabi/4.6.3/:/cross/arm/tools/lib/gcc/arm-slitaz-linux-gnueabi/:/cross/arm/tools/lib/gcc/arm-slitaz-linux-gnueabi/4.6.3/:/cross/arm/tools/lib/gcc/arm-slitaz-linux-gnueabi/:/cross/arm/tools/lib/gcc/arm-slitaz-linux-gnueabi/4.6.3/../../../../arm-slitaz-linux-gnueabi/bin/
LIBRARY_PATH=/cross/arm/tools/lib/gcc/arm-slitaz-linux-gnueabi/4.6.3/:/cross/arm/tools/lib/gcc/arm-slitaz-linux-gnueabi/4.6.3/../../../../arm-slitaz-linux-gnueabi/lib/:/cross/arm/sysroot/lib/:/cross/arm/sysroot/usr/lib/
COLLECT_GCC_OPTIONS='-v' '-Wall' '-o' 'test.out' '-march=armv6' '-mfloat-abi=hard' '-mfpu=vfp'
/cross/arm/tools/lib/gcc/arm-slitaz-linux-gnueabi/4.6.3/collect2 --sysroot=/cross/arm/sysroot --eh-frame-hdr -dynamic-linker /lib/ld-linux.so.3 -X -m armelf_linux_eabi -o test.out /cross/arm/sysroot/usr/lib/crt1.o /cross/arm/sysroot/usr/lib/crti.o /cross/arm/tools/lib/gcc/arm-slitaz-linux-gnueabi/4.6.3/crtbegin.o -L/cross/arm/tools/lib/gcc/arm-slitaz-linux-gnueabi/4.6.3 -L/cross/arm/tools/lib/gcc/arm-slitaz-linux-gnueabi/4.6.3/../../../../arm-slitaz-linux-gnueabi/lib -L/cross/arm/sysroot/lib -L/cross/arm/sysroot/usr/lib /tmp/cctOLj6s.o -lgcc --as-needed -lgcc_s --no-as-needed -lc -lgcc --as-needed -lgcc_s --no-as-needed /cross/arm/tools/lib/gcc/arm-slitaz-linux-gnueabi/4.6.3/crtend.o /cross/arm/sysroot/usr/lib/crtn.o
[CHECKING] file test.out
test.out: ELF 32-bit LSB executable, ARM, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.32, not stripped
[CHECKING] readelf -A test.out
Attribute Section: aeabi
File Attributes
Tag_CPU_name: "6"
Tag_CPU_arch: v6
Tag_ARM_ISA_use: Yes
Tag_THUMB_ISA_use: Thumb-1
Tag_FP_arch: VFPv2
Tag_ABI_PCS_wchar_t: 4
Tag_ABI_FP_denormal: Needed
Tag_ABI_FP_exceptions: Needed
Tag_ABI_FP_number_model: IEEE 754
Tag_ABI_align_needed: 8-byte
Tag_ABI_align_preserved: 8-byte, except leaf SP
Tag_ABI_enum_size: int
Tag_ABI_HardFP_use: SP and DP
Tag_ABI_VFP_args: VFP registers
Tag_DIV_use: Not allowed
root@slitaz:/#
Offline
readelf -A
Tag_FP_arch: VFPv2
Tag_ABI_HardFP_use: SP and DP
Tag_ABI_VFP_args: VFP registers
hardfloat
[CHECKING] readelf -A test.out
Attribute Section: aeabi
File Attributes
Tag_CPU_name: "6"
Tag_CPU_arch: v6
Tag_ARM_ISA_use: Yes
Tag_THUMB_ISA_use: Thumb-1
Tag_FP_arch: VFPv2
Tag_ABI_PCS_wchar_t: 4
Tag_ABI_FP_denormal: Needed
Tag_ABI_FP_exceptions: Needed
Tag_ABI_FP_number_model: IEEE 754
Tag_ABI_align_needed: 8-byte
Tag_ABI_align_preserved: 8-byte, except leaf SP
Tag_ABI_enum_size: int
Tag_ABI_HardFP_use: SP and DP
Tag_ABI_VFP_args: VFP registers
Tag_DIV_use: Not allowed
softfloat
root@slitaz:~# readelf -A /home/slitaz-arm/distro/lib/libc-2.13.so
Attribute Section: aeabi
File Attributes
Tag_CPU_name: "6"
Tag_CPU_arch: v6
Tag_ARM_ISA_use: Yes
Tag_THUMB_ISA_use: Thumb-1
Tag_ABI_PCS_wchar_t: 4
Tag_ABI_FP_denormal: Needed
Tag_ABI_FP_exceptions: Needed
Tag_ABI_FP_number_model: IEEE 754
Tag_ABI_align_needed: 8-byte
Tag_ABI_align_preserved: 8-byte, except leaf SP
Tag_ABI_enum_size: int
Tag_DIV_use: Not allowed
root@slitaz:~#
Offline
ArmHardFloatPort
http://wiki.debian.org/ArmHardFloatPort
This page gathers thoughts and ideas around a new hard-float ABI ARM port for Debian, hopefully to be released for the the first time with Wheezy (7.0).
Contents
Current Status
Rationale
Supported devices
Background information
VFP
ARM EABI
GCC floating-point options
ld.so hwcaps
Endianess, architecture level, CPU, VFP level
Name of the port
Triplet
Performance improvements and benchmarks
NEON
Hardware
Task List
Partial reference of SoC and supported ISAs
Port naming debate notes
Compiler
Minimum CPU & FPU
Raspbian Benchmarking – armel vs armhf
http://www.memetic.org/raspbian-benchmarking-armel-vs-armhf
Softfp and Hardfp
For ARM there are two different ABIs (Application Binary Interfaces), soft/softfp and hard. ‘soft’ doesn’t use the FPU at all and uses gcc maths replacement functions to emulate floating point arithmetic. ‘softfp’ uses the FPU but arguments to functions are passed through the integer registers and then passed to the floating point unit. ‘hard’ is using the FPU directly with data passed directly to the floating point unit registers. While soft/softfp are forwards compatible, ie. a ‘soft’ app can run on a softfp system, but not vice-versa, a ‘hardfloat’ application can run on neither of those systems. This means that in order to use hardfloat the system has to be completely recompiled for the hardfloat ABI, down to the last library and program.
Offline
Benchmark
Given the preponderance of hardfp performance over its register ignorant peers, this will be useful in eking every last drop of performance out of the hardware.
Raspbian Benchmarking – armel vs armhf
http://www.memetic.org/raspbian-benchmarking-armel-vs-armhf/
Keep in mind the golden rule of benchmarking: All benchmarks are flawed benchmarks.
[attachment=18672,793]
Performance comparison between Debian armel and Raspbian armhf
The chart above shows the performance difference in various applications between Debian armel and Raspbian armhf. Performance improvement varied from 4% to 40% depending upon the application.
[..]
Conclusion
I believe the QtonPi wiki best sums up my experiences:
Given the preponderance of hardfp performance over its register ignorant peers, this will be useful in eking every last drop of performance out of the hardware.
Raspberry Pi Hard Float Benchmarks
http://pastebin.com/2NZqH2yY
Offline
Avoiding libtool minefields when cross-compiling
http://www.metastatic.org/text/libtool.html
Offline
Boot Raspberry Pi
[c]# spk-add mc
Midnight Commander - ncurses based file manager.[/c]
1.
[c]root@slitaz:~# uname -a
Linux slitaz 3.2.14-slitaz #1 PREEMPT Wed Oct 31 14:55:53 CST 2012 armv6l GNU/Linux[/c]
2.
[c]root@slitaz:~# dmesg | head -5
Initializing cgroup subsys cpu
Linux version 3.2.14-slitaz (root@slitaz) (gcc version 4.6.3 (SliTaz) ) #1 PREEMPT Wed Oct 31 14:55:53 CST 2012
CPU: ARMv6-compatible processor [410fb767] revision 7 (ARMv7), cr=00c5387d
CPU: PIPT / VIPT nonaliasing data cache, VIPT nonaliasing instruction cache
Machine: BCM2708[/c]
3.
[c]root@slitaz:~# spk info
Spk info
================================================================================
Architecture : arm
Database : /var/lib/tazpkg/installed
Cache info : 4.0K /var/cache/tazpkg
Mirror URL : http://192.168.1.37/cross/armhf/packages/
Extra mirrors : 0
Installed : 17
================================================================================
root@slitaz:~#[/c]
4.
[c]root@slitaz:~# spk-add mc
Using official mirror: mc-4.8.3-armhf.tazpkg
Connecting to 192.168.1.37 (192.168.1.37:80)
mc-4.8.3-armhf.tazpk 100% |*******************************| 683k 0:00:00 ETA
Missing: glib
Missing: e2fsprogs
Missing dependencies: 2
Using official mirror: glib-2.32.1-armhf.tazpkg
Connecting to 192.168.1.37 (192.168.1.37:80)
glib-2.32.1-armhf.ta 100% |*******************************| 388k 0:00:00 ETA
Missing: pcre
Missing: libffi
Missing: libxml2
Missing: elfutils
Missing dependencies: 4
Using official mirror: pcre-8.30-armhf.tazpkg
Connecting to 192.168.1.37 (192.168.1.37:80)
pcre-8.30-armhf.tazp 100% |*******************************| 79044 0:00:00 ETA
Missing dependencies: 0
Adding pcre
================================================================================
Copying package... [ Done ]
Extracting archive: 80.0K [ Done ]
Installing files: 9 [ Done ]
================================================================================
pcre 8.30 is installed
[..]
Adding e2fsprogs
================================================================================
Copying package... [ Done ]
Extracting archive: 292.0K [ Done ]
Modified package: busybox
Overwriting file: /sbin/tune2fs
Modified package: busybox
Overwriting file: /sbin/findfs
Installing files: 34 [ Done ]
================================================================================
e2fsprogs 1.42.3 is installed
Adding mc
================================================================================
Copying package... [ Done ]
Extracting archive: 684.0K [ Done ]
Installing files: 182 [ Done ]
================================================================================
mc 4.8.3 is installed[/c]
5.
[c]root@slitaz:~# mc -V
GNU Midnight Commander 4.8.3
Built with GLib 2.32.4
Using the ncurses library
With builtin Editor
With subshell support as default
With support for background operations
With mouse support on xterm and Linux console
With internationalization support
With multiple codepages support
Virtual File Systems: cpiofs, tarfs, sfs, extfs, ftpfs, fish
Data types: char: 8; int: 32; long: 32; void *: 32; size_t: 32; off_t: 64;
root@slitaz:~#[/c]
6.
[c]root@slitaz:~# readelf -A /usr/bin/mc
Attribute Section: aeabi
File Attributes
Tag_CPU_name: "6"
Tag_CPU_arch: v6
Tag_ARM_ISA_use: Yes
Tag_THUMB_ISA_use: Thumb-1
Tag_FP_arch: VFPv2
Tag_ABI_PCS_wchar_t: 4
Tag_ABI_FP_denormal: Needed
Tag_ABI_FP_exceptions: Needed
Tag_ABI_FP_number_model: IEEE 754
Tag_ABI_align_needed: 8-byte
Tag_ABI_align_preserved: 8-byte, except leaf SP
Tag_ABI_enum_size: int
Tag_ABI_HardFP_use: SP and DP
Tag_ABI_VFP_args: VFP registers
Tag_DIV_use: Not allowed
root@slitaz:~#[/c]
7.
[c]root@slitaz:~# slitaz
SliTaz GNU/Linux
================================================================================
Release : cooking
Architecture : arm
Kernel : 3.2.14-slitaz
Boot options : dma.dmachans=0x3c bcm2708_fb.fbwidth=644 bcm2708_fb.fbheight=448 bcm2708.boardrev=0x2 bcm2708.serial=0x7b32f4ce smsc95xx.macaddr=B8:27:EB:32:F4:CE dwc_otg.lpm_enable=0 console=tty1 root=/dev/mmcblk0p2 rootfstype=ext4 elevator=deadline rootwait
Home path : /home/slitaz
Configs : /etc/slitaz
Log files : /var/log/slitaz
Packages DB : /var/lib/tazpkg
Installed : 27 packages
Mirror : http://192.168.1.37/cross/armhf/packages/
================================================================================
Config file: /etc/slitaz/slitaz.conf[/c]
Offline
SliTaz armhf: 46MB Linux Distribution for Raspberry Pi
http://www.cnx-software.com/2012/12/15/slitaz-armhf-46mb-linux-distribution-for-raspberry-pi
SliTaz armhf is a minimal Linux distribution based on SliTaz Linux, that uses the hard-float ABI for the Raspberry Pi. The compressed SD card image is 46M, the rootfs 18.6 MB, and Slitaz uses just about 7 MB RAM after boot.
CNXSoft – Embedded Software Development
Software development cycle, linux programming, hardware development…
http://www.cnx-software.com/
Offline
TightVNC/Qt5
1.
tux@slitaz:~$ uname -a
Linux slitaz 3.2.27-slitaz #1 PREEMPT Fri Dec 14 15:01:17 CST 2012 armv6l GNU/Linux
tux@slitaz:~$ date
Fri Jan 11 04:31:49 UTC 2013
2.
tux@slitaz:~$ sudo vcgencmd version
Oct 25 2012 16:37:21
Copyright (c) 2012 Broadcom
version 346337 (release)
3.
tux@slitaz:~$ fc-list
Fixed:style=SemiCondensed
micro.pcf:style=Regular
cursor.pcf:style=Regular
DejaVu Sans:style=Bold
DejaVu Sans:style=Book
DejaVu Sans Mono:style=Book
4.
tux@slitaz:~$ free -m
total used free shared buffers
Mem: 184 105 79 0 4
-/+ buffers: 100 84
Swap: 127 0 127
tux@slitaz:~$
5.
tux@slitaz:~$ tazpkg list | grep qt
libqt5 5.0.0-0rpi1 misc
libqt5-compositor 5.0.0~29-0rpi1 misc
libqt5-declarative 5.0.0-0rpi1 misc
libqt5-declarative-bin 5.0.0-0rpi1 misc
libqt5-dev-bin 5.0.0-0rpi1 misc
libqt5-graphicaleffects 5.0.0-0rpi1 misc
libqt5-multimedia 5.0.0-0rpi1 misc
libqt5-script 5.0.0-0rpi1 misc
libqt5-svg 5.0.0-0rpi1 misc
libqt5-tools 5.0.0-0rpi1 misc
libqt5-tools-bin 5.0.0-0rpi1 misc
libqt5-v8 5.0.0-0rpi1 misc
libqt5-xmlpatterns 5.0.0-0rpi1 misc
libqtwebkit5 5.0.0-0rpi1 misc
libqtwebkit5-bin 5.0.0-0rpi1 misc
qt5-demos-base 5 misc
qt5-demos-compositor 5.0.0~29-0rpi1 misc
qt5-qmake 5.0.0-0rpi1 misc
6.tux@slitaz:~$ spk-ls qt5-demos-base | tail
/usr/lib/qt5/examples/widgets/widgets/windowflags/windowflags
/usr/lib/qt5/examples/widgets/widgets/mousebuttons/buttontester
/usr/lib/qt5/examples/widgets/widgets/scribble/scribble
/usr/lib/qt5/examples/widgets/widgets/groupbox/groupbox
/usr/lib/qt5/examples/widgets/widgets/calculator/calculator
/usr/share/doc/qt5-demos-base/changelog.gz
/usr/share/doc/qt5-demos-base/copyright
================================================================================
Installed files by qt5-demos-base: 32
tux@slitaz:~$ sudo /usr/lib/qt5/examples/widgets/widgets/calculator/calculator
This plugin does not support propagateSizeHints()
^Ctux@slitaz:~$
tux@slitaz:~$
[attachment=22548,1007]
Offline
Qt5-qmake/qtfm
qtFM is a small, lightweight file manager for Linux desktops based on pure Qt
and works great with minimal desktop environments like Openbox.
http://www.qtfm.org/
5.
tux@slitaz:~$ tazpkg list | grep qt
libqt5 5.0.0-0rpi1 misc
libqt5-compositor 5.0.0~29-0rpi1 misc
libqt5-declarative 5.0.0-0rpi1 misc
libqt5-declarative-bin 5.0.0-0rpi1 misc
libqt5-dev-bin 5.0.0-0rpi1 misc
libqt5-graphicaleffects 5.0.0-0rpi1 misc
libqt5-multimedia 5.0.0-0rpi1 misc
libqt5-script 5.0.0-0rpi1 misc
libqt5-svg 5.0.0-0rpi1 misc
libqt5-tools 5.0.0-0rpi1 misc
libqt5-tools-bin 5.0.0-0rpi1 misc
libqt5-v8 5.0.0-0rpi1 misc
libqt5-xmlpatterns 5.0.0-0rpi1 misc
libqtwebkit5 5.0.0-0rpi1 misc
libqtwebkit5-bin 5.0.0-0rpi1 misc
qt5-demos-base 5 misc
qt5-demos-compositor 5.0.0~29-0rpi1 misc
qt5-qmake 5.0.0-0rpi1 misc
1.
root@slitaz:/tmp/qtfm-5.5# dmesg | grep Machine
[ 0.000000] Machine: BCM2708
root@slitaz:/tmp/qtfm-5.5# ls
CHANGELOG README images qtfm.pro src
COPYING build qtfm.desktop resources.qrc translations
2.
root@slitaz:/tmp/qtfm-5.5# qmake qtfm.pro
3.
root@slitaz:/tmp/qtfm-5.5# ls -l Makefile
-rw-r--r-- 1 root root 232653 Jan 13 03:57 Makefile
root@slitaz:/tmp/qtfm-5.5# head -21 Makefile
#############################################################################
# Makefile for building: qtfm
# Generated by qmake (3.0) (Qt 5.0.0) on: Sun Jan 13 03:57:53 2013
# Project: qtfm.pro
# Template: app
# Command: /usr/bin/qmake -o Makefile qtfm.pro
#############################################################################
MAKEFILE = Makefile
####### Compiler, tools and options
CC = gcc
CXX = g++
DEFINES = -DQT_NO_DEBUG -DQT_NETWORK_LIB -DQT_GUI_LIB -DQT_CORE_LIB
CFLAGS = -pipe -marm -mfpu=vfp -mtune=arm1176jzf-s -march=armv6zk -mabi=aapcs-linux -O2 -D_REENTRANT -w -fPIE $(DEFINES)
CXXFLAGS = -pipe -marm -mfpu=vfp -mtune=arm1176jzf-s -march=armv6zk -mabi=aapcs-linux -O2 -D_REENTRANT -w -fPIE $(DEFINES)
INCPATH = -I/usr/share/qt5/mkspecs/devices/linux-rasp-pi-g++ -I. -I. -Isrc -I/usr/include/qt5 -I/usr/include/qt5/QtNetwork -I/usr/include/qt5/QtGui -I/usr/include/qt5/QtCore -Ibuild -I/opt/vc/include -I/opt/vc/include/interface/vcos/pthreads
LINK = g++
LFLAGS = -Wl,-rpath-link,/opt/vc/lib -Wl,-O1
LIBS = $(SUBLIBS) -L/opt/vc/lib -lmagic -lpthread -lQt5Network -lQt5Gui -lQt5Core -lGLESv2
root@slitaz:/tmp/qtfm-5.5#
4.
root@slitaz:/tmp/qtfm-5.5# ls -l /usr/share/qt5/mkspecs/devices/linux-rasp-pi-g\+\+/
total 15
-rw-r--r-- 1 root root 10245 Dec 21 10:58 qeglfshooks_pi.cpp
-rw-r--r-- 1 root root 1320 Dec 21 10:58 qmake.conf
-rw-r--r-- 1 root root 2009 Dec 21 10:58 qplatformdefs.h
root@slitaz:/tmp/qtfm-5.5#
5.
root@slitaz:/tmp/qtfm-5.5# cat /usr/share/qt5/mkspecs/devices/linux-rasp-pi-g\+\+/qmake.conf
#
# qmake configuration for Broadcom's Raspberry PI
# http://wiki.qt-project.org/Devices/RaspberryPi
include(../common/linux_device_pre.conf)
QT_QPA_DEFAULT_PLATFORM = wayland
QMAKE_LFLAGS += -Wl,-rpath-link,$$[QT_SYSROOT]/opt/vc/lib
QMAKE_LIBDIR_OPENGL_ES2 = $$[QT_SYSROOT]/opt/vc/lib
QMAKE_LIBDIR_EGL = $$QMAKE_LIBDIR_OPENGL_ES2
QMAKE_INCDIR_EGL = $$[QT_SYSROOT]/opt/vc/include $$[QT_SYSROOT]/opt/vc/include/interface/vcos/pthreads
QMAKE_INCDIR_OPENGL_ES2 = $${QMAKE_INCDIR_EGL}
QMAKE_LIBS_EGL = -lEGL -lGLESv2
contains(DISTRO, squeeze) {
#Debian Squeeze: Legacy everything
QMAKE_LIBS_OPENGL_ES2 = -lGLESv2 -lEGL
QT_QPA_DEFAULT_PLATFORM = eglfs
} else:contains(DISTRO, arch) {
#On principle: no wizardry required
} else {
#This is not strictly necessary
DISTRO_OPTS += deb-multi-arch
DISTRO_OPTS += hard-float
}
QMAKE_CFLAGS += \
-marm \
-mfpu=vfp \
-mtune=arm1176jzf-s \
-march=armv6zk \
-mabi=aapcs-linux
QMAKE_CXXFLAGS = $$QMAKE_CFLAGS
EGLFS_PLATFORM_HOOKS_SOURCES = $$PWD/qeglfshooks_pi.cpp
EGLFS_PLATFORM_HOOKS_LIBS = -lbcm_host
include(../common/linux_device_post.conf)
load(qt_config)
root@slitaz:/tmp/qtfm-5.5#
[attachment=22551,1008]
Offline
alanyih - you have an image with X - it would be cool to share it with us, because on
http://arm.balinor.net/slitaz/armhf/ there is only without X
Offline
@kultex,
serious issue.
Floating point exception
Offline
Broadcom VideoCore IV GPU
2.
tux@slitaz:~$ sudo vcgencmd version
Oct 25 2012 16:37:21
Copyright (c) 2012 Broadcom
version 346337 (release)
Changelog
2012-12-14
- update kernel-3.2.27
- update firmware-2012-10-25 17c8799375
- adding support for the 512MB Model B
tree:17c8799375
https://github.com/raspberrypi/firmware/tree/17c8799375415f33681becc15a96458c75308773
RPi VideoCore APIs
http://elinux.org/RPi_VideoCore_APIs
The Raspberry Pi contains a Broadcom VideoCore IV GPU providing OpenGL ES 1.1, OpenGL ES 2.0, hardware-accelerated OpenVG 1.1, Open EGL, OpenMAX and 1080p30 H.264 high-profile decode.
[..]
Currently C header files and libraries for many of the Broadcom APIs are located in /opt/vc/include and /opt/vc/lib respectively, or available from GitHub within the same directory structure.
https://github.com/raspberrypi/firmware
This repository contains pre-compiled binaries of the current Raspberry Pi
kernel and modules, userspace libraries, and bootloader/GPU firmware.
[..]
* ./opt/vc: includes userspace libraries for the VideCoreIV (EGL/GLES/OpenVG etc).
[attachment=23149,1055]
Offline
vcgencmd
* ./opt/vc: includes userspace libraries for the VideCoreIV (EGL/GLES/OpenVG etc).
1.
tux@slitaz:~$ vcgencmd version
Oct 25 2012 16:37:21
Copyright (c) 2012 Broadcom
version 346337 (release)
2.
tux@slitaz:~$ vcgencmd measure_temp
temp=48.2'C
tux@slitaz:~$ cat /sys/class/thermal/thermal_zone0/temp
47615
3.
tux@slitaz:~$ dmesg | grep vchiq
[ 0.821732] vcos: [1]: vchiq_init_state: slot_zero = 0xffd80000, is_master = 0
[ 0.822159] vcos: [1]: vchiq_init_state: called
[ 0.823157] vcos: [1]: vchiq: initialised - version 2 (min 2), device 251.0
tux@slitaz:~$ ls -l /dev/vchiq
crw-rw---T 1 root video 251, 0 Dec 23 12:00 /dev/vchiq
4.
tux@slitaz:~$ ls /opt/vc/*bin
/opt/vc/bin:
edidparser tvservice vcdbg vcgencmd vchiq_test
/opt/vc/sbin:
install_vmcs vcfiled
tux@slitaz:~$
5.
tux@slitaz:~$ \
> for src in arm core h264 isp v3d uart pwm emmc pixel vec hdmi dpi ; do \
> echo -e "$src:\t$(vcgencmd measure_clock $src)" ; \
> done
arm: frequency(45)=700000000
core: frequency(1)=250000000
h264: frequency(28)=0
isp: frequency(42)=0
v3d: frequency(43)=0
uart: frequency(22)=3000000
pwm: frequency(25)=0
emmc: frequency(47)=100000000
pixel: frequency(29)=119000000
vec: frequency(10)=0
hdmi: frequency(9)=163683000
dpi: frequency(4)=0
6.
tux@slitaz:~$ \
> for id in core sdram_c sdram_i sdram_p ; do \
> echo -e "$id:\t$(vcgencmd measure_volts $id)" ; \
> done
core: volt=1.20V
sdram_c: volt=1.20V
sdram_i: volt=1.20V
sdram_p: volt=1.23V
7.
tux@slitaz:~$ \
> for codec in H264 MPG2 WVC1 ; do \
> echo -e "$codec:\t$(vcgencmd codec_enabled $codec)" ; \
> done
H264: H264=enabled
MPG2: MPG2=disabled
WVC1: WVC1=disabled
tux@slitaz:~$
[attachment=23150,1056]
Offline
Hi Alanyih,
Recently I downloaded the image for running Slitaz on the Raspberry Pi.
The system boots but I haven't bothered yet to start the graphical interface.
Another topic is still giving me troubles, namely the partioning of the flash card.
After dowload, the flash partition size is ~512MB. I would like to enlarge this to the size of my flash card (4GB) or create an additional partition and assign the available space to that one.
The problem which I encounter is that partmgr seems to be missing certain commands which are required to accomplish the job. Other tools seem equally disfunctional.
Could you please enlighten me a bit on this (presumably trivial) job?
/emgi
Offline
parted is in his packages
http://arm.balinor.net/slitaz/armhf/packages/
http://www.gnu.org/software/parted/manual/html_mono/parted.html
I dont know, if it is included - check with tazpkg search parted
Offline
Hi Kultex,
Yes its there; I installed the corresponding package with tazpkg.
Problem is some sub-commands in the tool are not working.
I will post a more detailed description tomorrow evening.
/emgi
Offline
For ext2 or ext3 partition,resize2fs is in e2fsprogs.
Run on unmounted partition,the kernel should recognize the full partition size.
[c]resize2fs -p /dev/sdXX[/c]
Offline
root=/dev/mmcblk0p2 rootfstype=ext4
Hi emgi,
PLS README FIRST.
README.1st (slitaz-armhf-mini-2012-12-14.zip)
[..]
RPi_Easy_SD_Card_Setup
===============================================================================
Manually resizing the SD card partitions (Optional)
http://elinux.org/RPi_Easy_SD_Card_Setup
1. /dev/mmcblk0 : raspiberry pi running..
root@slitaz:~# fdisk -l
Disk /dev/mmcblk0: 16.0 GB, 16005464064 bytes
255 heads, 63 sectors/track, 1945 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Device Boot Start End Blocks Id System
/dev/mmcblk0p1 1 3 24066 6 FAT16
/dev/mmcblk0p2 4 122 955867+ 83 Linux
/dev/mmcblk0p3 384 1946 12553216 83 Linux
root@slitaz:~# parted -l
Model: SD SD16G (sd/mmc)
Disk /dev/mmcblk0: 16.0GB
Sector size (logical/physical): 512B/512B
Partition Table: msdos
Disk Flags:
Number Start End Size Type File system Flags
1 32.3kB 24.7MB 24.6MB primary fat16
2 24.7MB 1003MB 979MB primary ext4
3 3151MB 16.0GB 12.9GB primary
2. rootfstype=ext4
root@slitaz:~# dmesg | grep mmcblk
[ 0.000000] Kernel command line: dma.dmachans=0x7f35 bcm2708_fb.fbwidth=1680 bcm2708_fb.fbheight=1050 bcm2708.boardrev=0x2 bcm2708.serial=0x7b32f4ce smsc95xx.macaddr=B8:27:EB:32:F4:CE sdhci-bcm2708.emmc_clock_freq=100000000 vc_mem.mem_base=0xc000000 vc_mem.mem_size=0x10000000 dwc_otg.lpm_enable=0 console=tty1 root=/dev/mmcblk0p2 rootfstype=ext4 elevator=deadline rootwait devtmpfs.mount=0
[ 1.492961] Waiting for root device /dev/mmcblk0p2...
[ 1.532386] mmcblk0: mmc0:0007 SD16G 14.9 GiB
[ 1.545521] mmcblk0: p1 p2 p3
[ 2.367369] EXT4-fs (mmcblk0p2): mounted filesystem with ordered data mode. Opts: (null)
[ 4.105091] EXT4-fs (mmcblk0p2): re-mounted. Opts: user_xattr,acl,barrier=1,data=ordered
[ 4.253133] EXT4-fs (mmcblk0p2): re-mounted. Opts: user_xattr,acl,barrier=1,data=ordered
3. cmdline setting
root@slitaz:~# cat /boot/cmdline.txt
dwc_otg.lpm_enable=0 console=tty1 root=/dev/mmcblk0p2 rootfstype=ext4 elevator=deadline rootwait devtmpfs.mount=0
4. gparted : slitaz-4.0/cooking (x86)
Applications --> System Tools --> Gparted Partition Editor
Offline
serious issue.
Floating point exception
Floating-Point Exceptions
[..]
(IEEE 754). This standard defines five types of floating-point exception that must be signaled when detected:
Invalid operation
Division by zero
Overflow
Underflow
Inexact calculation
Offline
SliTaz armhf: 46MB Linux Distribution for Raspberry Pi
[..]
Although Slitaz (x86) is based on LXDE and Openbox, LXDE can’t be installed in Slitaz armhf with tazpkg as the required packages have not been built. However, if some packages are missing, you can always build them yourself using Slitaz Cookutils. There are 2 main components in Cookutils:
Cook lets you compile and create a package, provide a log file and check the receipt/package quality.
The Cooker is a build bot with more automation and can be used as a frontend to cook since it provides a CGI/web interface which lets you view cook logs in a nice and colored way.
To get started, you’ll first need to checkout Slitaz Developers Tools and the Cookutils from mercurial repositories:
sudo apt-get install mercurial
hg clone http://hg.slitaz.org/slitaz-dev-tools
hg clone http://hg.slitaz.org/cookutils
For Slitaz armhf, you’ll also need to install Slitaz armhf toolchain, or build it yourself.
Slitaz Cookutils
http://hg.slitaz.org/cookutils/raw-file/tip/doc/cookutils.en.html
Slitaz armhf toolchain
http://arm.balinor.net/slitaz/armhf/slitaz-arm-toolchain-armhf-20120630.tar.bz2
yourself
http://hg.slitaz.org/cookutils/file/3d20efa09240/doc/cross.txt
Offline
With many thanks for all the replies, one essential piece of information was missing.
The problem I had is that the device file for the additional partition on the sd card was not there. Hard to understand why this was not mentioned anywhere else but eventually I fiddled it out myself.
I created an additional ext4-partition using parted. After this, the partition is already visible via fdisk -l but it cannot be accessed,mounted or so.
Then I used mknod to create the device file:
# mknod /dev/mmcblk0p3 b 179 3
Where b stands for block device and 179,3 are the major and minor nodes for this device type.
After this it is possible to mount the new partition.
/emgi
Offline
OK, the mirror is back online and I downloaded the Slitaz armhf toolchain:
http://arm.balinor.net/slitaz/armhf/slitaz-arm-toolchain-armhf-20120630.tar.bz2
When following the guidelines I read that you need to install this toolchain into the chroot environment. What I cannot find is precisely how to do this installation. Sorry but such things are not obvious to me.
Presumably the tarball has to be unpacked but in which directory? tar -xvf or..?
And once this is done; where can I find some more detailed guidelines on how to convert a package or source(?) from Intel to ARM?
Does it really work like this that you can take any x86.tazpkg as input and convert it into an armv6.tazpkg? I would actually expect that you need to recompile for arm from the source.
Eventually I will probably fiddle it out but it may take some time. Any tips or links from experienced people might speed things up and are highly appreciated anyway.
/emgi
Offline
[ Generated in 0.017 seconds, 7 queries executed - Memory usage: 1.64 MiB (Peak: 1.77 MiB) ]