Slackware - ARM This forum is for the discussion of Slackware ARM. |
Notices |
Welcome to LinuxQuestions.org, a friendly and active Linux Community.
You are currently viewing LQ as a guest. By joining our community you will have the ability to post topics, receive our newsletter, use the advanced search, subscribe to threads and access many other special features. Registration is quick, simple and absolutely free. Join our community today!
Note that registered members see fewer ads, and ContentLink is completely disabled once you log in.
Are you new to LinuxQuestions.org? Visit the following links:
Site Howto |
Site FAQ |
Sitemap |
Register Now
If you have any problems with the registration process or your account login, please contact us. If you need to reset your password, click here.
Having a problem logging in? Please visit this page to clear all LQ-related cookies.
Get a virtual cloud desktop with the Linux distro that you want in less than five minutes with Shells! With over 10 pre-installed distros to choose from, the worry-free installation life is here! Whether you are a digital nomad or just looking for flexibility, Shells can put your Linux machine on the device that you want to use.
Exclusive for LQ members, get up to 45% off per month. Click here for more info.
|
 |
|
02-20-2014, 10:31 AM
|
#1
|
Member
Registered: Oct 2012
Location: Romania
Distribution: Slackware
Posts: 169
Rep: 
|
SlackwareARM on RaspberryPI and soft/hard float
AFAIK SlackwareARM packages are compiled (for wide compatibility reasons) as soft-float on the ARM platform.
Not all SoC have hard-float and SlackwareARM aims at supporting as many as possible. Which is very good.
My question is: on the RaspberryPI whose CPU include hardware floating point support, what would be necessary to be recompiled in the Slackware distro so that end user applications (that would benefit from using hard-float and be compiled with hard-float) would need to work properly ?
Off the top of my head I'm thinking: glibc, some system utils, some libraries that would be used by such applications..
AFAIK the kernel (using FatDog's guide) is the binary official one from The Raspberry Foundation, which is hard-float compiled.
Examples: image processing (imagemagic, jpeg, etc), video processing (ffmpeg, etc), mysql (if using FLOAT columns), ... (the list is open)
I assume things like "ls" won't really need the upgrade.
|
|
|
02-20-2014, 12:14 PM
|
#2
|
Slackware Contributor
Registered: Apr 2008
Distribution: Slackware
Posts: 1,624
|
Quote:
Originally Posted by andrixnet
AFAIK SlackwareARM packages are compiled (for wide compatibility reasons) as soft-float on the ARM platform.
Not all SoC have hard-float and SlackwareARM aims at supporting as many as possible. Which is very good.
My question is: on the RaspberryPI whose CPU include hardware floating point support, what would be necessary to be recompiled in the Slackware distro so that end user applications (that would benefit from using hard-float and be compiled with hard-float) would need to work properly ?
Off the top of my head I'm thinking: glibc, some system utils, some libraries that would be used by such applications..
AFAIK the kernel (using FatDog's guide) is the binary official one from The Raspberry Foundation, which is hard-float compiled.
|
The kernels are compiled to support the architectures selected (e.g. ARMv7 Tegra, armv6 Broadcom). When selecting the support you will either choose which features to support, or they will be baked into the CPU type anyway.
So yes, if the CPU contains hardware floating point support, your kernel will be hard float.
However, the kernel <-> userland syscall ABI is divorced from the userland ABI which is why you can run the soft float userland on a hard float kernel.
Quote:
Originally Posted by andrixnet
Examples: image processing (imagemagic, jpeg, etc), video processing (ffmpeg, etc), mysql (if using FLOAT columns), ... (the list is open)
I assume things like "ls" won't really need the upgrade.
|
Someone recompiled the most significant packages and documented here:
http://mindplusplus.wordpress.com/20...-raspberry-pi/
Last edited by drmozes; 02-20-2014 at 12:17 PM.
|
|
|
05-04-2014, 01:35 AM
|
#3
|
Member
Registered: May 2014
Location: germany
Distribution: slackware x86_64 , arm , slackware , AlmaLinux
Posts: 83
Rep: 
|
i think i have heard of - the kernel never ever use any floating point ...
|
|
|
06-23-2014, 05:06 PM
|
#4
|
Member
Registered: Jun 2014
Distribution: Slackware
Posts: 504
Rep: 
|
drmozes, that someone was me.  I rebuild Glibc using "-mfloat-abi=softfp" every time Slackware ARM gets a new version. If nothing else, it relieves some of the memory pressure on my first-edition RPi.
|
|
1 members found this post helpful.
|
09-29-2014, 10:13 PM
|
#5
|
Member
Registered: Oct 2010
Location: Brazil, SP - Cosmópolis
Distribution: Slackware
Posts: 171
Rep:
|
Quote:
Originally Posted by gus3
drmozes, that someone was me.  I rebuild Glibc using "-mfloat-abi=softfp" every time Slackware ARM gets a new version. If nothing else, it relieves some of the memory pressure on my first-edition RPi.
|
I am doing your guide right now gus3, but i need t add three more lines to grab kernel-headers sources:
Code:
mkdir -p slackware{64,arm}-current/source/d/kernel-headers/
rsync -aP rsync://ftp.slackware.com/slackware/slackware64-current/source/d/kernel-headers/ slackware64-current/source/d/kernel-headers/
rsync -aP rsync://ftp.slackware.org.uk/slackwarearm/slackwarearm-current/source/d/kernel-headers/ slackwarearm-current/source/d/kernel-headers/
I will update here when the builds ends.
|
|
|
09-30-2014, 02:38 AM
|
#6
|
Slackware Contributor
Registered: Apr 2008
Distribution: Slackware
Posts: 1,624
|
Quote:
Originally Posted by frushiyama
I am doing your guide right now gus3, but i need t add three more lines to grab kernel-headers sources:
Code:
mkdir -p slackware{64,arm}-current/source/d/kernel-headers/
rsync -aP rsync://ftp.slackware.com/slackware/slackware64-current/source/d/kernel-headers/ slackware64-current/source/d/kernel-headers/
rsync -aP rsync://ftp.slackware.org.uk/slackwarearm/slackwarearm-current/source/d/kernel-headers/ slackwarearm-current/source/d/kernel-headers/
I will update here when the builds ends.
|
You don't need anything from the Slackware64 tree because the slack-desc is in the ARM tree. It's a rarity, but it's there. Probably because originally the description used to be ARM specific.
|
|
|
09-30-2014, 07:31 PM
|
#7
|
Member
Registered: Oct 2010
Location: Brazil, SP - Cosmópolis
Distribution: Slackware
Posts: 171
Rep:
|
Build fails:
Code:
Creating Slackware package: /root/tgzstash/l/glibc-2.19-arm-3.txz
/sbin/makepkg: line 308: /root/tgzstash/l/glibc-2.19-arm-3.txz: No such file or directory
./
install/
install/doinst.sh
install/slack-desc
ERROR: xz returned error code 1 -- makepkg failed.
Slackware package /root/tgzstash/l/glibc-2.19-arm-3.txz created.
Full log here: https://drive.google.com/file/d/0Bzl...it?usp=sharing
|
|
|
10-01-2014, 04:44 AM
|
#8
|
Slackware Contributor
Registered: Apr 2008
Distribution: Slackware
Posts: 1,624
|
Quote:
Originally Posted by frushiyama
Build fails:
Code:
Creating Slackware package: /root/tgzstash/l/glibc-2.19-arm-3.txz
/sbin/makepkg: line 308: /root/tgzstash/l/glibc-2.19-arm-3.txz: No such file or directory
./
install/
install/doinst.sh
install/slack-desc
ERROR: xz returned error code 1 -- makepkg failed.
Slackware package /root/tgzstash/l/glibc-2.19-arm-3.txz created.
Full log here: https://drive.google.com/file/d/0Bzl...it?usp=sharing
|
Did you make the target directory?
mkdir -p /root/tgzstash/l
|
|
|
10-01-2014, 12:08 PM
|
#9
|
Member
Registered: Oct 2010
Location: Brazil, SP - Cosmópolis
Distribution: Slackware
Posts: 171
Rep:
|
Quote:
Originally Posted by drmozes
Did you make the target directory?
mkdir -p /root/tgzstash/l
|
Yes it was missing the l and d folders too. The packages were built fine and the installation and reboot occurred without problems.
It need more tests but i will do later.
Last edited by frushiyama; 10-01-2014 at 12:21 PM.
|
|
|
10-01-2014, 12:51 PM
|
#10
|
Member
Registered: Jun 2014
Distribution: Slackware
Posts: 504
Rep: 
|
I will look into this. My instructions may be incomplete regarding the tgzstash/ directory.
|
|
|
10-02-2014, 05:28 PM
|
#11
|
Member
Registered: Oct 2010
Location: Brazil, SP - Cosmópolis
Distribution: Slackware
Posts: 171
Rep:
|
I had an ABI version error when tried to startx:
Code:
francis@rpi:~$ startx
xauth: file /home/francis/.serverauth.676 does not exist
X.Org X Server 1.15.2
Release Date: 2014-06-27
X Protocol Version 11, Revision 0
Build Operating System: Slackware 14.2 Slackware Linux Project
Current Operating System: Linux rpi 3.12.29+ #714 PREEMPT Wed Oct 1 23:11:38 BST 2014 armv6l
Kernel command line: dma.dmachans=0x7f35 bcm2708_fb.fbwidth=1814 bcm2708_fb.fbheight=974 bcm2708.boardrev=0xe bcm2708.serial=0xb93539c5 smsc95xx.macaddr=B8:27:EB:35:39:C5 sdhci-bcm2708.emmc_clock_freq=250000000 vc_mem.mem_base=0x1ec00000 vc_mem.mem_size=0x20000000 dwc_otg.lpm_enable=0 console=tty1 nofont root=/dev/sda1 rootfstype=ext4 rootwait ro
Build Date: 03 September 2014 06:25:25PM
Current version of pixman: 0.30.0
Before reporting problems, check http://wiki.x.org
to make sure that you have the latest version.
Markers: (--) probed, (**) from config file, (==) default setting,
(++) from command line, (!!) notice, (II) informational,
(WW) warning, (EE) error, (NI) not implemented, (??) unknown.
(==) Log file: "/var/log/Xorg.0.log", Time: Thu Oct 2 18:25:38 2014
(==) Using system config directory "/usr/share/X11/xorg.conf.d"
Initializing built-in extension Generic Event Extension
Initializing built-in extension SHAPE
Initializing built-in extension MIT-SHM
Initializing built-in extension XInputExtension
Initializing built-in extension XTEST
Initializing built-in extension BIG-REQUESTS
Initializing built-in extension SYNC
Initializing built-in extension XKEYBOARD
Initializing built-in extension XC-MISC
Initializing built-in extension XINERAMA
Initializing built-in extension XFIXES
Initializing built-in extension RENDER
Initializing built-in extension RANDR
Initializing built-in extension COMPOSITE
Initializing built-in extension DAMAGE
Initializing built-in extension MIT-SCREEN-SAVER
Initializing built-in extension DOUBLE-BUFFER
Initializing built-in extension RECORD
Initializing built-in extension DPMS
Initializing built-in extension Present
Initializing built-in extension DRI3
Initializing built-in extension X-Resource
Initializing built-in extension XVideo
Initializing built-in extension XVideo-MotionCompensation
Initializing built-in extension XFree86-VidModeExtension
Initializing built-in extension XFree86-DGA
Initializing built-in extension XFree86-DRI
Initializing built-in extension DRI2
Loading extension GLX
(EE) module ABI major version (14) doesn't match the server's version (15)
(EE) module ABI major version (14) doesn't match the server's version (15)
(EE)
Fatal server error:
(EE) no screens found(EE)
(EE)
Please consult the The X.Org Foundation support
at http://wiki.x.org
for help.
(EE) Please also check the log file at "/var/log/Xorg.0.log" for additional information.
(EE)
(EE) Server terminated with error (1). Closing log file.
xinit: giving up
xinit: unable to connect to X server: Connection refused
xinit: server error
I supose that i have to recompile all X series to make it work right?
|
|
|
10-02-2014, 06:21 PM
|
#12
|
Member
Registered: Jun 2014
Distribution: Slackware
Posts: 504
Rep: 
|
Thanks to frushiyama for the package build bug report, and drmozes for recognizing the culprit. Yes, the a/ and l/ directories must be present under tgzstash/. I have fixed the build instructions.
frushiyama, I will look into the X problem.
|
|
1 members found this post helpful.
|
10-03-2014, 02:18 PM
|
#13
|
Member
Registered: Jun 2014
Distribution: Slackware
Posts: 504
Rep: 
|
Problem confirmed. To make matters worse, reverting to glibc from -current didn't fix. However, I suspect an issue with the X server packages, as I've seen this before. Again, I'll look into it.
(And apologies for the long delay. I don't have Internet access at home.)
|
|
|
10-04-2014, 09:23 AM
|
#14
|
Slackware Contributor
Registered: Apr 2008
Distribution: Slackware
Posts: 1,624
|
Quote:
Originally Posted by frushiyama
I had an ABI version error when tried to startx:[code]francis@rpi:~$ startx
xauth: file /home/francis/.serverauth.676 does not exist
I supose that i have to recompile all X series to make it work right?
|
Today's updates in -current should address that, assuming that you're using the same modules as I've recompiled.
If the problem continues, look in the Xorg log to see which modules are being loaded and reply here.
|
|
1 members found this post helpful.
|
10-05-2014, 06:37 PM
|
#15
|
Member
Registered: Oct 2010
Location: Brazil, SP - Cosmópolis
Distribution: Slackware
Posts: 171
Rep:
|
Quote:
Originally Posted by gus3
Problem confirmed. To make matters worse, reverting to glibc from -current didn't fix. However, I suspect an issue with the X server packages, as I've seen this before. Again, I'll look into it.
(And apologies for the long delay. I don't have Internet access at home.)
|
gus3 please consider review on some typos on your guide:
Code:
echo "CFLAGS = -O2 -mfloat-abi=softfp -march=native -mtune=native" > /root/configparms
should be
Code:
echo "CFLAGS = -O2 -mfloat-abi=softfp -march=native -mtune=native" > /root/configparms
Building now with Sat Oct 4 updates
|
|
|
All times are GMT -5. The time now is 05:21 AM.
|
LinuxQuestions.org is looking for people interested in writing
Editorials, Articles, Reviews, and more. If you'd like to contribute
content, let us know.
|
Latest Threads
LQ News
|
|