Making an Openmandriva SD card for the Wandboard

From Wandboard Wiki
Jump to: navigation, search


Basic SD card installation

OpenMandriva people provides a very handy script that can be used to create an SD card.

git clone https://github.com/fedya/omv_wandboard
cd omv_wandboard
sh create_omv_chroot.sh sd[X] - where X is your disk

wait one minute and image is ready to boot.


For those who have problems, or want more control of the process, the root file system is located at. http://downloads.sourceforge.net/project/openmandriva/Raspberry_Pi2/pi2-OpenMandrivaLx.2014.1-kde4.img.tar.xz

The wandboard u-boot has to be adapted to load the vmlinuz zImage kernel used by OpenMandriva


Beyond basic

The image produced by the create_omv_chroot script is very bare bones. Users would likely want to add some additional packages to their system.

The command to add packages is urpmi, and can be used both on package names or rpm files.

Examples: urpmi xterm

wget http://abf-downloads.rosalinux.ru/cooker/repository/armv7hl/non-free/release/wandboard-support-bcm43xx-wifi-firmware-1.0-2-omv2015.0.armv7hl.rpm
urpmi ./wandboard-support-bcm43xx-wifi-firmware-1.0-2-omv2015.0.armv7hl.rpm

At the time of writing, http://abf-downloads.rosalinux.ru/cooker/repository/armv7hl, is a good location to look for available packages. The existence of dedicated imx6 GPU and VPU packages, a kernel-wandboard, is promising for those desiring full GPU/VPU support.

Unfortunately, the exact steps on how to enable a (say) KDE desktop with GPU or VPU support on the Wandboard appears undocumented.


Making the SD card boot on all WB variants

The SD card image created by the omv_create_chroot script is only bootable on Wandboard Quad. To improve on this, the Wandboard team has modified the WB u-boot to boot Open Mandriva.


1. Download WB u-boot from github


2. Patch with the patch from here: http://www.wandboard.org/images/downloads/0001-wandboard-For-openmamdriva-boot-up-only.patch


3. Install u-boot with:
sudo dd if=SPL of=/dev/sdx bs=1k seek=1 oflag=dsync
sudo dd if=u-boot.img of=/dev/sdx bs=1k seek=69 oflag=dsync

Installing KDE

This section is a rough walkthrough how to install KDE.

Stage 1

After booting, login with root/root.

Initially, you might need to set up networking manually:
ifconfig eth0 IP
route add default gw GATEWAY_IP
vi /etc/resolv.conf
and add your nameserver (or 8.8.8.8 for Google) to that file.


Download libviv, wandboard-support etc from http://abf-downloads.rosalinux.ru/cooker/repository/armv7hl/non-free/release/ with:
wget http://abf-downloads.rosalinux.ru/cooker/repository/armv7hl/non-free/release/wandboard-support-1.0-2-omv2015.0.armv7hl.rpm
wget http://abf-downloads.rosalinux.ru/cooker/repository/armv7hl/non-free/release/wandboard-support-bcm43xx-bluetooth-firmware-1.0-2-omv2015.0.armv7hl.rpm
wget http://abf-downloads.rosalinux.ru/cooker/repository/armv7hl/non-free/release/wandboard-support-bcm43xx-wifi-firmware-1.0-2-omv2015.0.armv7hl.rpm
wget http://abf-downloads.rosalinux.ru/cooker/repository/armv7hl/non-free/release/wandboard-support-mkbootlogo-1.0-2-omv2015.0.armv7hl.rpm
wget http://abf-downloads.rosalinux.ru/cooker/repository/armv7hl/non-free/release/wandboard-support-vpu-firmware-1.0-2-omv2015.0.armv7hl.rpm

wget http://abf-downloads.rosalinux.ru/cooker/repository/armv7hl/non-free/release/libdri-drivers-vivante-1.0.0-3-omv2015.0.armv7hl.rpm
wget http://abf-downloads.rosalinux.ru/cooker/repository/armv7hl/non-free/release/libfslvpuwrap3-1.0.57-1-omv2015.0.armv7hl.rpm
wget http://abf-downloads.rosalinux.ru/cooker/repository/armv7hl/non-free/release/libgpu-viv-bin-mx6q-1.0.0-3-omv2015.0.armv7hl.rpm
wget http://abf-downloads.rosalinux.ru/cooker/repository/armv7hl/non-free/release/libvpu4-5.4.28-1-omv2015.0.armv7hl.rpm

Before installing these, remove a few Open GL packages that will conflict with some of the ones above:

urpme libgl1-10.5.4-1.armv7hl
urpme libegl1-10.5.4-1-omv2015.0.armv7hl

Now we are ready to install the downloaded packages:
urpmi --fasunsafe *.rpm

The --fastunsafe is very handy, otherwise installation takes very long (it has to do a lot of checking on the packages and on the filesystem in mmc), it also installs all packages at once instead of having manually confirm every 50 packages.

After this is done, update the latest WB packages and install the X server:

urpmi --fastunsafe x11-server x11-driver-video-fbdev x11-font-xfree86-type1 x11-font-type1 x11-font-adobe-75dpi x11-font-adobe-100dpi x11-font-bh-75dpi x11-font-bh-100dpi x11-font-bh-lucidatypewriter-75dpi x11-font-alias xterm xdm
urpmi --fastunsafe kernel-wandboard kernel-wandboard-latest

We have finished stage 1 of installation, time to reboot with the WB kernel.

reboot


Stop the boot in u-boot, and change the following variables

setenv fdt_file_autodetect
setenv fdt_file boot/dtbs/imx6q-wandboard.dtb
setenv image boot/vmlinuz-3.10.53-wandboard-1mdk
setenv mmcroot /dev/mmcblk2p1 rootwait rw
save

Reboot your board again.

If you get an endless loop of SPDIF drivers trying to load, there is a problem with the device tree variables fdt_file*.


Stage 2

First, we will install a package from Open Suse.

This might appear odd, but it is since there seems to be a problem with dependencies with libgif6, and Open Mandriva only provides libgif7 and libgif4, which are not good enough for KDE.

So we cheat, and install libgif from elsewhere :-)

wget ftp://fr2.rpmfind.net/linux/opensuse/ports/armv6hl/distribution/13.1/repo/oss/suse/armv6hl/libgif6-5.0.5-2.1.2.armv6hl.rpm
urpmi --fastunsafe ./libgif6-5.0.5-2.1.2.armv6hl.rpm


Now the time has come to install KDE.

urpmi --fastunsafe kde-base-artwork kde-cli-tools kde-gtk-config5 kde-runtime kde-wallpapers kdeartwork4-styles kdebase4 kdebase4-workspace kded kdelibs-core kdialog libkdeui libkhtml kdm libgif7 libgif-devel libkdecore5 kiconthemes kimageformats konsole kwin-x11 libkfontinstui5 libkfontinst5 oxygen-fonts
( answer a pile of question, I picked US and the non-gnome option when applicable)

After a long installation the operating system suggests a reboot.

reboot


Stage 3

Important: change the Theme setting in /usr/share/config/kdm/kdmrc from "/usr/share/apps/kdm/themes/Openmandriva" to "/usr/share/apps/kdm/themes/oxygen" (otherwise you can not log in).

Then we jump, and enable the KDE graphical login instead of console:

systemctl enable kdm.service

Reboot.

You should log in as omv/omv, and the first log in can take several minutes.

If you want to go back to the getty console logins, you can do so by removing the links
/etc/systemd/system/display-manager.service
/etc/systemd/system/graphical.target.wants/kdm.service

(you might need to mount your SD card on a PC, depending on the reasons you want the console login back)