Meego Wiki
From MeeGo wiki
(Difference between revisions)
Jump to: navigation, search
(Notes on Setting Up Private OBS (WIP))
(Set Up OBS)
Line 67: Line 67:
== Set Up OBS ==
== Set Up OBS ==
-
In order to build anything in OBS you need packages to build against. Log in to the OBS web interface running on port 80. Login is Admin, password is opensuse. Click "Setup OBS" to connect your OBS to the openSUSE public repository.
+
In order to build anything in OBS you need packages to build against. In theory you would be able to use the MeeGo repositories when they go public. However, you won't be able to use them unless your OBS server is Core 2 or better. In any case, since we need to bootstrap everything from scratch, it does not matter what we use for the initial builds. The simplest way to get started is to link to the openSUSE build service.
 +
 
 +
Log in to the OBS web interface running on port 80. Login is Admin, password is opensuse. Click "Setup OBS" to connect your OBS to the openSUSE public build service.

Revision as of 23:16, 16 August 2010

Contents

Finding SSSE3 Instructions in a Binary

I came up with this using http://en.wikipedia.org/wiki/SSSE3#New_Instructions

objdump --disassemble-all <binary> | grep " \(psign[bwd]\|pabs[bwd]\|palignr\|pshufb\|pmulhrsw\|pmaddubsw\|phsub[wd]\|phsubsw\|phadd[wd]\|phaddsw\) "

Emulating Missing Instructions in the Kernel

arjan: you can emulate instructions your cpu does not have quite well
ali1234: i didn't know there was such a patch... link please?
arjan: either via a kernel hack or an ld preload library
arjan: http://lkml.indiana.edu/hypermail/linux/kernel/0206.3/0631.html  <-- old kernel hack that google found for me
arjan: doing it as ld preload isn't too hard .. SIGILL is sent when an instruction is executed that the cpu does not grok
ali1234: ah so you don't know that it exists specifically for ssse3?
arjan: for ssse3? not that I know of
arjan: but you could add the ssse3 instructions if you want
arjan: shouldn't be too hard

Notes on Setting Up Private OBS (WIP)

Install OBS Appliance inside a VM

VM Config

Configure VM with two virtual disks. Primary 20GB for the appliance image and /home, secondary 100GB for OBS LVM partitions.

Install Appliance

Boot it with your favourite Linux live CD and write the appliance image to the virtual disk:

wget http://download.opensuse.org/repositories/openSUSE:/Tools/images/obs-server.x86_64-2.0.5-Build1.8.raw.bz2
bunzip2 -c obs-server.x86_64-2.0.5-Build1.8.raw.bz2 > /dev/sda

Configure LVM

Use fdisk to make one big partition on /dev/sdb, type 8e:

fdisk /dev/sdb

Make LVM partition for server:

pvcreate /dev/sdb1
vgcreate "OBS" /dev/sdb1
lvcreate -L 70G -n "server" /dev/OBS
vgscan
mkfs /dev/OBS/server

For cache:

lvcreate -L 20G -n "cache" /dev/OBS
vgscan
mkfs /dev/OBS/cache

For two workers:

lvcreate -L 4G -n "worker_root_1" /dev/OBS
lvcreate -L 512M -n "worker_swap_1" /dev/OBS
lvcreate -L 4G -n "worker_root_2" /dev/OBS
lvcreate -L 512M -n "worker_swap_2" /dev/OBS
vgscan
mkfs /dev/OBS/worker_root_1
mkfs /dev/OBS/worker_root_2

Now eject the virtual CD device and reboot the VM into the appliance system.

Customize the Appliance System

To login to the appliance hit enter on the console. Login is root, no password.

Install a sensible editor:

zypper in nano

Enable sshd:

chkconfig --add sshd

Tip: Don't bother trying to set the server to use a static IP address, it won't work. You have to set a static lease in your DHCP server instead.

Set Up OBS

In order to build anything in OBS you need packages to build against. In theory you would be able to use the MeeGo repositories when they go public. However, you won't be able to use them unless your OBS server is Core 2 or better. In any case, since we need to bootstrap everything from scratch, it does not matter what we use for the initial builds. The simplest way to get started is to link to the openSUSE build service.

Log in to the OBS web interface running on port 80. Login is Admin, password is opensuse. Click "Setup OBS" to connect your OBS to the openSUSE public build service.

Personal tools