{{Article summary text|A guide to getting Arch Linux to run on a sparc machine.}}

+

{{Article summary end}}

−

Below are packages that have not been added to a SPArch repository yet:

+

{{note|Currently there is no SPArch installation media so you must follow steps along the lines of [[Install from Existing Linux]]. Note also that there are not many repositories currently, and they do not have many packages.}}

If you do not mind littering your root, you can install pacman this way:

+

# cd /

+

# tar xzf /where/put/pacman-3.4.1-1-sparc64.pkg.tar.gz

+

Once you have pacman on your host system, you will need to edit pacman.conf. Tell pacman to use one of the SPArch package repositories.

+

# vim /etc/pacman.conf

+

[core]

+

Server = http://dcampbell.info/archlinux/$repo/os/$arch/

+

[extra]

+

Server = http://dcampbell.info/archlinux/$repo/os/$arch/

+

+

In order for pacman to work, you may also need to first install some other packages. In Debian testing, I had to install xz-utils and libarchive-dev. I then had to install libfetch and openssl from the SPArch repository

For this section follow the directions on [[Install_from_Existing_Linux]].

+

+

== Building a bootable base system ==

+

Since packages are missing from the SPArch repository, you will have to build some yourself to get a working system. To do this, you will want to either install abs into your chroot or on your host (depending on whether your chroot has enough to compile what you need) and then modify makepkg.conf for building sparc packages.

+

# vim /etc/makepkg.conf

+

CARCH="sparc64"

+

CHOST="sparc64-unknown-linux-gnu"

+

CFLAGS="-O2 -pipe -mcpu=v9"

+

CXXFLAGS="-O2 -pipe -mcpu=v9"

+

+

{{note| If you want to create 64 bit binaries, you must use the -m64 flag. Otherwise, on a v9 system you will get 32 bit v8+ binaries. Most of the time you probably do not want 64 bit binaries: they will use more memory and be slower unless processing large data.}}

+

+

If you plan to share the packages you build, please also set the PACKAGER variable and make sure PKGEXT is '.pkg.tar.xz'

+

+

To update a PKGBUILD for building for sparc64:

+

sed -i.old "s/arch=(/arch=('sparc64' /" PKGBUILD

+

+

== Sharing your packages with others ==

+

We need to figure out how to maintain the sparc repositories so that we can spread out the work of keeping a working set packages available to others. --[[User:DaveKong|DaveKong]] 01:47, 8 November 2010 (EST)

+

+

== Packages needed for a base system (sparc64) ==

'''base''':

'''base''':

* attr

* attr

Line 81:

Line 126:

* patch

* patch

* pkg-config

* pkg-config

−

−

With these packages built, someone should be able to grab pacman, then install these packages into a new root, install SILO and boot along the lines of https://wiki.archlinux.org/index.php/Install_from_Existing_Linux. In the future, there should be an install image and more packages in the repository.

Revision as of 14:45, 13 June 2012

Note: Currently there is no SPArch installation media so you must follow steps along the lines of Install from Existing Linux. Note also that there are not many repositories currently, and they do not have many packages.

In order for pacman to work, you may also need to first install some other packages. In Debian testing, I had to install xz-utils and libarchive-dev. I then had to install libfetch and openssl from the SPArch repository

Setting up a chroot

Building a bootable base system

Since packages are missing from the SPArch repository, you will have to build some yourself to get a working system. To do this, you will want to either install abs into your chroot or on your host (depending on whether your chroot has enough to compile what you need) and then modify makepkg.conf for building sparc packages.

Note: If you want to create 64 bit binaries, you must use the -m64 flag. Otherwise, on a v9 system you will get 32 bit v8+ binaries. Most of the time you probably do not want 64 bit binaries: they will use more memory and be slower unless processing large data.

If you plan to share the packages you build, please also set the PACKAGER variable and make sure PKGEXT is '.pkg.tar.xz'

To update a PKGBUILD for building for sparc64:

sed -i.old "s/arch=(/arch=('sparc64' /" PKGBUILD

Sharing your packages with others

We need to figure out how to maintain the sparc repositories so that we can spread out the work of keeping a working set packages available to others. --DaveKong 01:47, 8 November 2010 (EST)