LinuxQuestions.org
View the Most Wanted LQ Wiki articles.
Go Back   LinuxQuestions.org > Forums > Linux Forums > Linux - Distributions > Slackware > Slackware - ARM
User Name
Password
Slackware - ARM This forum is for the discussion of Slackware ARM.

Notices

Reply
 
Search this Thread
Old 11-22-2013, 03:58 PM   #1
spudgunner
Member
 
Registered: Dec 2009
Distribution: Slackware
Posts: 227

Rep: Reputation: 18
I'm getting started on bringing Slackware to the BeagleBone Black...


I've recently re-installed Slackware on my desktop after spending some time with Arch Linux, and (as the title says), I'd like to replace Arch with Slackware on my BeagleBone Black. I've been doing some reading and I think this task may be a little over my head but I'm going to try it anyways. So here it goes...

First off, compiling a kernel. Since I already have Arch on the BBB and from my reading, it's a better idea to compile natively than cross-compile, I would assume it'd be a good idea to build my Slackware kernel. I know it'll take a while to complete but time isn't really a huge concern to me right now... So is there anything I should be aware of when attempting this, especially since Arch Linux is more up-to-date than the Slackware 14.1 kernel?

Thanks.
 
Old 11-22-2013, 05:14 PM   #2
drmozes
Slackware Contributor
 
Registered: Apr 2008
Location: Surrey, England
Distribution: Slackware
Posts: 138

Rep: Reputation: 114Reputation: 114
Quote:
Originally Posted by spudgunner View Post
First off, compiling a kernel. Since I already have Arch on the BBB and from my reading, it's a better idea to compile natively than cross-compile,
It's usually irrelevant where the kernel's concerned since it's not linking against anything in the OS. All of Slack ARM is built natively but that's because it's easier.

Quote:
Originally Posted by spudgunner View Post
So is there anything I should be aware of when attempting this, especially since Arch Linux is more up-to-date than the Slackware 14.1 kernel?
I can't see what kernel Arch are using for this device's support. If there are additional patches required to fully support it, you would need to track those down.

You could probably work off the Linux 3.10.17 armv7 kernel config - 'CONFIG_SOC_AM33XX=y' is already set in that kernel: isn't this the CPU type in the Beaglebone black? There will be no doubt other requirements for it, but it'd probably be easier to start from here.

Linux 3.12.1 kernels for -current are currently building. Once I upload them, you can look at the config for the armv7 kernel: if there are any additional modules or support required for the Beaglebone, let me know and I'll see if I can add them to that kernel - as that's the purpose of it: a generic kernel for armv7 devices. Not all devices are able to be supported by a single kernel at the moment, but that's the goal with flattened device tree. It looks as if I'll need to make a new 'EXYNOS' kernel for my Chromebook 2012 as it can't be supported in the generic armv7 kernel yet.
 
Old 11-23-2013, 04:27 PM   #3
turtleli
Member
 
Registered: Aug 2012
Location: UK
Distribution: Slackware 14.1
Posts: 129

Rep: Reputation: Disabled
This reminds me that I have yet to put my BeagleBone Black to good use. I'm still on a borrowed Arch kernel (3.12.0-rc7) for now, but I'm now setting up Slackware ARM 14.1 on it. I'll probably compile a kernel when I have time. Kernel patches are located at https://github.com/beagleboard/kernel (there's a few different versions), pre-built firmware is located at http://arago-project.org/git/project...cm3.git;a=tree at bin/am335x-pm-firmware.bin.

