ARM – openSUSE Lizards https://lizards.opensuse.org Blogs and Ramblings of the openSUSE Members Fri, 06 Mar 2020 11:29:40 +0000 en-US hourly 1 Banana Pi M2 running openSUSE Tumbleweed https://lizards.opensuse.org/2015/12/03/banana-pi-m2-running-opensuse-tumbleweed/ Thu, 03 Dec 2015 05:33:19 +0000 http://lizards.opensuse.org/?p=11575 Following up from my earlier post about openSUSE LTSP on Banana Pi, Nora Lee from the manufacturer of the board got in touch with me and sent me a couple of their new boards- Banana Pi M2, runs on A31s quad-core CPU and has 1G RAM, powerful enough to run openSUSE Tumbleweed with Xfce Desktop.

Here is how you can get openSUSE running on Banana Pi M2.

* Download the image

* Extract the archive to get openSUSE-Tumbleweed-Bpi-M2-Xfce.img

* Dump openSUSE-Tumbleweed-Bpi-M2-Xfce.img on to a SD card
(dd if=/path/to/openSUSE-Tumbleweed-Bpi-M2-Xfce.img of=/dev/sdX bs=4M; sync #replace /dev/sdX with your actual SD card device)

*  In case you have a bigger SD card, use yast2 disk(partitioner) to “expand” the second partition. You can use yast’s package manager to install more software. The default password for root is linux, you may want to change that first thing after booting.

I am unable to get sound on this hardware, probably their kernel is missing sound related modules, if you figure out how to get sound working drop me a line so I can include it in next release.Everything else(wifi, hdmi out, USB ports etc) works well enough.

]]>
How to create an openSUSE Banana Pi M1 image with MATE Desktop https://lizards.opensuse.org/2015/09/17/how-to-create-an-opensuse-banana-pi-m1-image-with-mate-desktop/ Thu, 17 Sep 2015 18:32:51 +0000 http://lizards.opensuse.org/?p=11533 I won a Banana Pi from ownCloud. So I tried to install openSUSE.

There are 3 options:

1. According to the wiki page, you can download the image they provide but there’s no kernel support for Mali400MP2 GPU (who knows if it’s fixed by now). No Mali mean no GUI. The link to image is http://download.opensuse.org/ports/armv7hl/tumbleweed/images/.

2. Download the image from http://www.lemaker.org. The GUI used is XFCE.

3. Do it the hard way, build it yourself. I would like to install MATE. I know, I could use the lemaker image.
I followed the page HowTo Build Banana Pi Image.

This post has 2 sections. The first is how to create the SD card and the next one is how to install MATE.

Create the SD card.

1. Create a folder where you’re going to work (download the nessesary files).

mkdir WORKSPACE

cd WORKSPACE

2. I’ll skip the steps 1-5 from the Build it yourself page. You can download the file:

BananaPi_hwpack.tar.xz

Download also the rootfs openSUSE image file.

openSUSE-Tumbleweed-ARM-JeOS.armv7-rootfs.armv7l-Current.tbz

3. Create the folder with the ROOTFS_DIR

mkdir ROOTFS_DIR

4. Decompress the file to ROOTFS_DIR

openSUSE-Tumbleweed-ARM-JeOS.armv7-rootfs.armv7l-Current.tbz

5. Now work with the file BananaPi_hwpack.tar.xz. Decompress the file.

tar xvfJ BananaPi_hwpack.tar.xz

6. Copy related files to the directory ROOTFS_DIR

cp kernel/script.bin ROOTFS_DIR/boot
cp kernel/uImage ROOTFS_DIR/boot

Create the file:

nano ROOTFS_DIR/boot/uEnv.txt

with the following content

mmcboot=fatload mmc 0 0x43000000 script.bin || fatload mmc 0 0x43000000 evb.bin; \
fatload mmc 0 0x48000000 uImage; if fatload mmc 0 0x43100000 uInitrd; \
then bootm 0x48000000 0x43100000; else bootm 0x48000000; fi
uenvcmd=run mmcboot
bootargs=console=ttyS0,115200 console=tty0 \
disp.screen0_output_mode=EDID:1280x720p60 \
hdmi.audio=EDID:0 root=/dev/mmcblk0p1

Copy the rootfs folder:

