Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 13 Apr 2013 13:48:44 -0700
From:      Tim Kientzle <tim@kientzle.com>
To:        hiren panchasara <hiren.panchasara@gmail.com>
Cc:        freebsd-arm <freebsd-arm@freebsd.org>
Subject:   Re: Packages for RPi
Message-ID:  <A881CBF3-F139-423A-B1BD-2144BAAE3B31@kientzle.com>
In-Reply-To: <CALCpEUF2aM9XCw%2BKYrD2Q27TyTV88C-f-CnoFSNVzPre2NSKdQ@mail.gmail.com>
References:  <CALCpEUG9S6Hywki27tB2aTsPkkeT8B3G4VcTCorN8_tixcNwUw@mail.gmail.com> <516797EA.1080504@thieprojects.ch> <CALCpEUF2aM9XCw%2BKYrD2Q27TyTV88C-f-CnoFSNVzPre2NSKdQ@mail.gmail.com>

next in thread | previous in thread | raw e-mail | index | archive | help

On Apr 12, 2013, at 12:50 AM, hiren panchasara wrote:

> On Thu, Apr 11, 2013 at 10:13 PM, Werner Thie <werner@thieprojects.ch> =
wrote:
>>=20
>> On 4/12/13 5:31 AM, hiren panchasara wrote:
>>>=20
>>> Played with Tim's crochet scripts and generated an image last night.
>>> Works great. Thanks for all the work.
>>>=20
>>> Sorry if the following question has been answered:
>>> How do I build things/ports on the pi. I am building ports on it and
>>> boy...its slow (as expected). Is there any better way I do not know
>>> of? Cross-compiling of any sort?
>>=20
>> Hi
>>=20
>> Just doing it the slow way on the RPi itself, but the most promising
>> solution to me seems the poudriere
>>=20
>> https://fossil.etoilebsd.net/poudriere/doc/trunk/doc/index.wiki
>=20
> Alright. I am setting up poudriere right now for building arm =
packages.
> Lets see how it goes.
>=20
> Thanks for the suggestion,
> Hiren
>=20
>>=20
>> solution, which allows for maintaining the ports tree and bulk =
building
>> packages for different architectures on the host and then using =
portmaster
>> on the RPi. I'll have to dive into this shortly, because bringing up =
twisted
>> on the RPi or BeagleBone is taking almost 24 hours


Once you have built ports on one board, you can easily
make packages from them and then install those packages
directly from Crochet for future builds.  You just need a web
server that can serve static files (I run it on the same
machine I'm running crochet itself on):

1) Build the ports (I've been doing this natively).
2) Create package files:
   $ pkg create -a
3) Create a catalogue of your packages:
   $ pkg repo <dir>
4) Put the package files and catalog on a web server somewhere.

You can then use a config.sh similar to the following:

=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D
board_setup BeagleBone
option ImageSize 3950mb

customize_freebsd_partition ( ) {
    echo "Installing packages"

    # Where to download packages from:
    PACKAGESITE=3Dhttp://192.168.3.1/~tim/packages
    export PACKAGESITE

    # Upgrade 'pkg' on the build target first.
    pkg -c $1 update
    pkg -c $1 install -y pkg
    pkg -c $1 upgrade

    # Now install other packages:
    pkg -c $1 install -y emacs-nox11
}
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D

CAVEAT:  pkgng does not yet handle POST-INSTALL
scripts when doing cross-architecture installs like this.
This will cause a bunch of warnings and likely some
missing symlinks.   (There are a couple of straightforward
ways it could handle POST-INSTALL issues; just needs
someone to do the work.)

Tim




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?A881CBF3-F139-423A-B1BD-2144BAAE3B31>