Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Updates to PKGBUILD for your consideration #456

Closed
wants to merge 1 commit into from
Closed

Updates to PKGBUILD for your consideration #456

wants to merge 1 commit into from

Conversation

graysky2
Copy link
Member

@graysky2 graysky2 commented Apr 9, 2013

...0).

Removed unneeded deps (only need for building docs pacakge).
Added prepare function for patching (new in pacman 4.1).
Switched the git pull to a static zip file.

…4600).

Removed unneeded deps (only need for building docs pacakge).
Added prepare function for patching (new in pacman 4.1).
Switched the git pull to a static zip file.
@graysky2
Copy link
Member Author

graysky2 commented Apr 9, 2013

The zip file download is the way to go IMO. I actually requested a more formal versioning in upstream; we'll see what they think about it: raspberrypi/linux#262

@kmihelich
Copy link
Member

What is inetutils needed for as a makedepend?

@kmihelich
Copy link
Member

Interesting, good to know.

Also, have you built the package with these changes?

@graysky2
Copy link
Member Author

Building now... 3+ hours and counting even with distccd...

Have any of your devs gotten the Custom-built Linaro GCC to work under Arch? I currently cannot get the binutils package to compile:

https://aur.archlinux.org/packages/arm-linux-gnueabi-gcc/
https://aur.archlinux.org/packages/arm-linux-gnueabi-binutils/
https://aur.archlinux.org/packages/arm-linux-gnueabi-eglibc/

@kmihelich
Copy link
Member

No, we use ct-ng.

@WarheadsSE
Copy link
Contributor

Why would you use those?
On Apr 9, 2013 9:56 PM, "graysky" notifications@github.com wrote:

Building now... 3+ hours and counting even with distccd...

Have any of your devs gotten the Custom-built Linaro GCChttp://elinux.org/RPi_Kernel_Compilation#Cross_compiling_from_Linuxto work under Arch? I currently cannot get the binutils package to compile:

https://aur.archlinux.org/packages/arm-linux-gnueabi-gcc/
https://aur.archlinux.org/packages/arm-linux-gnueabi-binutils/
https://aur.archlinux.org/packages/arm-linux-gnueabi-eglibc/


Reply to this email directly or view it on GitHubhttps://github.com//pull/456#issuecomment-16151231
.

@graysky2
Copy link
Member Author

OK... I too am using ct-ng, with your toolchains but even with a pretty quick x86_64 client (i7-3770K @ 4.50 GHz), allowing the pi as the master to drive the compilation is very time consuming :/

@kmihelich
Copy link
Member

That's why there are no Pi's in our build farm ;)

@graysky2
Copy link
Member Author

Ha! So how long does kernel compilation take for you guys?

@kmihelich
Copy link
Member

45 minutes or so.

@graysky2
Copy link
Member Author

45 min?! What am I doing wrong? Please review the post I referenced. I can tell you that I am seeing build jobs in my client's distccd.log but by no means is it smoking fast... it's been going since 6:45 PM (3h 20m) and still not finished.

Relevant section of pi's /etc/makepkg.conf

MAKEFLAGS="-j6"
BUILDENV=(fakeroot distcc color !ccache check !sign)
DISTCC_HOSTS="10.20.40.101/8"

@kmihelich
Copy link
Member

  1. Most obvious, you're not using quad-core armv7 boards hooked up to SSDs. You're using a rather lackluster mobile phone processor from the last decade.
  2. -j9 is way too high for a Pi. Preprocessing and linking still takes place on the master, and on ARM you really want to stick with the "cores+1" idea, which is -j2 for you.
  3. If you're building on an SD card, none of that even matters. You need to get a fast drive hooked up on USB and boot/build off of that.

@graysky2
Copy link
Member Author

OK... so you guys have more powerful ARM boards... I assumed you were using the RPi too :p

I would recommend compiling to tmpfs not to physical media. I have tmpfs on my workstation exporting to /srv/nfs/scratch which is where I compile.

On workstation:

% cat /etc/exports
/srv/nfs    10.20.40.0/24(ro,fsid=0,no_subtree_check,async,insecure)
/srv/nfs/scratch    10.20.40.0/24(rw,fsid=1,no_subtree_check,async,insecure)

% df -h | grep scratch
tmpfs            14G  838M   14G   6% /scratch
tmpfs            14G  838M   14G   6% /srv/nfs/scratch

On RPi:

% df -h | grep scratch
ease:/scratch    14G  837M   14G   6% /scratch

@kmihelich
Copy link
Member

tmpfs on the devices is wasting RAM that generally needs to be used in building, and with SSDs the iowait is zero 99% of the time. And I'm way ahead of you with using it on the machine running ct-ng.

@graysky2
Copy link
Member Author

Generally, yes. My workstation is 24 G of RAM... I allocate 14 G of it to tmpfs for scratch space so I'm in no danger of running out of memory :p

Anyway, when you said, "And I'm way ahead of you with using it on the machine running ct-ng." Does that mean your are compiling with my pull request to verify that it works? I suspect you will finish hours before I do :)

@kmihelich
Copy link
Member

I meant that I've been using tmpfs for ct-ng compiles from near the beginning.. years ago.

I don't compile pull requests, that's what the submitter is supposed to do before submitting.

@graysky2
Copy link
Member Author

Gotcha. The reason I didn't test compile it is that I modeled this after my own linux-ck PKGBUILD and against this bug report to the Arch package. If it doesn't compile what whatever reason, it is likely not due to the minor changes of the prepare function.

@graysky2
Copy link
Member Author

...which quad-core armv7 board are you using and would you recommend it or another model? I see several from which to choose.

@kmihelich
Copy link
Member

Both the Nitrogen6X/Sabre Lite and Odroid-X2/U2 are excellent.. both have a few pros and cons over each other so they about even out. The Exynos chips are faster though, and having 2GB of RAM isn't matched anywhere else.

@graysky2
Copy link
Member Author

Cool. The ODROID-X2 looks really tempting.

@graysky2
Copy link
Member Author

Man, that took a long time but I can confirm that it builds successfully and reboots into a functional system.

makepkg -s  8096.82s user 2770.71s system 86% cpu 3:28:20.81 total
<<< reboot >>>

% dmesg | grep BFS
[    3.330633] BFS CPU scheduler v0.425 by Con Kolivas.

If you wish to have a copy of the packages:
http://repo-ck.com/armv6h/

@kmihelich
Copy link
Member

This pull request will need to be refactored for changes due to reversion, it cannot be automatically merged at this point.

@graysky2
Copy link
Member Author

You can probably reconstruct this in 10 sec.

@kmihelich kmihelich closed this Apr 16, 2013
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants