Difference between revisions of "MAS OS setup"
Line 52: | Line 52: | ||
Once you install the "image", the kernel should show up in the boot loader (grub)'s kernel list. It's probably a good idea to test it first before setting it as the default kernel (see next step). Also *do not issue MCE or DSP commands until the acpi=off boot parameter has been configured!* | Once you install the "image", the kernel should show up in the boot loader (grub)'s kernel list. It's probably a good idea to test it first before setting it as the default kernel (see next step). Also *do not issue MCE or DSP commands until the acpi=off boot parameter has been configured!* | ||
− | |||
− | |||
− | |||
− | |||
As root (or using sudo), edit the file /boot/grub/menu.lst . Go to the list of kernels, below the line "## ## End Default Options ##", and find the kernel block with title "Ubuntu, kernel 2.6.15.7-bigphys". It should be the third block in the list, i.e. index 2. | As root (or using sudo), edit the file /boot/grub/menu.lst . Go to the list of kernels, below the line "## ## End Default Options ##", and find the kernel block with title "Ubuntu, kernel 2.6.15.7-bigphys". It should be the third block in the list, i.e. index 2. | ||
Line 65: | Line 61: | ||
Go back to the top of the file and set the value of the "default" option to 2 once you're ready to boot this kernel by default. | Go back to the top of the file and set the value of the "default" option to 2 once you're ready to boot this kernel by default. | ||
+ | = Configure the system for mce users = | ||
− | = | + | == Permissions == |
+ | |||
+ | Set the uname for all users to give write access for their group by default. | ||
+ | |||
+ | Edit /etc/profile and change the "umask 022" line to | ||
+ | umask 002 | ||
+ | |||
+ | Any users wishing to use MCE under their own accounts should be added to the "mce" group and should probably have "mce" as their primary group. | ||
+ | |||
+ | == Folders == | ||
+ | |||
+ | sudo mkdir /data | ||
+ | sudo chown mce:mce /data | ||
+ | sudo chmod g+ws /data | ||
+ | mkdir /data/cryo/ | ||
+ | |||
+ | mkdir /home/mce/tmp | ||
+ | chmod g+ws /home/mce/tmp | ||
+ | |||
+ | Folder permissions are annoying. Basically, any place you're going to be creating files has to have the g+s bit set. svn folders are particularly bad... | ||
+ | |||
+ | chmod g+ws /home/mce | ||
+ | chmod g+ws /home/mce/script | ||
+ | chmod g+ws /home | ||
+ | |||
+ | = Install external libraries = | ||
MAS uses libconfig to manage its configuration files. The webpage is here: [ http://www.hyperrealm.com/libconfig/ ]. To install libconfig run the following: | MAS uses libconfig to manage its configuration files. The webpage is here: [ http://www.hyperrealm.com/libconfig/ ]. To install libconfig run the following: | ||
Line 81: | Line 103: | ||
sudo ldconfig | sudo ldconfig | ||
− | = | + | = If necessary, branch MAS and mce_script = |
From a complete (or somewhat complete) mas source tree (i.e. the repository root) do: | From a complete (or somewhat complete) mas source tree (i.e. the repository root) do: | ||
Line 90: | Line 112: | ||
Then check out the appropriate branch (or the whole tree) on the new machine. | Then check out the appropriate branch (or the whole tree) on the new machine. | ||
− | = Download MAS = | + | = Download (checkout) MAS and mce_script = |
See the page on [[ MAS svn repository ]] | See the page on [[ MAS svn repository ]] | ||
− | = Build the driver = | + | = Compile and install MAS = |
+ | |||
+ | == Build the driver == | ||
By default, the driver will build with bigphysarea support enabled. To override build options, create a file Makefile.local in the "driver" folder, and add lines like | By default, the driver will build with bigphysarea support enabled. To override build options, create a file Makefile.local in the "driver" folder, and add lines like | ||
Line 129: | Line 153: | ||
sudo -u mce /usr/mce/bin/maslog_server | sudo -u mce /usr/mce/bin/maslog_server | ||
− | = Install MAS = | + | == Install MAS binaries == |
To install the mas binaries, go to the top level mas folder and do a make: | To install the mas binaries, go to the top level mas folder and do a make: | ||
Line 137: | Line 161: | ||
sudo make install | sudo make install | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | = | + | == Install MAS config files = |
sudo mkdir /etc/mce | sudo mkdir /etc/mce |
Revision as of 16:25, 7 March 2008
Contents
- 1 Install additional ubuntu packages
- 2 Download and install MAS kernel patch
- 3 Configure the system for mce users
- 4 Install external libraries
- 5 If necessary, branch MAS and mce_script
- 6 Download (checkout) MAS and mce_script
- 7 Compile and install MAS
- 8 = Install MAS config files
- 9 Install mce_script
Install additional ubuntu packages
Disable CDROM seeking
The package manager knows that you have the Ubuntu disk and will say things like
Media change: please insert the disc labeled 'Ubuntu-Server 6.06.1 _Dapper Drake_ - Release i386 (20060807.1)'
To disable this (and download packages from the internet instead), open /etc/apt/sources.list and remove (comment) the line
deb cdrom:[Ubuntu-Server 6.06.1 _Dapper Drake_ - Release i386 (20060807.1)]/ dapper main restricted
and then do
apt-get sudo update
Install required packages
sudo apt-get update sudo apt-get install build-essential subversion emacs21 libreadline5-dev
Try to install packages that don't work properly (impossible)
sudo apt-get install gnome-gv
Install packages that you shouldn't even want to install (optional)
sudo apt-get install tcsh
Download and install MAS kernel patch
Download
If you're not compiling the kernel from scratch, download the binary packages from UBC:
wget http://e-mode.phas.ubc.ca/~mhasse/mce/kernel-headers-2.6.15.7-bigphys_10.00.Custom_i386.deb wget http://e-mode.phas.ubc.ca/~mhasse/mce/kernel-image-2.6.15.7-bigphys_10.00.Custom_i386.deb wget http://e-mode.phas.ubc.ca/~mhasse/mce/extras.patch
Install
Then, install the packages using dpkg:
sudo dpkg -i kernel-headers-2.6.15.7-bigphys_10.00.Custom_i386.deb sudo dpkg -i kernel-image-2.6.15.7-bigphys_10.00.Custom_i386.deb
The "image" file might complain about symbolic links, no big deal.
Patch
This makes it possible to compile against the kernel package as though it had been locally compiled originally.
cd /usr/src/kernel-headers-2.6.15.7-bigphys/ sudo patch -p1 < ~/extras.patch
Once you install the "image", the kernel should show up in the boot loader (grub)'s kernel list. It's probably a good idea to test it first before setting it as the default kernel (see next step). Also *do not issue MCE or DSP commands until the acpi=off boot parameter has been configured!*
As root (or using sudo), edit the file /boot/grub/menu.lst . Go to the list of kernels, below the line "## ## End Default Options ##", and find the kernel block with title "Ubuntu, kernel 2.6.15.7-bigphys". It should be the third block in the list, i.e. index 2.
You must change the kernel line to turn "acpi=off". Almost all systems crash hard if you don't do this.
kernel /vmlinuz-2.6.15.7-bigphys root=/dev/sda3 ro quiet splash acpi=off bigphysarea=8192
Go back to the top of the file and set the value of the "default" option to 2 once you're ready to boot this kernel by default.
Configure the system for mce users
Permissions
Set the uname for all users to give write access for their group by default.
Edit /etc/profile and change the "umask 022" line to
umask 002
Any users wishing to use MCE under their own accounts should be added to the "mce" group and should probably have "mce" as their primary group.
Folders
sudo mkdir /data sudo chown mce:mce /data sudo chmod g+ws /data mkdir /data/cryo/ mkdir /home/mce/tmp chmod g+ws /home/mce/tmp
Folder permissions are annoying. Basically, any place you're going to be creating files has to have the g+s bit set. svn folders are particularly bad...
chmod g+ws /home/mce chmod g+ws /home/mce/script chmod g+ws /home
Install external libraries
MAS uses libconfig to manage its configuration files. The webpage is here: [ http://www.hyperrealm.com/libconfig/ ]. To install libconfig run the following:
wget http://www.hyperrealm.com/libconfig/libconfig-1.2.1.tar.gz tar -xzf libconfig-1.2.1.tar.gz cd libconfig-1.2.1 ./configure make sudo make install
To make the system aware of this library, add "/usr/local/lib" to /etc/ld.so.conf and run "sudo ldconfig". i.e.
echo /usr/local/lib | sudo tee /etc/ld.so.conf sudo ldconfig
If necessary, branch MAS and mce_script
From a complete (or somewhat complete) mas source tree (i.e. the repository root) do:
svn copy trunk branch/new_project svn commit branch/new_project
Then check out the appropriate branch (or the whole tree) on the new machine.
Download (checkout) MAS and mce_script
See the page on MAS svn repository
Compile and install MAS
Build the driver
By default, the driver will build with bigphysarea support enabled. To override build options, create a file Makefile.local in the "driver" folder, and add lines like
BIGPHYS = 1 # use bigphysarea for frame buffering
or
FAKEMCE = 1 # enable software MCE emulator in driver
or
REALTIME = 1 # use rtai interrupt handling
On a real system, just leave Makefile.local empty.
Anyway, once Makefile.local is setup, type
make clean; make
From the driver folder we can test the driver:
./reload ./mknodes
Note that since "reload" first unloads the driver if it is present, and then loads the driver from the current folder, it may report an "ERROR" message if the first step fails, even though the driver is successfully loaded. The definitive way to check that the driver is loaded is
cat /proc/mce_dsp
If this file does not exist, the driver isn't loaded. If the cat prints out a bunch of low-level driver information, you're in good shape.
If you're satisfied that the driver works, install the driver with the command
sudo make install
This should put mce_dsp.ko into /lib/modules/2.6.15.7-bigphys/kernel/drivers/misc/, and re-scan the module dependencies. To get the driver to load on boot you must add manually the following lines to /etc/rc.local:
modprobe mce_dsp /home/mce/mas/driver/mknodes sudo -u mce /usr/mce/bin/maslog_server
Install MAS binaries
To install the mas binaries, go to the top level mas folder and do a make:
cd /home/mce/mas make clean ; make sudo make install
= Install MAS config files
sudo mkdir /etc/mce sudo chown root:mce /etc/mce sudo chmod g+ws /etc/mce
cd ~/src/mas/config cp mce_v1.cfg /etc/mce/mce.cfg cp mas.cfg /etc/mce/mas.cfg