cp -r rootfs/* ROOTFS_DIR

7. Now prepare the SD. Format the sdcard (assume the sdcard mounted at /dev/sdb. You can find it with the command cat /proc/partitions)

sudo umount /dev/sdb1
sudo dd if=/dev/zero of=/dev/sdb bs=1k count=1024
sudo dd if=bootloader/u-boot-sunxi-with-spl.bin of=/dev/sdb bs=1024 seek=8

Create partition (you can do it using gparted too)

sudo fdisk /dev/sdb

* Delete partitions: o
* List partitions: p
* Create new partitions: n
* Primary partitions: p
* Partition number: 1
* Press ENTER twice to use the total size of the card
* Write the partition table: w

Format the parititon

sudo mkfs.ext4 /dev/sdb1

8. Copy ROOTFS_DIR into sdcard

mkdir mnt
sudo mount /dev/sdb1 mnt
sudo cp -a ROOTFS_DIR/* mnt
sudo sync
sudo umount mnt

Now boot the card. The default username/password are:

Username: root
Password: linux

Unfortunately ssh didn’t work. I logged in and changed few things.
First of all I edited the file sshd_conf

nano /etv/ssh/sshd_conf

And found:
Port 22
PasswordAthentication yes
PermitRootlogin yes

Then I used the command

chown -R root /var/lib/empty

Rebooted and all set.

You can download the image from openSUSE-Tumbleweed-BananaPi-headless-20150928.tar.xz

copy it at least 2GB sd card and resize it.

Install MATE Desktop

The first thing you have to do is to update (zypper up).

The easiest way is to open YaST and go to Software Management.
Then filter by Patterns.
Click to install MATE Desktop Environment and MATE Base system.

After everything is installed, make MATE-session as default window manager

nano /etc/sysconfig/windowmanager

Find the line:

DEFAULT_WM = “kde-plasma”

and change it to

DEFAULT_WM = “mate-session”

Then reboot. Login and type startx

]]>
Install ddclient on your openSUSE Raspberry Pi https://lizards.opensuse.org/2015/05/25/install-ddclient-on-your-opensuse-raspberry-pi/ Mon, 25 May 2015 12:49:04 +0000 http://lizards.opensuse.org/?p=11434 We’ve seen two Dynamic DNS clients. We’ll see another one here.

1. First of all, install the program.

$ zypper in ddclient

2. Create the confing file

$ nano /etc/ddclient.conf

with the following content

daemon=5m
timeout=10
syslog=no # log update msgs to syslog
#mail=root # mail all msgs to root
#mail-failure=root # mail failed update msgs to root
pid=/var/run/ddclient.pid # record PID in file.
ssl=yes # use ssl-support. Works with
# ssl-library

use=if, if=eth0
server=freedns.afraid.org
protocol=freedns
login=login_name
password=the_password
somedomain.mooo.com

Change the ones that are in bold letters.

3. Start the service

$ systemctl enable ddclient

Reboot

]]>
Upgrade your openSUSE Raspberry Pi from 13.1 to 13.2 https://lizards.opensuse.org/2015/05/24/upgrade-your-opensuse-raspberry-pi-from-13-1-to-13-2/ Sun, 24 May 2015 09:59:06 +0000 http://lizards.opensuse.org/?p=11431 We’ve seen how to create an SD card. I used the 13.1 version. The wiki page https://en.opensuse.org/HCL:Raspberry_Pi is not very clear (to me) about resize partitions. So I tried to upgrade the version 13.1. Here what I did.

1. Check if the update repository already exists and is enabled.

$ zypper repos –uri

You should have the following enabled

3 | openSUSE-13.1-repo-update | openSUSE-13.1-repo-update | Yes | Yes | http://download.opensuse.org/ports/update/13.1/

If not, then add it

$ zypper addrepo –check –refresh –name ‘openSUSE-13.1-Update’ http://download.opensuse.org/update/13.1/ repo-update

2. Refresh and update your system

$ zypper ref && zypper update

3. Remove all third party/OBS repos you no longer need.

$ zypper lr

# Remove with

$ zypper rr (alias or number)

4. Change all remaining repo URLs to the new version of the distribution (needs to be run as root).

$ cp -Rv /etc/zypp/repos.d /etc/zypp/repos.d.Old

5. Change the repos.

$ sed -i ‘s/13\.1/13.2/g’ /etc/zypp/repos.d/*

6. Refresh new repositories (you might be asked to accept new gpg key)

$ zypper ref

If you haven’t removed third party/OBS repositories you may encounter some errors as these repositories may not exist yet or they may have different unguessable URL. It is always recommended to remove them and add their newer version after upgrade.

7. Upgrade

$ zypper dup

Now you have to wait. Reboot at the end, just to be sure that everything went smooth.

]]>
Run copy.com on your openSUSE Raspberry Pi https://lizards.opensuse.org/2015/05/23/run-copy-com-on-your-opensuse-raspberry-pi/ Sat, 23 May 2015 09:34:10 +0000 http://lizards.opensuse.org/?p=11428 A good question is why do you want to sync a folder on your Raspberry Pi with a cloud service. The answer is little complicated. It’s a subproject that I’m working on right now. I want to upload some data I’ll create on a Raspberry Pi (with limited size of SD card). The uploaded data will be saved on other computer and the SD will be clear again to create new data.

The cloud service I prefer is always ownCloud.
Here I used http://www.copy.com. It provides 15GB of disk but you can increase it.

First of all download the file

$ wget http://copy.com/install/linux/Copy.tgz

Then extract it

$ tar xzvf Copy* copy/armv6h/

This will create a folder called “copy,” and in it there will be three sub-folders: “armv6h,” “x86,” and “x86_64.” The first one contains the Copy client binaries for the Raspberry Pi, the second contains the Copy client for 32-bit Linux on a PC, and the third the same client but for 64-bit Linux PCs.

$ cd /copy/armv6h

Now there are 2 ways of using copy. The CopyCmd tool and CopyConsole.

CopyCmd

List of the directories

$ ./CopyCmd Cloud -username=user@gmail.com -password=’mypass’ ls

Upload all content of local /home/user/directory/ to remote /directory

$ ./CopyCmd Cloud -username=user@gmail.com -password=’mypass’ put -r /home/user/directory/ /directory

CopyConsole

The CopyConsole tool keeps a folder on your Raspberry Pi synchronized with the data on Copy.com.
The sync app runs in the background and is started like this:

$ ./CopyConsole -daemon -username=user@gmail.com -password=’mypass’ -root=/home/user/directory

This will sync the local /home/user/directory to copy.com. If you delete something from there, it’ll delete from local folder as well.

Remeber to run this command everytime you restart your pi. It’s better to run it manually because there is username and password that are personal (unless you created an account just for your raspberry pi).

]]>
Set static IP on your openSUSE Raspberry Pi https://lizards.opensuse.org/2015/05/21/set-static-ip-on-your-opensuse-raspberry-pi/ Thu, 21 May 2015 16:08:23 +0000 http://lizards.opensuse.org/?p=11424 To set a static IP in Debian based distros is easy. Just change a file (/etc/network/interfaces).
In openSUSE is easier. Everything can be done under YaST.

1. Open YaST and go to Network Devices>Network Settings.

2. Then choose Statically Assigned IP Address (move with tab button and click on space button). Give the static IP you want and as Subnet Mask, 255.255.255.0. Press Next (press enter).

3. You’ll see an overview of the ethernet card.

4. Go to Hostname/DNS and add Google’s DNS servers (optional).

5. Next, go to Routing and add your router ip (usually 192.168.1.1).

Now press OK, reboot and try to login again with SSH.

]]>
inadyn and openSUSE Raspberry Pi https://lizards.opensuse.org/2015/05/20/inadyn-and-opensuse-raspberry-pi/ Wed, 20 May 2015 11:53:16 +0000 http://lizards.opensuse.org/?p=11414 We’ve seen how to install no-ip.
Fortunately, there’s not only this service but other services too. Just for reference, here are some (not only free):

http://www.dyndns.org
http://freedns.afraid.org
http://www.zoneedit.com
http://www.no-ip.com
http://www.easydns.com
http://www.tzo.com
http://www.3322.org
http://www.dnsomatic.com
http://www.tunnelbroker.net
http://dns.he.net/
http://www.dynsip.org
http://www.sitelutions.com
http://www.dnsexit.com
http://www.changeip.com
http://www.zerigo.com
http://www.dhis.org
https://nsupdate.info
http://duckdns.org
https://www.loopia.com
https://www.namecheap.com
https://domains.google.com
https://www.ovh.com
https://www.dtdns.com
http://giradns.com

Let’s see one of them https://freedns.afraid.org. After you register, go to Dynamic DNS link (on the left top box-for members).
Add your host with type A and subdomain and domain what you like as host.

Now there’s going to be a list of your host names. Right click on the Direct Link and copy the link. You should keep the alpha-numeric key. The address will be something like http://freedns.afraid.org/dynamic/update.php?[alpha-numeric-key]

Now it’s time to install the client. I’ve found it from https://github.com/troglobit/inadyn.

1. First of all, install the needed programs to build the service.

$ zypper in gcc-c++ gcc git libopenssl-devel make nano

2. Then

$ mkdir inadyn

$ cd inadyn

3. Download the program from ftp://troglobit.com/inadyn/

$ wget ftp://troglobit.com/inadyn/inadyn-1.99.9.tar.xz

and decompress it

$ tar xvfJ inadyn-1.99.9.tar.xz

4. Go to the directory

$ cd inadyn-1.99.9

5. Compile and install

$ make

$ make install

6. Create the confing file

$ nano /etc/inadyn.conf

with the following content

--username USERNAME
--password PASSWORD
--update_period 3600
--forced_update_period 14400
--alias HOSTNAME,alphanumeric key
--background
--dyndns_system default@freedns.afraid.org
--syslog

The bold words are the ones you should change. Remember the alphanumeric key is the one you got from right click on the Direct Link.

7. Start the client. Create the service file.

$ nano /usr/lib/systemd/system/inadyn.service

8. Add the following content.

[Unit]
Description=inadyn Dynamic DNS Update Client
After=network.target

[Service]
Type=forking
ExecStart=/usr/local/sbin/inadyn

[Install]
WantedBy=multi-user.target

9. Start the service

$ systemctl start inadyn.service

and enable the service

$ systemctl enable inadyn.service

10. Reboot and check if the service is running.

$ ps -A | grep inadyn

you should get results something like:

1526 ? 00:00:00 inadyn

]]>
no-ip and openSUSE Raspberry Pi https://lizards.opensuse.org/2015/05/19/no-ip-and-opensuse-raspberry-pi/ Tue, 19 May 2015 13:03:36 +0000 http://lizards.opensuse.org/?p=11411 We’ve seen how to install openSUSE image on the SD card.
Next step is to be sure that we can have access from outside our house (since most of the times, Raspberry Pi is located at home).

To do that we use Dynamic DNS services. A free service (so far) is No-IP. Most of the routers support it. You can use your router’s service. But what if you want 2 different host names on the same IP? Let’s say you have different ARM boards on the same router or you have a server etc.

1. First of all, install the needed programs to build the service (same as I did with ZNC)

zypper in gcc-c++ gcc git libopenssl-devel make nano

2. Then

mkdir noip

cd noip

3. Download the program

wget http://www.no-ip.com/client/linux/noip-duc-linux.tar.gz

and decompress it

tar vzxf noip-duc-linux.tar.gz

4. Go to the directory

cd noip-2.1.9-1

5. Compile and install

make

make install

While it install’s the software you will prompted to enter the username & password. Once that is done it will ask you teh refresh interval … leave it.. to have the default value. You are required to answer some more questions … just ans NO an d you should be good to go.

6. Start the client

/usr/local/bin/noip2

To check if the service is running, use the command:

/usr/local/bin/noip2 -S

and the results should be like

1 noip2 process active.

Process 1516, started as noip2, (version 2.1.9)
Using configuration from /usr/local/etc/no-ip2.conf
Last IP Address set EXTERNAL IP
Account USERNAME
configured for:
host HOSTNAME
Updating every 30 minutes via /dev/eth0 with NAT enabled.

Auto start the client on reboot

But what if you reboot? You want to start the client everytime you reboot. This can be done with systemd.

1. Create the service file.

nano /usr/lib/systemd/system/noip.service

2. Add the following content.

[Unit]
Description=No-IP Dynamic DNS Update Client
After=network.target

[Service]
Type=forking
ExecStart=/usr/local/bin/noip2

[Install]
WantedBy=multi-user.target

3. Start the service

systemctl start noip.service

and enable the service

systemctl enable noip.service

]]>
Create an SD card for your Raspberry Pi B and B+ https://lizards.opensuse.org/2015/05/18/create-an-sd-card-for-your-raspberry-pi-b-and-b/ Mon, 18 May 2015 12:07:40 +0000 http://lizards.opensuse.org/?p=11404 Most of the projects around the Internet use Raspbian as main Raspberry Pi distro. Unfortunately, Raspbian doesn’t work for me. Minibian worked. So I serched other distros. My favourite is Arch Linux because there are plenty of programs that I need for projects, but it needs some extra steps from terminal to create the SD.

Here we’ll see how to create an SD card of openSUSE. There are plenty of information at the wiki page https://en.opensuse.org/HCL:Raspberry_Pi
. I’ll collect the information I need for projects, I’ll write next.

I used 13.1 as distro because it’s easier for me to resize the SD card.

1. Download the image (openSUSE-13.1-ARM-JeOS-raspberrypi.armv7l.raw.xz) from here:

http://download.opensuse.org/repositories/devel:/ARM:/13.1:/Contrib:/RaspberryPi/images/

decompress the image.

2. Find the device name of your card

cat /proc/partitions

usually it’s going to be /dev/mmcblk0.

and create the card (as root)

sudo dd if=openSUSE-13.1*.raw.xz of=/dev/mmcblk0 bs=4M;sync

3. Since I didn’t use a monitor (HDMI or DVI), I had to do some extra steps before boot my raspberry pi.

a. Delete the file /var/lib/YaST2/reconfig_system to start headless.
b. Resize the ext4 partition with Gparted.

4. When boot the Raspberry Pi, use the following

ssh root@IP

user: root
password: linux

Now the first command will be

zypper ref

and then update

zypper up

]]>
LTSP client goes Banana Pi! https://lizards.opensuse.org/2014/12/16/ltsp-client-goes-banana-pi/ https://lizards.opensuse.org/2014/12/16/ltsp-client-goes-banana-pi/#comments Tue, 16 Dec 2014 14:03:33 +0000 http://lizards.opensuse.org/?p=11121 The Raspberry Pi is a credit-card sized computer running ARM processor that plugs into your TV/PC monitor, mouse and a keyboard, it is capable of running Linux and can be made to do many interesting things.The Banana Pi is a what Chinese ingeniousness came up with after they checked out Raspberry Pi, they made a lot more powerful knockoff. This is a “How-to” use Banana Pi as LTSP client.

There is BerryTerminal project which makes it possible to use Raspberry Pi as LTSP Thin Client, on the server you can run any distribution that can run LTSP server, it can be running CPU with x86/x86_64/whatever architecture as LTSP provides a way to run X session from the server via SSH tunnel. Biggest benefit of running LTSP is centralized user and data management, and clients can be of modest specification as all clients’ sessions are run on the server. This is a drawback as well, as the server needs to be powerful enough to handle many sessions. This is where LTSP Fat Client help, it allows running of users’ session on the client that are powerful enough, while users and data are stored on the central server allowing modest server to serve many more clients than it would otherwise. Raspberry Pi is not that capable to run full featured Linux desktop, Banana Pi with it’s dual core CPU and 1 GB RAM is just good enough to work as a Thin Client as well as a Fat Client. perfect for home, small office or school lab.

Piece of history, first ever Banana Pi LTSP terminal running openSUSE KIWI-LTSP

There is openSUSE 13.1 available for Banana Pi, it comes with XFCE desktop and many useful software pre-installed. Because I do not know how to create images for this hardware, that image is used as a base for Banana Terminal. Here are the steps to turn your Banana Pi into LTSP client.

* Download openSUSE-Bananapi-LTSP.tar.xz

* Extract the archive to get openSUSE-Bananapi-LTSP.img from it.

* Dump the openSUSE-Bananapi-LTSP.img on to a SD card, see step 5 here.

* Change settings according to your network configuration

In the second partition of SD card etc/lts.conf edit the SERVER variable to point to LTSP server in your network.

* Plug the SD card in your Banana Pi and boot it up, make sure the network is connected and LTSP server is set up properly. You have to create users on the server to use for login on client.

*  In case you have a bigger SD card, use yast2 disk(partitioner) on the client to expand the second partition. You can use yast’s package manager to install more software. The default password for root is bananapi, you may want to change that first thing after booting.

If you would like to run LTSP client on ARM7 hardware supported by openSUSE I would be happy to accept hardware donation to get it working 😉

Have a lot of fun…

]]>
https://lizards.opensuse.org/2014/12/16/ltsp-client-goes-banana-pi/feed/ 1