I more or less followed the Arch Linux BeagleBone Black instructions. I modified the uEnv.txt in the bootloader files to initially mount read only instead of read/write (there are two 'rw' which I changed to 'ro'). I took the kernel, kernel modules and device tree files from the Arch Linux rootfs and placed them on the SD card along with the Slackware ARM mini rootfs. I added to the fstab:
Code:
/dev/mmcblk0p2	/	ext4	defaults,noatime	0	1
That basically gets you booting Slackware off the SD card (if I've not forgotten any steps).

I'm booting off the eMMC (err.. Arch Linux instructions again), but I have /usr, /var, /tmp and /home on a USB HDD drive since the eMMC is only 2GB large. I encountered a problem with a separate /usr partition since libgcc_s.so was in /usr/lib in the rootfs and stuff seemed to be depending on it, so I just copied that to /lib and all was well again.
 
Old 11-25-2013, 07:28 AM   #4
spudgunner
Member
 
Registered: Dec 2009
Distribution: Slackware
Posts: 227

Original Poster
Rep: Reputation: 18
Quote:
Originally Posted by drmozes View Post
It's usually irrelevant where the kernel's concerned since it's not linking against anything in the OS. All of Slack ARM is built natively but that's because it's easier.
Ah, good to know, it'll be much faster to build a kernel on my desktop than on the BBB.

Quote:
Originally Posted by drmozes View Post
I can't see what kernel Arch are using for this device's support. If there are additional patches required to fully support it, you would need to track those down.
As of today, I'm seeing that Arch is using 3.12.0, although I don't know of any patches that are being applied, so I'll have to check that out.

Quote:
Originally Posted by drmozes View Post
You could probably work off the Linux 3.10.17 armv7 kernel config - 'CONFIG_SOC_AM33XX=y' is already set in that kernel: isn't this the CPU type in the Beaglebone black? There will be no doubt other requirements for it, but it'd probably be easier to start from here.
I did a quick cat /proc/cpuinfo on Arch and it does should ARMv7 (as expected) and also states that the hardware is "Generic AM33XX (Flattned Device Tree)" so I'm thinking those options should work.

Finally, I should be able to use the ARMv7 packages from any of the ARMv7 devices, right?

@turtleli: That's good info to know. By the looks of it, I'll be using 3.12 kernel since that what the first patch seems to be for. Good thing drmozes is building it.

I'm pretty noobish but I would like to get this off the ground, so if you guys can lead me in baby steps when need be, I should be pretty useful for testing and what not. All the help so far has pointed me in the right direction.

EDIT: So I've done some quick looking and I've managed to locate the some of the build stuff for the Arch Linux ARM kernel for the BeagleBone and BBB. Kernel config is here and the Arch Linux PKGBUILD is here. It looks like they apply a couple of patches to their kernel, but I don't think any of them are Arch Linux specific. Drmozes, let me know where your 3.12 kernel config is and I'll sort through it compared to the Arch one, unless you get to it before I do.

Last edited by spudgunner; 11-25-2013 at 07:58 AM.
 
Old 11-25-2013, 10:50 AM   #5
drmozes
Slackware Contributor
 
Registered: Apr 2008
Location: Surrey, England
Distribution: Slackware
Posts: 138

Rep: Reputation: 114Reputation: 114
Quote:
Originally Posted by spudgunner View Post
Finally, I should be able to use the ARMv7 packages from any of the ARMv7 devices, right?
The packages are built for ARMv5te machines, so will run on armv7.
The ARMv7 kernel package is to provide support for machines with an ARMv7 CPU. It's similar- although not the same- as if you were to provide i486 packages with an i686 kernel.

Quote:
Originally Posted by spudgunner View Post
but I don't think any of them are Arch Linux specific. Drmozes, let me know where your 3.12 kernel config is and I'll sort through it compared to the Arch one, unless you get to it before I do.
This is the current config I have for armv7 but it's not likely to be the final version, since I'm currently migrating the QEMU support into the ARMv7 generic kernel.

http://armed.slackware.com/misc/config-armv7
 
Old 11-26-2013, 07:06 AM   #6
spudgunner
Member
 
Registered: Dec 2009
Distribution: Slackware
Posts: 227

Original Poster
Rep: Reputation: 18
Quote:
Originally Posted by drmozes View Post
The packages are built for ARMv5te machines, so will run on armv7.
The ARMv7 kernel package is to provide support for machines with an ARMv7 CPU. It's similar- although not the same- as if you were to provide i486 packages with an i686 kernel.
Ah I see, I was hoping that some of the ARMv7 platforms had native ARMv7 packages built for them and I could use those, but using ARMv5te works all the same (I'd just prefer ARMv7 packages, ya know? Maybe I'll try to build some once I get Slackware running on the BBB).

When I get a chance, I go through the config and see what's different.
 
  


Reply


Thread Tools Search this Thread
Search this Thread:

Advanced Search

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is Off
HTML code is Off


Similar Threads
Thread Thread Starter Forum Replies Last Post
beaglebone black running ubuntu. nixdunce Ubuntu 1 07-22-2013 09:20 PM
LXer: Review: Beagleboard Beaglebone Black LXer Syndicated Linux News 0 06-13-2013 05:11 PM
Beaglebone Black devwatchdog Linux - Embedded & Single-board computer 2 06-08-2013 10:50 PM
LXer: BeagleBone Black Review LXer Syndicated Linux News 0 05-29-2013 05:41 PM


All times are GMT -5. The time now is 12:34 PM.

Main Menu
My LQ
Write for LQ
LinuxQuestions.org is looking for people interested in writing Editorials, Articles, Reviews, and more. If you'd like to contribute content, let us know.
Main Menu
Syndicate
RSS1  Latest Threads
RSS1  LQ News
Twitter: @linuxquestions
identi.ca: @linuxquestions
Facebook: linuxquestions Google+: linuxquestions
Open Source Consulting | Domain Registration