Difference between pages "Package:Radeon Video Drivers" and "Portage Git Mirror"

(Difference between pages)
 
(Service configuration)
 
Line 1: Line 1:
{{Ebuild
+
=Setting up local git mirror =
|Summary=Open source drivers for AMD video cards.
+
|CatPkg=x11-drivers/xf86-video-ati
+
|Maintainer=
+
|Homepage=http://cgit.freedesktop.org/xorg/driver/xf86-video-ati/
+
}}
+
If you have become frustrated by the somewhat poorly maintained <code>ati-drivers</code> (the closed source video drivers for AMD cards) or if you would rather use open source video drivers, this is the package for you. This page outlines how to install and configure the open source <code>xf86-video-ati</code> drivers.
+
  
== Preparation ==
+
This tutorial explains how to save bandwidth when several local computers need to pull updates from a single remote git repository.
=== Check to see if your card is an AMD card ===
+
If you do not know if you have an AMD graphics card or not, you can run the following command:
+
<console>
+
###i## lspci | grep VGA
+
</console>
+
  
If the output produces information that contains something like "01:00.0 VGA compatible controller: Advanced Micro Devices, Inc. [AMD/ATI] Pitcairn PRO [Radeon HD 7850]," then you have an AMD graphics card and continue to the next step in the install process. If <code>lspci</code> does not provide you with something like this, and instead contains Intel or NVIDIA, consult the main [[Video]] page for information.
+
== Use case ==
  
=== Preparing the kernel ===
+
This tutorial will be about hosting a local mirror of funtoo git based portage tree.
Now that you know you have an AMD graphics card, you can prepare the kernel for <code>xf86-video-ati</code>. Begin by ensuring that MTRR is enabled, then enable support for AGP graphics cards (only necessary if your card sits in an AGP slot -- not a PCIe one). After enabling AGP (if you needed it), you should enable support for the DRM and modesetting on radeon.:
+
{{kernelop|title= |desc=
+
Processor type and features --->
+
    [*] MTRR (Memory Type Range Register) support
+
  
Device Drivers --->
+
Following terms should be adapted
    Graphics support --->
+
 
        (If you have an AGP-based graphics card, enable these options)
+
<table border="1">
        <*> /dev/agpgart (AGP Support) --->
+
<tr class="header">
            <*> AMD Opteron/Athlon64 on-CPU GART support
+
<th align="left">Terms</th>
        Direct Rendering Manager --->
+
<th align="left">Definition</th>
            <*> Direct Rendering Manager (XFree86 4.1.0 and higher DRI support) ----
+
</tr>
            <*> ATI Radeon
+
<tr class="odd">
                [*] Enable userspace modesetting on radeon
+
<td align="left">git.lan</td>
        Frame buffer Devices --->
+
<td align="left">The git-daemon local mirror host</td>
            < > ATI Radon display support
+
</tr>
}}
+
<tr class="even">
If you have a graphics cards with HDMI ports that you wish to use for audio, some additional configuration of the kernel is required:
+
<td align="left">localhost</td>
{{kernelop|title= |desc=
+
<td align="left">Any local host</td>
Device Drivers --->
+
</tr>
    <*> Sound card support --->
+
<tr class="odd">
        <*> Advanced Linux Sound Architecture --->
+
<td align="left">nobody</td>
            HD Audio --->
+
<td align="left">Owner user of .git files</td>
                <*>HD Audio PCI
+
</tr>
                    (64) Pre-allocated buffer size for HD-audio drivers
+
<tr class="even">
                    <*> Build HDMI/DisplayPort HD-audio codec support
+
<td align="left">/home/git-mirrors</td>
        [*] Dynamic device file minor numbers
+
<td align="left">Base path of git-daemon</td>
        (32) Max number of sound cards
+
</tr>
 +
</table>
 +
 
 +
== Local mirror ==
 +
 
 +
==== Prepare directories and get portage tree====
 +
<console>
 +
###i## mkdir /home/git-mirrors
 +
###i## chown nobody /home/git-mirrors
 +
###i## su -s /bin/sh nobody
 +
$##bl## cd /home/git-mirrors
 +
$##bl## git clone --mirror --bare git://github.com/funtoo/ports-2012.git portage.git
 +
</console>
 +
For a security reason we use a nobody user .
 +
==== git-daemon configuration====
 +
{{file|name=/etc/conf.d/git-daemon|desc=|body=
 +
GITDAEMON_OPTS=--syslog --verbose --enable=receive-pack --export-all
 +
GITDAEMON_OPTS=${GITDAEMON_OPTS} --base-path=/home/git-mirrors /home/git-mirrors
 +
GIT_USER=nobody
 +
GIT_GROUP=nobody
 
}}
 
}}
  
