LinuxQuestions.org

LinuxQuestions.org (/questions/)
-   Slackware - ARM (https://www.linuxquestions.org/questions/slackware-arm-108/)
-   -   Slackware on a pinebook pro (https://www.linuxquestions.org/questions/slackware-arm-108/slackware-on-a-pinebook-pro-4175662227/)

ziprun 10-08-2019 02:17 PM

Slackware on a pinebook pro
 
Greetings. Has anyone experience with getting slackware to work with the ARM powered pinebook pro now that it's been out for a while?

sndwvs 10-09-2019 12:45 PM

take the kernel from ayufan, everything else as always

wowbaggerHU 02-06-2020 09:57 AM

bringing this thread to the top again
 
Hello,

I too recently got my hands on a Pinebook Pro, and would like to install Slackware on it.
Given that there is no official aarch64 Slackware port, I am faced with a dilemma.
Should I use slarm64 or try using Sarpi64 somehow?
In the meantime I also found the thread https://forum.pine64.org/showthread....8207&pid=52624 where the Pine64 people linked an up-to-date kernel source tree with all the necessary patches for the Pinebook pro. I believe that compiling that kernel with the manjaro kernel config could get me a kernel that could work reasonably well with the Pinebook Pro.

I just need to do a bit more reseaerch on how to create an installer image with this kernel to set Slackware up, whichever of the two userlands I choose.
I may be wrong though, it may turn out that the Sarpi64 userland won't work on the PbP.

Has anyone tried something similar?

Thanks,
János

sndwvs 02-06-2020 02:13 PM

for information added support laptop pinebook pro

wowbaggerHU 02-07-2020 05:13 AM

Thanks for the link. May I ask a few questions?
Unfortunately the README files are pretty vague for both slarm64 and the slackware_arm_build_kit.
Do I understand correctly that the build kit is there to create the installer image for a wide range of devices.
Once git cloned, what scripts are necessary to build the image, and in which order are they supposed to be run?
I further have the impression that the installers built this way can use the package repositories of slarm64. Am I correct with this assumption?

aaditya 02-07-2020 11:26 AM

Quote:

Originally Posted by wowbaggerHU (Post 6087167)
Thanks for the link. May I ask a few questions?
Unfortunately the README files are pretty vague for both slarm64 and the slackware_arm_build_kit.
Do I understand correctly that the build kit is there to create the installer image for a wide range of devices.
Once git cloned, what scripts are necessary to build the image, and in which order are they supposed to be run?
I further have the impression that the installers built this way can use the package repositories of slarm64. Am I correct with this assumption?

Hi,

I can speak as a user.

slackware_arm_build_kit is used to create images as well as build the kernel and some tools.

Once cloned, try
Code:

./build.sh
This launches a dialog based installer script.

Yes, the created images use the package repository for slarm64.

sndwvs 02-07-2020 11:28 AM

Quote:

Originally Posted by wowbaggerHU (Post 6087167)
Thanks for the link. May I ask a few questions?
Unfortunately the README files are pretty vague for both slarm64 and the slackware_arm_build_kit.
Do I understand correctly that the build kit is there to create the installer image for a wide range of devices.
Once git cloned, what scripts are necessary to build the image, and in which order are they supposed to be run?
I further have the impression that the installers built this way can use the package repositories of slarm64. Am I correct with this assumption?

yes that's right, slackware_arm_build_kit is an assembly kit for creating the final image for different boards.
slackwarearm or slarm64 is selected depending on the SoC architecture.
main startup script ./build.sh, in it all scripts are executed sequentially.

sndwvs 02-07-2020 04:00 PM

i’ll create a basic image for testing, please check for operability

wowbaggerHU 02-08-2020 02:45 PM

Quote:

Originally Posted by sndwvs (Post 6087412)
i’ll create a basic image for testing, please check for operability

Okay, I will test the installer, and will report back to you. (It may take a few days.)

In the meantime I tried building the installer myself, but unfortunately it failed.
I installed a machine with slackware64-current to build the images on. Do I need any other preparations, like downloading/installing/compiling the cross compilation toolchain?
I'm just asking because I got an error message like this, and this leads me to believe that I need to get the toolchain too:

Code:

...
#
# configuration written to .config
#
scripts/kconfig/conf  --silentoldconfig Kconfig
  CHK    include/config.h
  UPD    include/config.h
  CFG    u-boot.cfg
  GEN    include/autoconf.mk.dep
  CFG    spl/u-boot.cfg
cc1: error: unknown register name: x18 [-Werror]
cc1: error: unknown register name: x18 [-Werror]
cc1: error: unknown register name: x18 [-Werror]
cc1: all warnings being treated as errors
cc1: all warnings being treated as errors
make[1]: *** [scripts/Makefile.autoconf:50: include/autoconf.mk.dep] Error 1
make[1]: *** Waiting for unfinished jobs....
make[1]: *** [scripts/Makefile.autoconf:83: spl/u-boot.cfg] Error 1
cc1: all warnings being treated as errors
make[1]: *** [scripts/Makefile.autoconf:79: u-boot.cfg] Error 1
make: *** No rule to make target 'include/config/auto.conf', needed by 'include/config/uboot.release'.  Stop.


sndwvs 02-08-2020 03:36 PM

if we talk about slackware_arm_build_kit then everything automatically downloads there.
i will make a reservation that I have not tested x86 on a PC for a long time.
if at all you need a cross compiler gcc-arm-9.2-2019.12-x86_64-aarch64-none-linux-gnu.tar.xz more
make ARCH=$ARCH CROSS_COMPILE=$CROSS

wowbaggerHU 02-09-2020 02:53 PM

Okay, I downloaded the compiler you recommended, however I don't completely understand the last part of your reply

Quote:

Originally Posted by sndwvs (Post 6087751)
make ARCH=$ARCH CROSS_COMPILE=$CROSS

Where am I supposed to put this? Should I modify one of your scripts to "make" (build) the packages differently (that is cross-compile them)?

Also, I found this article about building one's own toolchain for cross compilation: https://docs.slackware.com/howtos:ha...cross-compiler
Maybe I can use this as a plan B, instead of the "official" compiler, if I encounter any problems that I can't overcome with that.

sndwvs 02-09-2020 03:01 PM

Quote:

Originally Posted by wowbaggerHU (Post 6088122)
Okay, I downloaded the compiler you recommended, however I don't completely understand the last part of your reply



Where am I supposed to put this? Should I modify one of your scripts to "make" (build) the packages differently (that is cross-compile them)?

Also, I found this article about building one's own toolchain for cross compilation: https://docs.slackware.com/howtos:ha...cross-compiler
Maybe I can use this as a plan B, instead of the "official" compiler, if I encounter any problems that I can't overcome with that.

Cross compiler reference for plan B
slackware_arm_build_kit he downloads everything

wowbaggerHU 02-12-2020 07:29 AM

There have been some developments since my last reply.

(-I managed to compile an aarch64 cross-compilation toolchain on my own.)

I tried setting the environment variables ARCH and CROSS_COMPILE

On my x86_64 based build VM, I set these to:

Code:

export ARCH=aarch64
export CROSS=aarch64-linux-

The build script will try to download a set of cross-compiling toolchains, but the compilation fails with u-boot, right at the beginning:

Code:

|info| add          configuration file 00-environment.conf
|info| add          configuration file build-packages.conf
|info| add          configuration file pinebook_pro.conf
|info| add          configuration file rk3399.conf
|info| download    gcc-linaro-7.2.1-2017.11-x86_64_arm-linux-gnueabihf
|info| extract      gcc-linaro-7.2.1-2017.11-x86_64_arm-linux-gnueabihf
|info| download    gcc-linaro-7.2.1-2017.11-x86_64_aarch64-linux-gnu
|info| extract      gcc-linaro-7.2.1-2017.11-x86_64_aarch64-linux-gnu
|info| download    gcc-linaro-5.5.0-2017.10-x86_64_arm-linux-gnueabihf
|info| extract      gcc-linaro-5.5.0-2017.10-x86_64_arm-linux-gnueabihf
|info| download    gcc-linaro-5.5.0-2017.10-x86_64_aarch64-linux-gnu
|info| extract      gcc-linaro-5.5.0-2017.10-x86_64_aarch64-linux-gnu
|info| download    u-boot-pinebook_pro
...

The end of the build log looks like this:

Code:

#
# configuration written to .config
#
scripts/kconfig/conf  --silentoldconfig Kconfig
  CHK    include/config.h
  UPD    include/config.h
  CFG    u-boot.cfg
  GEN    include/autoconf.mk.dep
  CFG    spl/u-boot.cfg
cc1: error: unknown register name: x18 [-Werror]
cc1: error: unknown register name: x18 [-Werror]
cc1: error: unknown register name: x18 [-Werror]
cc1: all warnings being treated as errors
make[1]: *** [scripts/Makefile.autoconf:83: spl/u-boot.cfg] Error 1
make[1]: *** Waiting for unfinished jobs....
cc1: all warnings being treated as errors
cc1: all warnings being treated as errors
make[1]: *** [scripts/Makefile.autoconf:79: u-boot.cfg] Error 1
make[1]: *** [scripts/Makefile.autoconf:50: include/autoconf.mk.dep] Error 1
make: *** No rule to make target 'include/config/auto.conf', needed by 'include/config/uboot.release'.  Stop.


I also tried compiling the installer image on the Debian 9.12 that comes pre-installed on the Pinebook Pro.
This OS has an aarch64 kernel, while the userland seems to consist of regular 32 bit ARM hard-float binaries.
For this reason the build script also fails when I attempt to run it without CROSS and ARCH set.
The error messages in the build log were pretty similar to the ones on the x86_64 machine, they were complaining about the unknown register name x18. The build also failed when compiling u-boot.

After that I tried setting

Code:

export ARCH=aarch64
export CROSS=aarch64-linux

on the Pinebook Pro, but then the build script failed when downloading the cross compilation toolchain, due to a HTTP 404 error:

Code:

https://releases.linaro.org/components/toolchain/binaries/7.2-2017.11/arm-linux-gnueabihf/gcc-linaro-7.2.1-2017.11-aarch64_arm-linux-gnueabihf.tar.xz.asc: 404 Not Found.
So, now I'm kind of stuck again.

sndwvs 02-13-2020 10:08 AM

Quote:

Originally Posted by wowbaggerHU (Post 6089078)
There have been some developments since my last reply.

(-I managed to compile an aarch64 cross-compilation toolchain on my own.)

I tried setting the environment variables ARCH and CROSS_COMPILE

On my x86_64 based build VM, I set these to:

Code:

export ARCH=aarch64
export CROSS=aarch64-linux-

The build script will try to download a set of cross-compiling toolchains, but the compilation fails with u-boot, right at the beginning:

Code:

|info| add          configuration file 00-environment.conf
|info| add          configuration file build-packages.conf
|info| add          configuration file pinebook_pro.conf
|info| add          configuration file rk3399.conf
|info| download    gcc-linaro-7.2.1-2017.11-x86_64_arm-linux-gnueabihf
|info| extract      gcc-linaro-7.2.1-2017.11-x86_64_arm-linux-gnueabihf
|info| download    gcc-linaro-7.2.1-2017.11-x86_64_aarch64-linux-gnu
|info| extract      gcc-linaro-7.2.1-2017.11-x86_64_aarch64-linux-gnu
|info| download    gcc-linaro-5.5.0-2017.10-x86_64_arm-linux-gnueabihf
|info| extract      gcc-linaro-5.5.0-2017.10-x86_64_arm-linux-gnueabihf
|info| download    gcc-linaro-5.5.0-2017.10-x86_64_aarch64-linux-gnu
|info| extract      gcc-linaro-5.5.0-2017.10-x86_64_aarch64-linux-gnu
|info| download    u-boot-pinebook_pro
...

The end of the build log looks like this:

Code:

#
# configuration written to .config
#
scripts/kconfig/conf  --silentoldconfig Kconfig
  CHK    include/config.h
  UPD    include/config.h
  CFG    u-boot.cfg
  GEN    include/autoconf.mk.dep
  CFG    spl/u-boot.cfg
cc1: error: unknown register name: x18 [-Werror]
cc1: error: unknown register name: x18 [-Werror]
cc1: error: unknown register name: x18 [-Werror]
cc1: all warnings being treated as errors
make[1]: *** [scripts/Makefile.autoconf:83: spl/u-boot.cfg] Error 1
make[1]: *** Waiting for unfinished jobs....
cc1: all warnings being treated as errors
cc1: all warnings being treated as errors
make[1]: *** [scripts/Makefile.autoconf:79: u-boot.cfg] Error 1
make[1]: *** [scripts/Makefile.autoconf:50: include/autoconf.mk.dep] Error 1
make: *** No rule to make target 'include/config/auto.conf', needed by 'include/config/uboot.release'.  Stop.


I also tried compiling the installer image on the Debian 9.12 that comes pre-installed on the Pinebook Pro.
This OS has an aarch64 kernel, while the userland seems to consist of regular 32 bit ARM hard-float binaries.
For this reason the build script also fails when I attempt to run it without CROSS and ARCH set.
The error messages in the build log were pretty similar to the ones on the x86_64 machine, they were complaining about the unknown register name x18. The build also failed when compiling u-boot.

After that I tried setting

Code:

export ARCH=aarch64
export CROSS=aarch64-linux

on the Pinebook Pro, but then the build script failed when downloading the cross compilation toolchain, due to a HTTP 404 error:

Code:

https://releases.linaro.org/components/toolchain/binaries/7.2-2017.11/arm-linux-gnueabihf/gcc-linaro-7.2.1-2017.11-aarch64_arm-linux-gnueabihf.tar.xz.asc: 404 Not Found.
So, now I'm kind of stuck again.

all variables ARCH,CROSS,CROSS64 defined in scripts

wowbaggerHU 02-13-2020 10:20 AM

Quote:

Originally Posted by sndwvs (Post 6089592)
all variables ARCH,CROSS,CROSS64 defined in scripts

Okay, understood. So what should I do? Should I go ahead and modify them in those scripts?
Or if not, then what am I supposed to do? If I don't set them anywhere, and go with the script's defaults, the compilation will simply fail at uboot.
(If I simply don't set any of these environment variables, and go with the defaults in the script, it won't even bother downloading the cross compilation toolchains.)


All times are GMT -5. The time now is 07:54 PM.