Install under Gentoo
From Rivendell Wiki
Contents |
MySQL
Rivendell uses a mySQL server to store everything other than the audio. Emerging RD will ensure that at the least a mySQL client is present on you machine.
Client Only
If you already have a database and don't want the server installed, set the minimal USE flag on mySQL, then skip the next section. Else, install the server.
echo "dev-db/mysql minimal" >> /etc/portage/package.use
Server
Emerge MySQL
emerge -uN mysql
The -uN will prevent a reinstall.
Now create the intial mySQL folders and root account. Note that the mySQL root account is only used inside of mySQL.
emerge --config mysql
You should be prompted for a password.
To allow access for other machines, see Remote Client Access.
Add the daemon to the default runlevel.
rc-update add mysql default
Start the deamon.
/etc/init.d/mysql start
For a comprehensive, but probably unnecessary introduction to mySQL, see the Gentoo MySQL Startup Guide.
Install RD
Fetch Ebuild
The ebuild and patches are in the proaudio overlay. See proaudio wiki for retrieval instructions.
Unmask and Install
Once the ebuild is on your system, unmask the package.
- For i686
echo "media-radio/rivendell ~86" >> /etc/portage/package.keywords
- For amd64
echo "media-radio/rivendell ~amd64" >> /etc/portage/package.keywords
Now that qt3 has been removed from the main portage tree, you'll need another overlay before emerging RD.
layman -a kde-sunset emerge -avu rivendell
Post Installation Configuration
ALSA
Configure you sound cards for excusive RD control.
rdalsaconfig
rd.conf
Make an /etc/rd.conf. A sample is at /etc/rd.conf.sample and the most important options are at the top:
[Identity] AudioOwner= AudioGroup=
Set owner and group to the user account that logs in and runs the rivendell applications.
Set the Hostname, Loginname, Password, and Database to your existing database. If this is a fresh install, leave the hostname at localhost. By default the mySQL root account can only be accessed from localhost. The login, password, and database can be whatever you want, just make sure you put something in there. Its best not to use the root password you set mySQL up with, you should only need that once, and that's next.
[mySQL] Hostname=localhost Loginname= Password= Database= Driver=QMYSQL3
MySQL Database Creation
Now create the database as defined above.
rdadmin
Give it your mysql root password. Once this is done, rdadmin will ask for a user and password. The user is admin and there is no password.
Now you can set the daemons to work.
rc-update add rivendell default killall caed killall rdcatchd killall ripcd /etc/init.d/rivendell start
Any user that should be able to add audio to your library need be in the rivendell group.
groupmems -a [your user] -g rivendell
You'll need to log out and back in if this is the account you are using right now.
You should have a working installation. From here you can a look at the documentation in /usr/share/doc/rivendell for further configuration and the official manual for general operation.
Et Cetera
Jack
The init script that portage installs with rivendell runs the daemons under the permissions of the system user "rivendell". Using jack will require those deamons and jack to run under the same user.
IO Scheduling
When building a kernel from source, you are given four options for I/O sheduling; Anticipatory, Deadline, CFQ, and no-op. These are four different methods for scheduling reads and writes to block devices. Use deadline or CFQ.
Enable the block layer --->
IO Schedulers --->.
< > Anticipatory I/O scheduler
<*> Deadline I/O scheduler
<*> CFQ I/O scheduler
Default I/O scheduler (Deadline)--->
Realtime Priority
Follow the gentoo documentation[1] then make the user rivendell part of a realtime group and restart your daemons.
Serial Ports
RD daemons under default permissions cannnot access serial ports. To change that add the rivendell user to the uucp group and restart the daemons.
usermodd -a -G uucp rivendell
XFS
XFS is a 64bit filesystem designed for parallel large file operations. It supports both native defragmentation and backups while mounted and even aligns its blocks and allocation groups with your RAID stripes. See chapter 4 in the handbook for partitioning and formating.
Fstab example
/dev/[your partition here] /var/snd xfs grpid,noatime,noexec,nodev,nosuid 0 2 # Grpid: Newly created files take the group id of the directory in which it is created. # Noatime: Do not update inode access times on this filesystem # Noexec: Do not allow direct execution of any binaries on the mounted filesystem. # Nosuid: Do not allow set-user-identifier or set-group-identifier bits to take effect.
Defragment your mounted XFS filesystems once a month with cron.
emerge xfsdump ln -s /usr/bin/xfs_fsr /etc/cron.monthly/
By default xfs_fsr spends two hours parsing /etc/mtab for mounted XFS filesystems and defrags the files with the largest number of file extents. It won't touch files in memory.