=== Getting the required firmware ===
+
====Service configuration====
Many newer AMD GPU's require that you install firmware for them to function. Install the package <code>radeon-ucode</code> (Radeon microcode) for this function:
+
To start daemon with a mirror machine boot add <code>git-daemon</code> to default runlevel
 
<console>
 
<console>
###i## emerge radeon-ucode
+
###i## rc-update add git-daemon default
 
</console>
 
</console>
 +
To make changes start immediately just run <code>rc</code>
 +
<console>
 +
###i## rc
 +
</console>
 +
 +
=== Pull from remote ===
 +
 +
Add the following to <code>/etc/cron.daily/funtoo-sync.sh</code>:
 +
 +
<pre>
 +
#!/bin/sh
 +
cd /home/git-mirrors/portage.git
 +
su nobody -s "/bin/sh" -c "git pull"
 +
</pre>
  
It is also possible to install Radeon microcode via the <code>linux-firmware package</code>, which contains the Radeon microcode plus a much larger selection of firmware for other types of devices:
+
== Cloning from local git-daemon ==
  
 +
Local clone from <code>git.lan</code>:
 
<console>
 
<console>
# ##i##emerge linux-firmware
+
###i## mv /usr/portage /usr/portage.old
 +
###i## git clone git://git.lan/portage.git /usr/portage
 +
###i## cd /usr/portage
 +
###i## git checkout funtoo.org
 
</console>
 
</console>
  
=== Installing the firmware into the kernel ===
+
[[Category:HOWTO]]
{{SectionNeedsUpdates}}
+
{{EbuildFooter}}
+

Revision as of 11:40, December 13, 2014

Setting up local git mirror

This tutorial explains how to save bandwidth when several local computers need to pull updates from a single remote git repository.

Use case

This tutorial will be about hosting a local mirror of funtoo git based portage tree.

Following terms should be adapted

Terms Definition
git.lan The git-daemon local mirror host
localhost Any local host
nobody Owner user of .git files
/home/git-mirrors Base path of git-daemon

Local mirror

Prepare directories and get portage tree

# mkdir /home/git-mirrors
# chown nobody /home/git-mirrors
# su -s /bin/sh nobody
$ cd /home/git-mirrors
$ git clone --mirror --bare git://github.com/funtoo/ports-2012.git portage.git

For a security reason we use a nobody user .

git-daemon configuration

/etc/conf.d/git-daemon
GITDAEMON_OPTS=--syslog --verbose --enable=receive-pack --export-all
GITDAEMON_OPTS=${GITDAEMON_OPTS} --base-path=/home/git-mirrors /home/git-mirrors
GIT_USER=nobody
GIT_GROUP=nobody

Service configuration

To start daemon with a mirror machine boot add git-daemon to default runlevel

# rc-update add git-daemon default

To make changes start immediately just run rc

# rc

Pull from remote

Add the following to /etc/cron.daily/funtoo-sync.sh:

#!/bin/sh
cd /home/git-mirrors/portage.git
su nobody -s "/bin/sh" -c "git pull"

Cloning from local git-daemon

Local clone from git.lan:

# mv /usr/portage /usr/portage.old
# git clone git://git.lan/portage.git /usr/portage
# cd /usr/portage
# git checkout funtoo.org