blogit.vapaasuomi.fi

May 07, 2018

Losca

Converting an existing installation to LUKS using luksipc - 2018 notes

Time for a laptop upgrade. Encryption was still not the default for the new Dell XPS 13 Developer Edition (9370) that shipped with Ubuntu 16.04 LTS, so I followed my own notes from 3 years ago together with the official documentation to convert the unencrypted OEM Ubuntu installation to LUKS during the weekend. This only took under 1h altogether.

On this new laptop model, EFI boot was already in use, Secure Boot was enabled and the SSD had GPT from the beginning. The only thing I wanted to change thus was the / to be encrypted.

Some notes for 2018 to clarify what is needed and what is not needed:
  • Before luksipc, remember to resize existing partitions to have 10 MB of free space at the end of the / partition, and also create a new partition of eg 1 GB size partition for /boot.
  • To get the code and compile luksipc on Ubuntu 16.04.4 LTS live USB, just apt install git build-essential is needed. cryptsetup package is already installed.
  • After luksipc finishes and you've added your own passphrase and removed the initial key (slot 0), it's useful to cryptsetup luksOpen it and mount it still under the live session - however, when using ext4, the mounting fails due to a size mismatch in ext4 metadata! This is simple to correct: sudo resize2fs /dev/mapper/root. Nothing else is needed.
  • I mounted both the newly encrypted volume (to /mnt) and the new /boot volume (to /mnt2 which I created), and moved /boot/* from the former to latter.
  • I edited /etc/fstab of the encrypted volume to add the /boot partition
  • Mounted as following in /mnt:
    • mount -o bind /dev dev
    • mount -o bind /sys sys
    • mount -t proc proc proc
  • Then:
    • chroot /mnt
    • mount -a # (to mount /boot and /boot/efi)
    • Edited files /etc/crypttab (added one line: root UUID none luks) and /etc/grub/default (I copied over my overkill configuration that specifies all of cryptopts and cryptdevice some of which may be obsolete, but at least one of them and root=/dev/mapper/root is probably needed).
    • Ran grub-install ; update-grub ; mkinitramfs -k all -c (notably no other parameters were needed)
    • Rebooted.
  • What I did not need to do:
    • Modify anything in /etc/initramfs-tools.
If the passphrase input shows on your next boot, but your correct passphrase isn't accepted, it's likely that the initramfs wasn't properly updated yet. I first forgot to run the mkinitramfs command and faced this.

by Timo Jyrinki (noreply@blogger.com) at May 07, 2018 11:08 AM

February 13, 2018

Riku Voipio

Making sense of /proc/cpuinfo on ARM

Ever stared at output of /proc/cpuinfo and wondered what the CPU is?

...
processor : 7
BogoMIPS : 2.40
Features : fp asimd evtstrm aes pmull sha1 sha2 crc32 cpuid
CPU implementer : 0x41
CPU architecture: 8
CPU variant : 0x0
CPU part : 0xd03
CPU revision : 3
Or maybe like:

$ cat /proc/cpuinfo
processor : 0
model name : ARMv7 Processor rev 2 (v7l)
BogoMIPS : 50.00
Features : half thumb fastmult vfp edsp thumbee vfpv3 tls idiva idivt vfpd32 lpae
CPU implementer : 0x56
CPU architecture: 7
CPU variant : 0x2
CPU part : 0x584
CPU revision : 2
...
The bits "CPU implementer" and "CPU part" could be mapped to human understandable strings. But the Kernel developers are heavily against the idea. Therefor, to the next idea: Parse in userspace. Turns out, there is a common tool almost everyone has installed does similar stuff. lscpu(1) from util-linux. So I proposed a patch to do ID mapping on arm/arm64 to util-linux, and it was accepted! So using lscpu from util-linux 2.32 (hopefully to be released soon) the above two systems look like:

Architecture: aarch64
Byte Order: Little Endian
CPU(s): 8
On-line CPU(s) list: 0-7
Thread(s) per core: 1
Core(s) per socket: 4
Socket(s): 2
NUMA node(s): 1
Vendor ID: ARM
Model: 3
Model name: Cortex-A53
Stepping: r0p3
CPU max MHz: 1200.0000
CPU min MHz: 208.0000
BogoMIPS: 2.40
L1d cache: unknown size
L1i cache: unknown size
L2 cache: unknown size
NUMA node0 CPU(s): 0-7
Flags: fp asimd evtstrm aes pmull sha1 sha2 crc32 cpuid
And

$ lscpu
Architecture: armv7l
Byte Order: Little Endian
CPU(s): 4
On-line CPU(s) list: 0-3
Thread(s) per core: 1
Core(s) per socket: 4
Socket(s): 1
Vendor ID: Marvell
Model: 2
Model name: PJ4B-MP
Stepping: 0x2
CPU max MHz: 1333.0000
CPU min MHz: 666.5000
BogoMIPS: 50.00
Flags: half thumb fastmult vfp edsp thumbee vfpv3 tls idiva idivt vfpd32 lpae
As we can see, lscpu is quite versatile and can show more information than just what is available in cpuinfo.

by Riku Voipio (noreply@blogger.com) at February 13, 2018 07:18 PM

June 24, 2017

Riku Voipio

Cross-compiling with debian stretch

Debian stretch comes with cross-compiler packages for selected architectures:
 $ apt-cache search cross-build-essential
crossbuild-essential-arm64 - Informational list of cross-build-essential packages for
crossbuild-essential-armel - ...
crossbuild-essential-armhf - ...
crossbuild-essential-mipsel - ...
crossbuild-essential-powerpc - ...
crossbuild-essential-ppc64el - ...

Lets have a quick exact steps guide. But first - while you can use do all this in your desktop PC rootfs, it is more wise to contain yourself. Fortunately, Debian comes with a container tool out of box:

sudo debootstrap stretch /var/lib/container/stretch http://deb.debian.org/debian
echo "strech_cross" | sudo tee /var/lib/container/stretch/etc/debian_chroot
sudo systemd-nspawn -D /var/lib/container/stretch
Then we set up cross-building enviroment for arm64 inside the container:

# Tell dpkg we can install arm64
dpkg --add-architecture arm64
# Add src line to make "apt-get source" work
echo "deb-src http://deb.debian.org/debian stretch main" >> /etc/apt/sources.list
apt-get update
# Install cross-compiler and other essential build tools
apt install --no-install-recommends build-essential crossbuild-essential-arm64
Now we have a nice build enviroment, lets choose something more complicated than the usual kernel/BusyBox to cross-build, qemu:

# Get qemu sources from debian
apt-get source qemu
cd qemu-*
# New in stretch: build-dep works in unpacked source tree
apt-get build-dep -a arm64 .
# Cross-build Qemu for arm64
dpkg-buildpackage -aarm64 -j6 -b
Now that works perfectly for Qemu. For other packages, challenges may appear. For example you may have to se "nocheck" flag to skip build-time unit tests. Or some of the build-dependencies may not be multiarch-enabled. So work continues :)

by Riku Voipio (noreply@blogger.com) at June 24, 2017 04:03 PM

April 11, 2017

Riku Voipio

Deploying OBS

Open Build Service from SuSE is web service building deb/rpm packages. It has recently been added to Debian, so finally there is relatively easy way to set up PPA style repositories in Debian. Relative as in "there is a learning curve, but nowhere near the complexity of replicating Debian's internal infrastructure". OBS will give you both repositories and build infrastructure with a clickety web UI and command line client (osc) to manage. See Hectors blog for quickstart instructions.

Things to learned while setting up OBS

Me coming from Debian background, and OBS coming from SuSE/RPM world, there are some quirks that can take by surprise.

Well done packaging

Usually web services are a tough fit for Distros. The cascade of weird dependencies and build systems where the only practical way to build an "open source" web service is by replicating the upstream CI scripts. Not in case of OBS. Being done by distro people shows.

OBS does automatic rebuilds of reverse dependencies

Aka automatic binNMUs when you update a library. This however means you need lots of build power around. OBS has it's own dependency resolver on the server that recalculate what packages need rebuilding when - workers just get a list of packages to install for build-depends. This a major divergence from Debian, where sbuild handles dependencies client side. The OBS dependency handler doesn't handle virtual packages* / alternative build-deps like Debian - you may have to add a specific "Prefer: foo-dev" into the OBS project config to solve alternative choices.

OBS server and worker do http requests in both directions

On startup workers connect to OBS server, open a TCP port and wait requests coming OBS. Having connections both directions is a bit of hassle firewall-wise. On the bright side, no need to setup uploads via FTP here..

Signing repositories is complicated

With Debian 9.0 making signed repositories pretty much mandatory, OBS makes signing rather complicated. obs-signd isn't included in Debian, since it depends on gnupg patch that hasn't been upstreamed. Fortunately I found a workaround. OBS signs release files with /usr/bin/sign -d /path/to/release. Where replacing the obs-signd provided sign command your own script is easy ;)

Git integration is rather bolted-on than integrated

OBS provides a method to integrate with git using services. - There is no clickety UI to link to git repo, instead you make an xml file called _service with osc. There is no way to have debian/ tree in git.

The upstream community is friendly

Including the happiest thanks from an upstream I've seen recently.

Summary

All in all rather satisfied with OBS. If you have a home-grown jenkins etc based solution for building DEB/RPM packages, you should definitely consider OBS. For simpler uses, no need to install OBS yourself, openSUSE public OBS will happily build Debian packages for you.

*How useful are virtual packages anymore? "foo-defaults" packages seem to be the go-to solution for most real usecases anyways.

by Riku Voipio (noreply@blogger.com) at April 11, 2017 08:23 PM

January 09, 2017

Riku Voipio

20 years of being a debian maintainer


fte (0.44-1) unstable; urgency=low

* initial Release.

-- Riku Voipio Wed, 25 Dec 1996 20:41:34 +0200
Welp I seem to have spent holidays of 1996 doing my first Debian package. The process of getting a package into Debian was quite straightforward then. "I have packaged fte, here is my pgp, can I has an account to upload stuff to Debian?" I think the bureaucracy took until second week of January until I could actually upload the created package.

uid Riku Voipio
sig 89A7BF01 1996-12-15 Riku Voipio
sig 4CBA92D1 1997-02-24 Lars Wirzenius
A few months after joining, someone figured out that to pgp signatures to be useful, keys need to be cross-signed. Hence young me taking a long bus trip from countryside Finland to the capital Helsinki to meet the only other DD in Finland in a cafe. It would still take another two years until I met more Debian people, and it could be proven that I'm not just an alter ego of Lars ;) Much later an alternative process of phone-calling prospective DD's would be added.

by Riku Voipio (noreply@blogger.com) at January 09, 2017 08:01 AM

January 01, 2017

Viikon VALO

ReText

ReText on yksinkertainen, mutta tehokas, työkalu tekstien ja muistiinpanojen kirjoittamiseen Markdown-, reStructuredText- tai Textile-merkintäkielillä.

Markdown, reStructuredText ja Textile ovat merkintäkieliä, joilla muotoiluja sisältäviä tekstidokumentteja voidaan kirjoittaa puhtaasti tekstimuotoisena. Valmis dokumentti käännetään yleensä näytettäväksi johonkin toiseen muotoon, kuten html- tai pdf-tiedostoiksi. Näissä kielissä muotoilut merkitään mahdollisimman luonnollisilla tavoin, jolloin myös merkintäkielinen alkuperäinen teksti pysyy helposti luettavana. Esimerkiksi luettelot merkitään rivin aloittavilla "-"-merkeillä.

ReText on sovellus, jolla näillä kielillä kirjoitettujen dokumenttien muokkaaminen on helppoa. Kielissä käytettävät merkinnät korostetaan ohjelmassa havainnollisesti ja lopullista dokumenttia voi tarkastella ohjelman esikatselutoiminnolla. Esikatselu on käytettävissä joko erillisenä näkymänä tai raakatekstin rinnalla näytettävänä tosiaikaisesti päivittyvänä näkymänä.

Esimerkiksi Markdown-muotoinen teksti:

Otsikko
=======

Tekstiä

- numeroimaton
- luettelo

sitä vastaava html-koodi:

<h1>Otsikko</h1>
<p>Tekstiä</p>
<ul>
<li>numeroimaton</li>
<li>luettelo</li>
</ul>

ja lopullinen käyttäjälle näytettävä teksti:


Otsikko

Tekstiä

  • numeroimaton
  • luettelo

ReTextin yhteydessä on mahdollista käyttää joitain Python-kirjastojen tukemia laajennuksia Markdown-kieleen. Extra-laajennuspaketti on oletuksena käytössä. Tämä laajennus sisältää muun muassa tuen taulukoille ja määritelmälistoille.

Laajennetussa Markdown-kielssä taulukot kirjoitetaan "piirtämällä" sarakkeet pystyviivamerkeillä "|" ja erottamalla sarakkeiden otsikot muusta taulukosta "-"-merkeillä. Esimerkiksi:

| Item     | Value |
| -------- | -----:|
| Computer | $1600 |
| Phone    | $12   |
| Pipe     | $1    |

Eli valmiina taulukkona:

Item Value
Computer $1600
Phone $12
Pipe $1

Taulukoiden muokkaaminen tässä muodossa voi olla hankalaa, jos pystyviivojen haluaa pysyvän kohdakkain. Tämän takia ReTextissä on erikseen päälle kytkettävä "table mode", jolloin ohjelma pyrkii automaattisesti kohdistamaan pystyviivat taulukon "solun" leveyden muuttuessa. Tämä toiminnallisuus on oletuksena kuitenkin pois päältä.

Jos ohjelmalla on käytössään MathJax-kirjasto, on ReTextillä mahdollista kirjoittaa myös matemaattisia kaavoja käyttämällä LaTeX-kieltä.

ReText on sellaisenaan varsin kätevä työkalu muistiinpanojen tekemiseen, mutta toisinaan lopputulos halutaan tallentaa jossain luettavaksi tai edelleen välitettäväksi tarkoitetussa muodossa. Tämä onnistuu ReTextin vienti- eli export-toiminnoilla. Luotu dokumentti voidaan oletuksena viedä html-, odt- ja pdf-muotoihin. Vientitoiminnot ovat ohjelman laajennuksia, joita voi halutessaan tehdä itse hyödyntämällä esimerkiksi Pandoc-ohjelmaa.

Kotisivu
https://github.com/retext-project/retext
Ohjeita
Asennusohje
Matematiikkaa
Lisenssi
GNU GPL (v2+)
Toimii seuraavilla alustoilla
Linux
Asennus
Ohjelma on asennettavissa Linux-järjestelmäiin paketinhallinnasta tai vaihtoehtoisesti Pythonin pip-paketointijärjestelmän avulla. Muut käyttöjärjestelmät eivät ole virallisesti tuettuja, mutta asennusohjeista löytyy neuvoja ohjelman asentamiseen myös Windows- ja MacOS-alustoille.

Teksti: Pesasa
Kuvakaappaukset: Pesasa

January 01, 2017 02:00 PM

August 25, 2016

Viikon VALO

Linux

Linux on suomalaisen Linus Torvaldsin alulle panema UNIX-tyyppisen käyttöjärjestelmän ydin. Sen julkistamisesta tulee 25. elokuuta 2016 kuluneeksi 25 vuotta. Sen jälkeen Linux on valloittanut maailman puhelimista ja reitittimistä palvelimiin ja supertietokoneisiin saakka.

Linuxin kehitys alkoi, kun Helsingin Yliopistossa silloin opiskellut Linus Torvalds halusi ohjelmoida UNIX-tyyppisen käyttöjärjestelmän omiin tarpeisiinsa. Ensimmäinen versio toimi vain Torvaldsin itsensä omistaman koneen tyyppisissä laitteissa. Aikaansaannoksen julkistus 25.8.1991 sen ajan "sosiaalisessa mediassa", Usenet News -ryhmässä comp.os.minix oli melko vaatimaton ilmoitus vapaasta "harrasteprojektista", josta "ei tule mitään suurta ja ammattimaista, kuten GNU-järjestelmästä". Linus pyysi muilta Minix-järjestelmän käyttäjiltä kommentteja ja ehdotuksia siitä, mitä hyviä ja huonoja puolia heidän mielestään Minixissä oli ja mihin suuntaan uutta käyttöjärjestelmää heidän mielestään pitäisi kehittää. Erityisesti Torvalds painotti, että järjestelmä ei ole sovitettavissa muun tyyppisille laitteille ja että se tulee tuskin koskaan tukemaan muun tyyppisiä levyjä kuin niitä, joita hänellä itsellään sattui olemaan käytössä.

Hello everybody out there using minix -

I'm doing a (free) operating system (just a hobby, won't be big and professional like gnu) for 386(486) AT clones. This has been brewing since april, and is starting to get ready. I'd like any feedback on things people like/dislike in minix, as my OS resembles it somewhat (same physical layout of the file-system (due to practical reasons) among other things).

I've currently ported bash(1.08) and gcc(1.40), and things seem to work. This implies that I'll get something practical within a few months, and I'd like to know what features most people would want. Any suggestions are welcome, but I won't promise I'll implement them :-)

Linus (torv...@kruuna.helsinki.fi)

PS. Yes - it's free of any minix code, and it has a multi-threaded fs. It is NOT protable (uses 386 task switching etc), and it probably never will support anything other than AT-harddisks, as that's all I have :-(.

(Linus Torvaldsin alkuperäinen viesti Googlen arkistoimana)

Historia on kuitenkin näyttänyt, miten pahasti Linus aliarvioi aloittamansa projektin merkityksen. Erityisesti hänen päätöksensä lisensoida Linux Richard M. Stallmanin ja Free Software Fondationin GNU-projektia varten esittelemällä GNU GPL -lisenssillä vaikutti ratkaisevasti käyttöjärjestelmäytimen jatkokehitykseen ja menestykseen. Vapaa avoimen lähdekoodin lisensointi mahdollisti järjestelmän avoimen kehityksen ja houkutteli mukaan asiasta kiinnostuneita ohjelmoijia.

Usein kuulee arvioita, että Linuxin menestyksen huomioon ottaen Linus Torvalds olisi voinut lyödä rahoiksi, jos hän ei olisi lisensoinut järjestelmää avoimeksi. Tämä tuskin kuitenkaan pitää paikkaansa, sillä ilman vapaata lisensointia järjestelmä ei todennäköisesti olisi houkutellut ympärilleen samanlaista kehittäjien ja suurten yritystenkin muodostamaa yhteisöä, jonka seurausta sen voimakas kehitystahti ja maailmanvalloitus on ollut. Ilman vapaata lisensointia Linux olisi jäänyt vain Torvaldsin viestissään mainitsemaksi harrastusprojektiksi. Kenties Linuxin nykyisen aseman ja suosion olisi saanut jokin muu vapaa käyttöjärjestelmä, esimerkiksi FreeBSD, joka on Linuxin tavoin UNIX-tyyppinen järjestelmä ja avointa lähdekoodia.

Linuxin vapaa ja avoin lähdekoodi on mahdollistanut myös sen sovittamisen mitä moninaisimpiin laitteisiin. Pieniin ja vähillä resursseilla varustettuisiin laitteisiin, kuten reitittimiin, siitä on voitu riisua kaikki ylimääräinen ja suuriin tehokkaisiin supertietokoneisiin siitä on ollut mahdollista räätälöidä tehokkaita ja skaalautuvia versioita. Hajautetusti tapahtuva kehitys on suuri talkooprojekti, josta jokainen osallistuva osapuoli hyötyy moninkertaisesti enemmän kuin oman työpanoksensa verran. Linuxin kehitystä onkin sanottu maailman suurimmaksi ohjelmistoprojektiksi.

Suuri osa Internetin toiminnasta tukeutuukin Linuxiin aina liikennettä ohjaavista reititinlaitteista suurten toimijoiden, kuten Googlen, Facebookin, Twitterin, Wikipedian ja Amazonin, palvelinsaleihin.

Red Hat Fedora Ubuntu Debian Linux Mint OpenSUSE

Linux-ydintä jaetaan tyypillisesti jakeluiksi kutsuttujen käyttöjärjestelmäkokonaisuuksien osana. Tunnetuimpia jakeluita ovat esimerkiksi Red Hat Enterprise Linux, sen yhteisövetoinen versio Fedora, Ubuntu, sen taustalla oleva yhteisöllisesti kehitettävä Debian GNU/Linux, Linux Mint, openSUSE sekä lukuisat muut versiot. Koska jakelut sisältävät Linux-ytimen lisäksi valtavan joukon muitakin ohjelmistoja, halutaan toisinaan antaa kunniaa myös GNU-projektin aikaansaannoksille käyttämällä kokonaisuudesta nimitystä "GNU/Linux".

Jakeluina levitettäviä käyttöjärjestelmäversioita käytetään tyypillisesti työpöytäkäytössä (varsinaiset työpöytäkoneet ja kannettavat tietokoneet) sekä palvelimissa. Näiden lisäksi Linux-ydin esiintyy myös lukemattomissa kuluttajalaitteissa, joiden Linux-pohjaisuus ei näy päälle päin ja joiden käyttäjät eivät edes tiedä käyttävänsä Linuxia. Näitä ovat muun muassa Android-puhelimet ja -tabletit, suuri osa reitittimistä ja langattomista tukiasemista, monet älytelevisiot ja medialaitteet sekä Googlen kehittämään järjestelmään perustuvat Chromebook-kannettavat.

Erityisesti Android-laitteiden raju yleistyminen on lisännyt Linux-pohjaisten laitteiden käyttäjien määrän valtaviin lukemiin, vaikka suurin osa käyttäjistä ei tätä itse tiedostakaan. Perinteisessä työpöytäkäytössä Linux-pohjaisten järjestelmien osuus on vielä pysynyt melko vaatimattomana. Tämä lienee johtunut osaltaan virheellisestä vaikeakäyttöisyyden mielikuvasta sekä ennen kaikkea siitä, että kuluttajat ostavat tietokoneensa valmiiksi asennettuina ja laitteisiin esiasennettu järjestelmä on käytännössä lähes aina valmistajasta riippuen joko Applen MacOS tai jokin Microsoftin Windows-versioista. Vuoden 2016 aikana Linuxin käyttöosuus on tilastoissa kuitenkin noussut, syystä tai toisesta, jo yli kahden prosentin. Onko kyse kasvaneesta kiinnostuksesta vapaampaa ja käyttäjän yksityisyyttä paremmin kunnioittavaa käyttöjärjestelmäalustaa kohtaan vai kuluttajalaitteiden painotuksen yleisestä siirtymisestä puhelimiin ja tablettilaitteisiin?

Linuxin työpöytävalloitus on ollut jo pitkään vuosittainen vitsin aihe. "Onko tämä vuosi työpöytä-Linuxin vuosi?" Varsinaiseen työpöytäkäyttöön Linux-järjestelmät ovat olleet oikeasti käyttöliittymiensä kannalta valmiita jo vuosia. Työpöytäympäristöjä on ollut tarjolla jopa useampia erilaisiin makuihin. Valloitusta on kuitenkin hidastanut erityisesti esiasennettujen laitteiden puute sekä kuluttajien haluttomuuus vaihtaa tutusta järjestelmästä toiseen. Työpöytäkäytön vähentyminen on kuitenkin luonut uudenlaisen tilanteen ja samalla esimerkiksi Googlen markkinoille tuomat Chromebook-laitteet ovat viimeisteltyinä ja pelkistettyinä tuotteina keränneet uudenlaista suosiota myös Linuxille. Muun perinteisen tietokonemyynnin laskiessa Chromebookit ovat lisänneet myyntiään ja jopa vallanneet Amazonin joulumyynnin kärkipaikat.

Oman lisänsä Linux-tarjontaan tuovat Androidin rinnalle nousseet uudet mobiilialustat, kuten Ubuntun puhelin- ja tablettiversio, Jollan Sailfish OS sekä Samsungin Tizen.

Teksti: Pesasa
Kuvakaappaukset: Pesasa

August 25, 2016 08:00 AM

May 09, 2016

Riku Voipio

Booting ubuntu 16.04 cloud images on Arm64

For testing kvm/qemu, prebaked images cloud images are nice. However, there is a few steps to get started. First we need a recent Qemu (2.5 is good enough). An efi firmware is needed, and cloud-utils, for customizing our VM.

sudo apt install -y qemu qemu-utils cloud-utils
wget https://releases.linaro.org/components/kernel/uefi-linaro/15.12/release/qemu64/QEMU_EFI.fd
wget https://cloud-images.ubuntu.com/xenial/current/xenial-server-cloudimg-arm64-uefi1.img
Cloud images are plain - there is no user setup, no default user/pw combo, so to log in to the image, we need to customize the image on first boot. The defacto tool for this is cloud-init. The simplest method for using cloud-init is passing a block media with a settings file - of course for real cloud deployment, you would use one of fancy network based initialization protocols cloud-init supports. Enter the following to a file, say cloud.txt:

#cloud-config

users:
- name: you
ssh-authorized-keys:
- ssh-rsa AAAAB3Nz....
sudo: ['ALL=(ALL) NOPASSWD:ALL']
groups: sudo
shell: /bin/bash
This minimal config will just set you a user with ssh key. A more complex setup can install packages, write files and run arbitrary commands on first boot. In professional setups, you would most likely end up using cloud-init only to start Ansible or another configuration management tool.

cloud-localds cloud.img cloud.txt
qemu-system-aarch64 -smp 2 -m 1024 -M virt -bios QEMU_EFI.fd -nographic \
-device virtio-blk-device,drive=image \
-drive if=none,id=image,file=xenial-server-cloudimg-arm64-uefi1.img \
-device virtio-blk-device,drive=cloud \
-drive if=none,id=cloud,file=cloud.img \
-netdev user,id=user0 -device virtio-net-device,netdev=user0 -redir tcp:2222::22 \
-enable-kvm -cpu host
If you are on an X86 host and want to use qemu to run an aarch64 image, replace the last line with "-cpu cortex-a57". Now, since the example uses user networking with tcp port redirect, you can ssh into the VM:

ssh -p 2222 you@localhost
Welcome to Ubuntu 16.04 LTS (GNU/Linux 4.4.0-22-generic aarch64)
....

by Riku Voipio (noreply@blogger.com) at May 09, 2016 12:32 PM

February 26, 2016

Ubuntu-blogi

Ubuntu-tietokoneiden saatavuus Suomessa parantunut

Datakuja (Data Group Vantaa) on ottanut yhteyttä Ubuntu Suomeen tiedottaakseen, että Ubuntu-mallien saatavuus on nyt parantunut. Jatkossa voi heidän kauttaan tilata Delliltä yksittäisiäkin Ubuntu-tietokoneita, kun aiemmin halvempien mallien kohdalla oli tarve tilata useampi kappale kerralla mikä ei sopinut kovin hyvin yksityishenkilöille eikä monien yrityksienkään tarpeisiin. Katso myös muiden Dell-jälleenmyyjien yhteystiedot.

Ubuntu-tietokoneiden ostomahdollisuudet Suomessa ovat vuosien varrella vaihdelleet mutta olleet aina jonkin verran rajalliset, vaikka Dellillä onkin maailmalla kymmeniä Ubuntu-malleja jatkuvasti myynnissä. Parhaimmillaan useiden suomalaisten tietokonekauppojen käyttämä tukkuri piti malleja valikoimissaan, jolloin Ubuntu-tietokoneita pystyi tilaamaan monista verkkokaupoista. Edelleen nykymaailmassa verkkokaupat olisivat tervetulleita, mutta otamme toki ilolla vastaan tiedon että monia Dell-malleja on saatavilla kun vain osaa kysyä.

Mallivalikoima vaihtelee, mutta seuraavassa tyypillinen valikoima joka on saatavilla Ubuntulla ja suomalaisella näppäimistöllä:

  • Latitude 3550-sarja: i3-suoritin, 15,6″ näyttö, 4GB RAM, 500GB kiintolevy, Ubuntu 14.04 LTS
  • Inspiron 15 -sarja: vähävirtaisempi N3050-suoritin, muuten samansuuntainen kuin yllä
  • Huippumallit XPS 13 Developer Edition ja Precision-sarjan Developer Editionit (Dellin ja Ubuntun ”Sputnik”-projekti)
    • Päivitys 16.3.2016: esim. malleja myynnissä:
      Dell XPS 13 i5-6300U/FullHD/8GB/256GB, Ubuntu 14.04 LTS
      Dell XPS 13 i7-6600U/QuadHD+/8GB/512GB, Ubuntu 14.04 LTS
  • Kysy myös esim. 13,3″ näytöillä varustettuja Latitude 13 Education Series -Ubuntu-malleja

Vuosi sitten ja aiemmin Ubuntu Suomi ei tiedottanut mallien saatavuudesta parhaalla mahdollisella tavalla, joten ostajat eivät välttämättä löytäneet malleja. Toivottavasti nyt paremmalla tiedon levityksellä saadaan myyntiä nousuun ja malleja takaisin tukkurinkin valikoimiin.

by Timo Jyrinki at February 26, 2016 08:47 AM

January 09, 2016

Viikon VALO

Open Science

Tieteen tekemisen tulisi olla läpinäkyvää ja kaikkien saatavilla. Open Science -liike pyrkii lisäämään tieteen avoimuutta ja tarkistettavuutta.

 Tiedeyhteisö on 1600-luvulla aloitetusta tieteellisten lehtien julkaisemisesta lähtien pyrkinyt jakamaan tutkimustietoa keskenään, jotta tulokset olisivat helpommin saatavissa ja vahvistettavissa sekä uusia tuloksia olisi mahdollista luoda pohjautuen aiempiin. Ennen tätä tieteellisiä tuloksia pyrittiin salailemaan siinä toivossa, että niille löydettäisiin rahallisesti tuottoisaa käyttöä. Näin tiedemiehet olivat usein taiteilijoiden tapaan rikkaiden mesenaattien ylläpidettävinä. Koska tieteelliset tulokset saatettiin pitää useitakin vuosia piilossa julkisuudelta, syntyi usein myös kiistaa siitä, kuka lopulta oli keksinyt tuloksen ensimmäisenä. Tieteellisten julkaisujen myötä tieteen tekeminen kiihtyi, sillä tuli helpommaksi perustaa omat tuloksensa toisten jo aiemmin tekemien tieteellisten tulosten pohjalle.

Nykyisin tieteellisen julkaisemisen avoimuuden ongelmina on kuitenkin nähty toisaalta yritysten halu pitää teettämänsä tutkimuksen tulokset omana tietonaan ja toisaalta perinteisten tieteellistä julkaisua harjoittavien painotalojen yritykset rajoittaa tiedon vapautta omien taloudellisten etujensa vuoksi. Yritysten pyrkimykset pitää rahoittamansa tutkimus omassa käytössään on ymmärrettävää, mutta toisaalta usein, varsinkin haastajan asemassa oleville yrityksille, tieteellisen tiedon vaihtaminen muiden tutkijoiden kanssa kiihdyttää myös oman tutkimuksen kehitystä ja tekee siitä luotettavampaa. Painotalojen toiminnassa ongelmallisena nähdään erityisesti se, miten yleensä julkisella rahoituksella toimivat tutkijat tuottavat painotaloille vastikkeettomasti julkaistavaa sisältöä, josta samat julkiset tahot, esimerkiksi yliopistot, jälleen maksavat paperille painettujen lehtien ja sähköisiin lehtiarkistoihin pääsyn muodossa. Sen lisäksi, että tutkijat tuottavat lehtien sisällön ja maksavat kollegojensa tuottamasta sisällöstä, he usein toimivat myös vastikkeettomasti julkaisujen uskottavuutta ylläpitävinä artikkelien vertaisarvioijina. Painotalot lisäksi tyypillisesti vaativat tutkijoilta allekirjoitetun sopimuksen, jolla artikkelien tekijänoikeudet siirrettiin kustantajalle. Onneksi nykyään on nähtävissä painotalojen tyytyminen julkaisulupiin, jolloin tekijä voi julkaista artikkeleitaan myös muualla.

Aiemmin paperille tapahtuva julkaiseminen vaati julkaisutalolta organisointityötä. Papereita kopioitiin ja läheteltiin fyysisinä kopioina vertaisarvioijille. Latominen sekä painaminen tehtiin painossa ja painettuja lehtiä läheteltiin yliopistojen kirjastoihin ympäri maailmaa. Digitalisoitumisen myötä myös tieteellisten tutkimusten julkaiseminen on yksinkertaistunut ja helpottunut eikä siihen kaivata samalla tavalla välikäsiä. Toisaalta julkaisujen hinnat ovat nousseet ja pääsy julkaistuun tietoon on kallistunut. Lisäksi etsityn tiedon löytäminen voi olla vaikeaa ja kallista, kun jokaisesta julkaisusta pitää maksaa ennen sen lukemista. Tieteen avoimuutta ja saatavuutta puolustavat tutkijat ovat alkaneet kannattaa Open Science- ja Open access -liikkeitä, joiden tarkoituksena on helpottaa tutkijoiden välistä yhteistyötä. Tutkijat julkaisevat tekemänsä tutkimuksen perinteisten lehtien lisäksi Open Access -tyyppisesti avoimesti saatavilla olevina artikkeleina verkkopalveluissa. Erityisesti arXiv.org-palvelu on kerännyt suurta suosiota.

Tutkimusten ja tutkimusdatan avoimen julkaisun perusteluita:

  • Mahdollistaa paremmin tutkimuksen ja datan oikeellisuuden vertaisarvioinnin.
  • Tieteestä ja sen tekemisestä tulee läpinäkyvämpää ja toistettavampaa, jolloin sen luotettavuus lisääntyy.
  • Avoin tiede saa aikaan suuremman vaikutuksen, koska useammat tutkijat voivat käyttää sitä oman tutkimuksensa pohjana. Tutkijoiden on aiempaa helpompaa löytää yhteyksiä eri tutkimusten välillä.
  • Tutkimus on usein tehty julkisella rahoituksella, joten tulostenkin tulisi olla julkisia.

Avoimen julkaisemisen sudenkuoppia:

  • Myös avoimesti julkaistu tutkimus tarvitsee vertaisarviointia ja kriittistä käsittelyä. Vaarana on, että tutkimuksia avoimena julkaiseviin palveluihin julkaistaan myös "huuhaatiedettä".
  • Suuri yleisö voi ymmärtää tutkimuksen väärin. Alaan perehtymättömät mediat saattavat uutisoida tutkimuksesta suurelle yleisölle virheellisesti tai epätarkasti.

Vapaiden ja avoimien lähdekoodin ohjelmien aate on saanut alkunsa yliopistoympäristössä tutkijoiden keskuudessa ja avoimen tieteen liikkeiden myötä myös muu tiede on pyrkimässä edelleen avoimempaan tieteen tekoon. Tieteellä olisikin vielä paljon opittavaa avoimen lähdekoodin yhteisöjen käyttämistä menetelmistä, kuten tulosten julkaisemisesta varhaisessa vaiheessa, jopa keskeneräisenä, sekä versionhallinnan käytössä. Esimerkiksi Software Carpentry -sivusto sisältää hyvää opetusmateriaalia tutkijoiden käyttöön sopivista ohjelmistoista, kuten Git, Python ja R.

"Jos olen nähnyt muita kauemmas, se johtuu siitä, että olen seissyt jättiläisten harteilla." – Isaac Newton

Verkkosivustoja
arXiv.org
Open Science Federation
openscience.com
The OpenScience Project
Open Access Week
Open science (Wikipedia)
Open access (Wikipedia)
Twitter
@openscience
Video
PhD Comics: Open Access Week (8:23 min)

Teksti: Pesasa
Kuvakaappaukset: Pesasa

January 09, 2016 10:00 PM

January 04, 2016

Ubuntu-blogi

Suomen kielen oikoluvun palauttaminen toimintaan Firefox-selaimessa

Firefox-selain on muuttunut niin, että Ubuntun mukana tuleva korkealaatuinen suomen kielen oikoluku ei valitettavasti enää toimi selaimessa. Jatkossa Firefox ei salli järjestelmän asentamia laajennuksia. Pienen kielen edustajana emme voi helposti vaikuttaa isojen selainkehittäjien valintoihin, eikä ratkaisua ongelman korjaamiseksi ole lähiaikoina tarjolla.

Voit joko ottaa oikoluvun pois käytöstä jotta suomenkielisiä tekstejä ei turhaan alleviivata punaisella, tai palauttaa Voikko-oikoluvun toimintaan toistaiseksi asentamalla sen Firefoxin omasta laajennuspalvelusta.

Vaihtoehto 1: Ota oikoluku pois käytöstä

1. Avaa Muokkaa → Asetukset
2. Valitse Lisäasetukset
ffpois2

3. Ota valinta Oikolue käyttäjän kirjoitukset pois käytöstä
ffpois3

Vaihtoehto 2: Palauta suomen kielen oikoluku toimintaan

1. Avaa TyökalutLisäosat

2. Valitse Laajennukset. Kuten näkyy, Mozilla-laajennus Voikon käyttöön on poissa käytöstä eikä sitä voi ottaa käyttöön.

3. Kirjoita Hae lisäosista -kenttään ”voikko” ja napsauta sitten Asenna-painiketta

4. Napsauta Käynnistä uudelleen -tekstiä

5. Varmista vielä Laajennukset-valinnan kautta, että Suomen kielen oikoluku on käytössä. Vanhan edelleen asennettuna olevan lisäosan voi jättää huomiotta

6. Nyt oikoluku toimii jälleen, mutta huomaa että toimenpide pitää toistaa jos Ubuntu-koneella on useampia käyttäjätunnuksia. ffvoikko6

Lopuksi

Toivottavaa olisi, että niin Firefox- kuin Chrome/Chromium-selainten kehittäjät sallisivat järjestelmän oikoluvun käytön omien rajoittuneempien oikolukujen sijaan. Esimerkiksi Ubuntussa oikoluku on edelleen integroituna muun muassa kaikkiin GNOME- ja KDE-ohjelmiin, ja samojen yleispalveluiden käyttö olisi mahdollista myös selaimissa. Valitettavasti selaimissa on toimiva oma oikoluku muun muassa helpommille indoeurooppalaisille kielille, joten suurta painetta selainkehittäjiä kohtaan ei ole.

Firefox saattaa poistaa kokonaan oikoluvun lisäämisen mahdollisuuden laajennuksen avulla myöhemmin, missä vaiheessa viimeistään muut ratkaisut tulevat tarpeeseen.

by Timo Jyrinki at January 04, 2016 03:59 PM

December 30, 2015

Viikon VALO

Hugo

Hugo on kevyt, nopea ja helppokäyttöinen työkalu staattisten, mutta hyvin organisoitujen www-sivujen julkaisemiseen.

 Www-sivujen toiminta pohjautuu nykyisin tyypillisesti siihen, että käyttäjän pyytäessä palvelimelta sivua www-selaimella, palvelin suorittaa jollain ohjelmointikielellä tehdyn ohjelman, jolla sivu muodostetaan dynaamisesti tietokannasta noudettujen tietojen pohjalta. Tällä menetelmällä palvelin joutuu suorittamaan saman ohjelmakoodin toistuvasti uudelleen ja uudelleen aina, kun käyttäjä pyytää samaa sivua. Aikoinaan www-sivut oli toteutettu staattisina html-sivuina, jolloin palvelimen tarvitsi vain palauttaa www-selaimelle valmiina oleva sivu suorittamatta sen generoivaa ohjelmakoodia. Staattiset html-sivut säästävät aikaa ja palvelimen resursseja. Ne toimivat hyvin, kun on kyse vain muutamasta sivusta, mutta suuremmilla sivustoilla ongelmaksi muodostuu koko sivuston ylläpito. Jos sivuja on esimerkiksi 242 kappaletta ja sivuston navigointiin tulee yksi uusi valinta, pitää sama valikko päivittää kaikille sivuille samanlaisena.

Vaihtoehtona kahdelle edellä kuvatulle tavalle ylläpitää www-sivustoa on tapa, jossa koko sivusto luodaan staattisiksi html-sivuiksi generoimalla ne ohjelmallisesti yhdellä kertaa ja tämän jälkeen palvelin voi tarjota nopeasti näitä valmiiksi luotuja staattisia sivuja. Tämä tapa siis yhdistää edellä kuvattujen kahden tavan hyvät puolet. Muutoksen yhteydessä sivuston sivut generoidaan uudelleen, mutta vain yhden kerran. Koska sivut ovat pelkkää html:ää, on ne helppoa sijoittaa lähes mihin tahansa kotisivutilaa tarjoavaan palveluun tai vaikka GitHubiin.

Hugo on komentoriviltä käytettävä työkalu, jolla on helppoa luoda näyttäviä ja nopeita staattisia html-sivuja käyttäviä www-sivustoja. Hugo on toteutettu Go-kielellä, sillä voi luoda työhakemistoon www-sivuprojektin, ylläpitää ja luoda sivustolle uusia Markdown-muotoisia sivuja sekä kääntää Markdown-tekstistä staattisia html-tiedostoja. Hugo luo sivuston valitun teeman mukaisella pohjalla ja luo kullekin sivulle käytetyn pohjan mukaisesti tarvittavat valikot sekä muut komponentit. Hugo on ohjelmoitu nopeutta silmälläpitäen ja se generoikin uuden version sivustosta hyvin nopeasti.

Hugolla on helppo ylläpitää sivustoa, jolla on erityyppisiä sivuja, kuten blogipostauksia ja pysyviä sivuja. Hugolla on helppo tehdä luettelosivuja, joilla luetellaan kaikki saman tyyppiset sivut tai vaikka tietyllä tunnisteella (tag) merkityt sivut. Uuden sivuston aloittaminen tapahtuu helposti komennolla:

hugo new site .

Tämä alustaa nykyiseen työhakemistoon joukon valmiita hakemistoja ja tiedostoja, joita käytetään sivuston pohjana.

Uuden blogi-kirjoituksen voi luoda komennolla:

hugo new post/welcome.md

Tämä luo uuden työhakemiston alle uuden tiedoston content/post/welcome.md, johon käyttäjä voi kirjoittaa haluamansa tekstin Markdown-muotoiluilla.

Ennen sivuston html-tiedostojen generoimista tarvitaan vielä käytettävä teema, jonka voi joko luoda itse tai ladata valmiina tarjolla olevista vaihtoehdoista. Kun teema on asennettu themes-hakemistoon ja sivuston asetustiedostoon config.toml on ilmoitettu valittu teema ja sivuston otsikko, voidaan sivuston tarvitsemat html-tiedostot generoida komennolla:

hugo

Tämä luo tiedostot oletuksena työhakemiston alla olevaan public-hakemistoon. Kääntämisen voi tehdä myös komennolla:

hugo server

Tällöin sivujen kääntämisen lisäksi Hugo käynnistää myös sisäänrakennetun www-palvelimen, jota käyttämällä on helppoa testata sivuston toimiminen. Oletuksena käynnissä oleva palvelin seuraa myöskin Hugo-projektin tiedostojen muutoksia ja generoi html-tiedostot uudelleen aina tarvittaessa. Näin esimerkiksi sisällön, valikoiden tai sivupohjan muokkaaminen laukaisee html-tiedostojen uudelleenluonnin ja sivuston kehittäminen on helppoa.

Hugo soveltuu hyvin sellaisille käyttäjille, jotka haluavat www-sivustonsa toimivan mahdollisimman nopeasti ja joita ei haittaa komentorivin käyttäminen sekä tiedostojen siirtäminen palvelimelle. Hugolla yhden blogi-kirjoituksen lisääminen tarkoittaa teemasta riippuen mahdollisesti sitä, että uuden kirjoituksen otsikko näkyy monilla muillakin sivuilla ja sivutetuissa artikkeliluetteloissa ensimmäisen sivun alkuun tulee uusi artikkeli, ensimmäisen sivun viimeinen siirtyy toiselle sivulle ja niin edelleen. Näin yhden sivun muuttaminen vaikuttaa mahdollisesti useampaan sivuun. Uusien html-sivujen generointi ei Hugolla kestä hetkeä pidempää, mutta kaikki muuttuneet sivut pitää muistaa kopioida palvelimelle. Tähän voi käyttää esimerkiksi rsync-ohjelmaa. Jos mahdollista, Hugoa voi käyttää myös suoraan palvelimella, jolloin sivuston asetuksiin voi määritellä public-hakemiston sijasta jonkin muun hakemiston julkaisemista varten.

Halutessaan Hugon voi yhdistää Git-versionhallinnan kanssa, jolloin Gitin "post-receive hook" -toimintoa käyttämällä julkaiseminen voi tapahtua yksinkertaisesti lisäämällä uusi Markdown-tiedosto versionhallintaan ja lähettämällä sen git push -toiminnolla www-palvelimella sijaitsevaan git-repositoryyn. Ohjeet Hugon ja Gitin yhdistämiseen.

Kotisivu
http://gohugo.io/
Ohjesivusto
Pikaohje
Keskustelupalsta
Hugo-teemoja
Lähdekoodi (Github)
Lisenssi
Apache 2.0
Toimii seuraavilla alustoilla
Windows, Mac OS X, Linux
Asennus
Ohjelma on asennettavissa sen kotisivuilta ladattavista paketeista.

Teksti: Pesasa
Kuvakaappaukset: Pesasa

December 30, 2015 10:00 PM

November 29, 2015

Viikon VALO

QGIS

QGIS on paikkatieto-ohjelmisto, jota käytetään karttojen piirtämiseen ja sijaintiin liittyvien analyysien laatimiseen. Se soveltuu kartoituksen ammattilaisille ja data-analyytikoille.

Monissa paikkatietojärjestelmän tehtävissä voidaan käyttää QGISiä: Käyttäjä voi luoda uutta paikkatietoaineistoa, ylläpitää tietokannan materiaalia, laatia datasta analyyseja tai piirtää esitykseen soveltuvia karttoja. Ohjelmiston avulla kartantekijä pystyy digitoimaan paperisia karttoja, biologi tutkimaan kasvilajien levinneisyyttä tai kauppias valitsemaan otollisimman paikan uudelle myymälälle.

Käyttäjä voi täydentää sisään rakennettuja työkaluja ulkoisilla ohjelmilla, sillä QGIS toimii käyttöliittymänä muille vapaan lähdekoodin paikkatieto-ohjelmille. Toiminnallisuutta voi laajentaa muiden muassa GRASS- ja SAGA-ohjelmistojen työkaluilla. Ohjelmiston tekijät ylläpitävät lisäosakirjastoa, joka sisältää lukuisia laajennuksia. Esimerkiksi OpenLayers-lisäosa hakee OpenStreetMap -palvelun rasterikarttoja.

Käyttäjä voi automatisoida usein toistuvia työvaiheita. Graafisessa mallintajassa käyttäjä piirtää vuokaavion, joka kuvaa tietolähteet, käytettävät algoritmit ja lopputuotteet. Toisena vaihtoehtona on ohjelmoida Python-kielinen skripti, joka kuvaa työvaiheita. Käyttäjä voi suorittaa valmiit prosessikuvaukset työkalupalkista.

QGISin käyttäjille on laadittu runsaasti ohjeistusta. Ohjeistus on tarpeen, sillä QGISin käyttö edellyttää perustietoja kartoituksesta. Verkkoaineisto ja kirjat ovat pääasiassa englanninkielisiä, mutta ohjelmisto on käännetty suomeksi.

Kotisivu
http://www.qgis.org
Lisenssi
GNU GPL
Toimii seuraavilla alustoilla
Linux, Windows, Mac OS X, FreeBSD
Asennus
Lue kehittäjien laatimat asennusohjeet
Käyttöohjeet
Linkkejä oppimateriaaliin
Ohjeet Tilastokeskuksen rajapintapalvelun käyttöön

Teksti: Mikko Harhanen
kuvakaappaukset: Mikko Harhanen

November 29, 2015 03:00 PM

November 20, 2015

Losca

Converting an existing installation to LUKS using luksipc

This is a burst of notes that I wrote in an e-mail in June when asked about it, and I'm not going to have any better steps since I don't remember even that amount as back then. I figured it's better to have it out than not.

So... if you want to use LUKS In-Place Conversion Tool, the notes below on converting a shipped-with-Ubuntu Dell XPS 13 Developer Edition (2015 Intel Broadwell model) may help you. There were a couple of small learnings to be had...
 
The page http://www.johannes-bauer.com/linux/luksipc/ itself is good and without errors, although funnily uses reiserfs as an example. It was only a bit unclear why I did save the initial_keyfile.bin since it was then removed in the next step (I guess it's for the case you want to have a recovery file hidden somewhere in case you forget the passphrase).

For using the tool I booted from a 14.04.2 LTS USB live image and operated there, including downloading and compiling luksipc in the live session. The exact reason of resizing before luksipc was a bit unclear to me at first so I simply indeed resized the main rootfs partition and left unallocated space in the partition table.


Then finally I ran ./luksipc -d /dev/sda4 etc.


I realized I want /boot to be on an unencrypted partition to be able to load the kernel + initrd from grub before entering into LUKS unlocking. I couldn't resize the luks partition anymore since it was encrypted... So I resized what I think was the empty small DIAGS partition (maybe used for some system diagnostic or something, I don't know), or possibly the next one that is the actual recovery partition one can reinstall the pre-installed Ubuntu from. And naturally I had some problems because it seems vfatresize tool didn't do what I wanted it to do and gparted simply crashed when I tried to use it first to do the same. Anyway, when done with getting some extra free space somewhere, I used the remaining 350MB for /boot where I copied the rootfs's /boot contents to.

After adding the passphrase in luks I had everything encrypted etc and decryptable, but obviously I could only access it from a live session by manual cryptsetup luksOpen + mount /dev/mapper/myroot commands. I needed to configure GRUB, and I needed to do it with the grub-efi-amd64 which was a bit unfamiliar to me. There's also grub-efi-amd64-signed I have installed now but I'm not sure if it was required for the configuration. Secure boot is not enabled by default in BIOS so maybe it isn't needed.


I did GRUB installation – I think inside rootfs chroot where I also mounted /dev/sda6 as /boot (inside the rootfs chroot), ie mounted dev, sys with -o bind to under the chroot (from outside chroot) and mount -t proc proc proc too. I did a lot of trial and effort so I surely also tried from outside the chroot, in the live session, using some parameters to point to the mounted rootfs's directories...


I needed to definitely install cryptsetup etc inside the encrypted rootfs with apt, and I remember debugging for some time if they went to the initrd correctly after I executed mkinitramfs/update-initramfs inside the chroot.


At the end I had grub asking for the password correctly at bootup. Obviously I had edited the rootfs's /etc/fstab to include the new /boot partition, I changed / to be "UUID=/dev/mapper/myroot /     ext4    errors=remount-ro 0       ", kept /boot/efi as coming from the /dev/sda1 and so on. I had also added "myroot /dev/sda4 none luks" to /etc/crypttab. I seem to also have GRUB_CMDLINE_LINUX="cryptdevice=/dev/sda4:myroot root=/dev/mapper/myroot" in /etc/default/grub.

The only thing I did save from the live session was the original partition table if I want to revert.


So the original was:

Found valid GPT with protective MBR; using GPT.
Disk /dev/sda: 500118192 sectors, 238.5 GiB
Logical sector size: 512 bytes
...
First usable sector is 34, last usable sector is 500118158
Partitions will be aligned on 2048-sector boundaries
Total free space is 6765 sectors (3.3 MiB)
 
Number  Start (sector)    End (sector)  Size       Code  Name
1            2048         1026047   500.0 MiB   EF00  EFI system partition
2         1026048         1107967   40.0 MiB    FFFF  Basic data partition
3         1107968         7399423   3.0 GiB     0700  Basic data partition
4         7399424       467013631   219.2 GiB   8300
5       467017728       500117503   15.8 GiB    8200

And I now have:


Number  Start (sector)    End (sector)  Size       Code  Name

1            2048         1026047   500.0 MiB   EF00  EFI system partition
2         1026048         1107967   40.0 MiB    FFFF  Basic data partition
3         1832960         7399423   2.7 GiB     0700  Basic data partition
4         7399424       467013631   219.2 GiB   8300
5       467017728       500117503   15.8 GiB    8200
6         1107968         1832959   354.0 MiB   8300

So it seems I did not edit DIAGS (and it was also originally just 40MB) but did something with the recovery partition while preserving its contents. It's a FAT partition so maybe I was able to somehow resize it after all.


The 16GB partition is the default swap partition. I did not encrypt it at least yet, I tend to not run into swap anyway ever in my normal use with the 8GB RAM.


If you go this route, good luck! :D

by Timo Jyrinki (noreply@blogger.com) at November 20, 2015 02:14 PM

November 05, 2015

Ubuntu-blogi

Sisäänkirjautumisen jälkeen näkyvän mustan ruudun korjaaminen Lubuntu 14.04:ssä

Tämä ohje voi olla tarpeen osalle Lubuntu 14.04 LTS -asennuksista (Ubuntu yhteisön ylläpitämällä LXDE-käyttöliittymällä), ja sitä voi kokeilla muissakin virhetilanteissa. Vastaavan korjauksen voi tehdä myös tietokonetta käynnistettäessä Ubuntun palautustilan (”recovery mode”) valikon avulla.

Useat Linux-tuki.fi:n asiakkaat ovat viime päivinä raportoineet, että Ubuntu-läppäri tai -työasema yllättäen lakkasi toimimasta oikein. Oire on, että sisäänkirjautumisessa, käyttäjätunnuksen ja salasanan syöttämisen jälkeen ruutu vilkkuu ja on hetken musta. Tämän jälkeen näyttö tulee takaisin kirjautumisnäkymään.

Ongelma johtuu Ubuntun päivityksestä, joka on epäonnistunut ja jättänyt graafisen työpöytäympäristön toimimattomaan tilaan.

Korjauksen voi tehdä itse avaamalla tekstipäätteen painamalla Ctrl+Alt+F1 ja kirjautumalla sisään tekstitilassa. Sen jälkeen voi ajaa päivityksen loppuun onnistuneesti komentamalla:

sudo dpkg --configure -a
sudo apt-get update
sudo apt-get upgrade -y

Lopuksi aja sudo reboot. Ubuntun uudelleenkäynnistymisen jälkeen sisäänkirjautuminen ja käyttö pitäisi onnistua normaalisti.

Ohje on julkaistu alun perin osoitteessa http://seravo.fi/2015/fixing-black-screen-after-login-in-ubuntu-14-04

by Otto at November 05, 2015 09:06 AM

July 29, 2015

Ubuntu-blogi

Kokemuksia Meizu MX4 -Ubuntu-puhelimesta

Juuri ennen juhannusta pakettikusti toi minulle Meizu MX4 -Ubuntu-puhelimen käyttöön, ja käyttöön se päätyikin hyvin nopeasti, korvaten BQ Aquaris E4.5:n. Käyttöjärjestelmä säilyi samana, joten en suuremmin sen käyttökokemukseen syvenny vaan säästän sen erilliseen  juttuun. Lisää raudan teknisistä spekseistä löytyy muun muassa Meizun sivuilta.

MEIZU MX4 saatekirjeen ja kirveen kera

Postin tuomaa

MX4 on kooltaan selkeästi isompi kuin Aquaris, näytön ollessa selkeästi leveämpi yltäen laitteen reunoihin. Ainakin minun käyttökokemus on että jonkinlaiset reunat näyttöjen sivuilla helpottaa reunaeleiden kanssa. MX4:n koko on sitä luokkaa että allekirjoittaneen sormien ulottuminen kokee hetkittäin haasteita. Käsittely muutenkin on jonkin verran hankalampaa, siitä todisteena kova kosketus maantien kanssa.

MEIZU

Meizu lommoilla

Alumiinirunkoisena puhelin kuitenkin kestää ilmeisen hyvin kovaakin kuritusta, tästä isoa plussaa paljon rymyävälle. Näytön suurempi koko ja tarkkuus pääsi kunnolla oikeuksiinsa tässä hiljattain kun päivityksessä muutettiin MX4:lle asetettua ruudukkoarvoa jolla määritetään näytölle piirrettävän sisällön suhteellista kokoa.

Ubuntu Suomi twitter

Näytölle mahtuu tekstiä

Akkukesto oli aluksi sangen heikko ja lämpöä riitti pitkin päivää. Muutaman korjauspäivityksen jälkeen tuollakin saralla tuli selkeitä parannuksia, nyt akun kestäen vähäistä käyttöä useamman päivän tahi kovempaa käyttöä päivän tahi puolitoista.

MX4 Ubuntun akunkäyttö

Akku kestää jo päivän yli

Meizu on laittanut melkoisesti ruutia MX4:ään ajatellen Ubuntun tarpeita. 8 ydintä puksuttaa todennäköisesti melkoisesti alikäytöllä eikä laitteen rajoja oikeastaan tarvitse miettiä normikäytössä. Keskusmuistiakin on ladattu riittämiin, ohjelmien taustalla pyörimistä voisi tällaisella raudalla sallia huomattavasti vapaammin kuin nyt tehdään.

Kamerasta ei vielä saada täyttä hyötyä irti ohjelmistobugien takia. 21 Mpix kamerasta saadaan tällä hetkellä käyttöön vain noin 15 Mpix eikä videokuvakaan käytä kameran täyttä resoluutiota vielä.

Kaikenkaikkiaan Meizu MX4 on tällä hetkellä sangen onnistunut puutteistaan huolimatta, ohjelmistosta johtuvat ongelmat ovat ratkaistavissa ja korjauksia ja parannuksia tuleekin säännöllisesti päivityksistä.

Seuraavaa Ubuntu Insiders -puhelinta odotellessa…

– Tm_T

by Tm_T at July 29, 2015 12:14 PM

June 08, 2015

Ubuntu-blogi

Pikakatsaus: Dell XPS 13 Developer Edition – Ubuntua suoraan kaupasta

Tässä nopea vilkaisu uunituoreeseen Suomessakin saatavilla olevaan Dell XPS 13 Developer Editioniin, joka tulee Ubuntu 14.04 LTS -käyttöjärjestelmällä (lisättynä mallikohtaisilla korjauksilla). Mallista on Suomesta suoraan saatavilla kahta mallia, joiden yhdistäviä tekijöitä ovat i7-5600U -suoritin, 8GB käyttömuistia sekä 256GB SSD-kiintolevy. Eroina valittavana on joko mattapintainen FullHD-näyttö ilman kosketustukea, tai hieman kiiltävämpi QHD (3200×1800) -näyttö kosketustuella. Päädyin näistä ensimmäiseen pääasiassa jonkin verran paremman akunkeston sekä ulkokäytössä näppärän mattapinnan takia. Työkäytössä en ole huomannut tarvetta kosketusnäytölle, vaikka toki sellainen olisi mukava esim tulevaa Unity 8:aa ajatellen.

Tein pienen tarjouskierroksen Etelä-Suomen Dell-jälleenmyyjien välillä, mutta mitenkään kattavasti en liikkeitä käynyt läpi. Parhaimman palvelun selvityksineen tarjosivat vantaalainen Datakuja sekä turkulainen Jimm’s PC Store. Molemmat vastasivat tarjouspyyntöön, selvittivät asiaa (koska kyseessä oli vasta myyntiin tulossa oleva malli) ja palasivat asian tiimoilta sähköpostitse tai puhelimitse. Muutamassa muussa liikkeessä vastaus oli lyhyempi tyyliin “ei näy vielä listoilla”. Datakujalla ei ole verkkokauppaa mutta palvelu oli muutoin ripeää ja ensiluokkaista. Tätä kirjoitettaessa Jimm’s:n listoilla ei näitä uusia XPS 13 Ubuntu-malleja näy (päivitys 15.6.2015: Jimm’s on lisännyt FullHD-mallin tilattavaksi), mutta Ubuntu Suomen Tietokoneet ja laitteet -sivulla on jo 6 kauppaa joilta uudet XPS1316EAC- ja XPS1326EAC-tuotekoodilliset mallit löytyvät.

Ubuntu laatikosta -kuvasarja

1

Musta laatikko, valkoinen kissa.

Avattu laatikko

Avattu laatikko

Kansi auki! Huomaa Ubuntu-logo.

Kansi auki! Huomaa Ubuntu-logo.

Virrat päälle, käynnistyslogosta ensimmäisen käyttökerran videoon.

Virrat päälle, käynnistyslogosta ensimmäisen käyttökerran videoon.

Ensimmäisen käynnistyskerran kysymykset, aloittaen kielestä.

Ensimmäisen käynnistyskerran kysymykset, aloittaen kielestä.

Palautusmedian luominen. Olin lukenut että on suositeltavaa ladata ensin uusimmat päivitykset, joten ohitin tässä vaiheessa.

Palautusmedian luominen. Olin lukenut että on suositeltavaa ladata ensin uusimmat päivitykset, joten ohitin tässä vaiheessa.

Ubuntu viimeistelee asetuksiaan.

Ubuntu viimeistelee asetuksiaan.

Valmiina kirjautumaan.

Valmiina kirjautumaan.

Työpöydällä ollaan!

Työpöydällä ollaan!

Paljon päivityksiä ladattavaksi...

Paljon päivityksiä ladattavaksi…

Ensimmäisen toimituserän ongelmia

Päivitys: Dell keskeytti XPS 13 -myynnin kesällä hetkeksi aikaa, jotta kaikki korjaukset saatiin suoraan tehtaalta tuleviin laitteisiin!

Ikävä kyllä ensimmäinen toimituserä oli osittain puutteellinen. Ongelmat on helppo korjata näillä ohjeilla, mutta on ikävää että tämän vuosimallin XPS 13 ei ollut moitteeton suoraan. Ensinnäkin, päivitysten asentaminen keskeytyy ensimmäisellä kerralla, mikä on helpoin korjata avaamalla Unity-valikkoPääte ja suorittamalla komento sudo apt-get install -f (joka ehdottaa pakettien libc-dev-bin, libc6-dbg, libc6-dev ja udev päivittämistä).

Toiseksi kosketuslevyn täydellisesti toimimaan saava ajuri on mukana, mutta ei käytössä. Se on helppo ottaa käyttöön parilla klikkauksella, ks Dellin YouTube-video tai alla olevat kuvat.

Valintaikkuna kosketuslevyn paremman ajurin käyttöön ottoon.

Valintaikkuna kosketuslevyn paremman ajurin käyttöön ottoon.

meta-closeupValinnaisesti on vielä mahdollista ottaa uusimmat ajurit käyttöön 14.04.2 LTS:n ajurituen muodossa, mutta ehkä parasta on odottaa elokuussa julkaistavaa 14.04.3 LTS -ajuritukea (vastaa 15.04:aa) jos uunituoreet ajurit kiinnostavat. Itselleni 14.04.2 LTS toimi kyllä hyvin mutta mikrofoni lakkasi oletuksena toimimasta. Dellin blogauksen perusteella tämä toimisi 15.04:n ajurituella suoraan taas. Puhtaalta pöydältä tuskin kannattaa Ubuntua lähteä asentamaan, sillä Dellin mallikohtaiset korjaukset, kuten yllä näytetyt, löytävät tiensä mahdollisesti vasta 15.10:een jos kaikki lasketaan yhteen. Linkatun Dell-blogikirjoituksen kautta löytyvät kyllä myös tiedot niin eri puhtaiden Ubuntu-versioiden kuin Debianin tai muiden Linux-jakeluiden käyttäjille.

Kokemuksia

Dell XPS 13 Developer Edition + Ubuntu 14.04 LTS on erittäin toimiva kokonaisuus, joka lähentelisi täydellisyyttä ellei ensimmäisessä toimituserässä olisi mainittuja ongelmia. Läppäri on erinomaisen näköinen, tuntuinen ja kevyt.

Olen siirtänyt nyt työtiedostoni uudelle koneelle, ja päivittäinen työnteko sujuu kuin tanssi. Mahdollisesti mielenkiintoisina täkyinä käytän LXC:tä Ubuntun kehitysversion ajamiseen sekä tein aika mielenkiintoisen ”LUKS In-Place Conversion” -operaation, jota en tosin suosittele ellei GRUB2 ole lähimpiä ystäviäsi 🙂

Timo Jyrinki

(tämä blogipostaus on vapaa käännös englanninkielisestä versiostani)

by Timo Jyrinki at June 08, 2015 11:06 AM

Losca

Quick Look: Dell XPS 13 Developer Edition (2015) with Ubuntu 14.04 LTS

I recently obtained the newest Dell's Ubuntu developer offering, XPS 13 (2015, model 9343). I opted in for FullHD non-touch display, mostly because of better battery life, the actual no need for higher resolution, and matte screen which is great outside. Touch would have been "nice-to-have", but in my work I don't really need it.

The other specifications include i7-5600U CPU, 8GB RAM, 256GB SSD [edit: lshw], and of course Ubuntu 14.04 LTS pre-installed as OEM specific installation. It was not possible to directly order it from Dell site, as Finland is reportedly not online market for Dell... The wholesale company however managed to get two models on their lists and so it's now possible to order via retailers. [edit: here are some country specific direct web order links however US, DE, FR, SE, NL]

In this blog post I give a quick look on how I started up using it, and do a few observations on the pre-installed Ubuntu included. I personally was interested in using the pre-installed Ubuntu like a non-Debian/Ubuntu developer would use it, but Dell has also provided instructions for Ubuntu 15.04, Debian 7.0 and Debian 8.0 advanced users among else. Even if not using the pre-installed Ubuntu, the benefit from buying an Ubuntu laptop is obviously smaller cost and on the other hand contributing to free software (by paying for the hardware enablement engineering done by or purchased by Dell).

Unboxing

The Black Box. (and white cat)

Opened box.






First time lid opened, no dust here yet!
First time boot up, transitioning from the boot logo to a first time Ubuntu video.
A small clip from the end of the welcoming video.
First time setup. Language, Dell EULA, connecting to WiFi, location, keyboard, user+password.
Creating recovery media. I opted not to do this as I had happened to read that it's highly recommended to install upgrades first, including to this tool.
Finalizing setup.
Ready to log in!
It's alive!
Not so recent 14.04 LTS image... lots of updates.

Problems in the First Batch

Unfortunately the first batch of XPS 13:s with Ubuntu are going to ship with some problems. They're easy to fix if you know how to, but it's sad that they're there to begin with in the factory image. There is no knowledge when a fixed batch will start shipping - July maybe?

First of all, installing software upgrades stops. You need to run the following command via Dash → Terminal once: sudo apt-get install -f (it suggests upgrading libc-dev-bin, libc6-dbg, libc6-dev and udev). After that you can continue running Software Updater as usual, maybe rebooting in between.

Secondly, the fixed touchpad driver is included but not enabled by default. You need to enable the only non-enabled ”Additional Driver” as seen in the picture below or instructed in Youtube.

Dialog enabling the touchpad driver.

Clarification: you can safely ignore the two paragraphs below, they're just for advanced users like me who want to play with upgraded driver stacks.

Optionally, since I'm interested in the latest graphics drivers especially in case of a brand new hardware like Intel Broadwell, I upgraded my Ubuntu to use the 14.04.2 Hardware Enablement stack (matches 14.10 hardware support): sudo apt install --install-recommends libgles2-mesa-lts-utopic libglapi-mesa-lts-utopic linux-generic-lts-utopic xserver-xorg-lts-utopic libgl1-mesa-dri-lts-utopic libegl1-mesa-drivers-lts-utopic libgl1-mesa-glx-lts-utopic:i386
 
Even though it's much better than a normal Ubuntu 14.10 would be since many of the Dell fixes continue to be in use, some functionality might become worse compared to the pre-installed stack. The only thing I have noticed though is the internal microphone not working anymore out-of-the-box, requiring a kernel patch as mentioned in Dell's notes. This is not a surprise since the real eventual upstream support involves switching from HDA to I2S and during 14.10 kernel work that was not nearly done. If you're excited about new drivers, I'd recommend waiting until August when the 15.04 based 14.04.3 stack is available (same package names, but 'vivid' instead of 'utopic'). [edit: I couldn't resist myself when I saw linux-generic-lts-vivid (3.19 kernel) is already in the archives. 14.04.2 + that gives me working microphone again!] [edit 08/2015: full 14.04.3 HWE stack now available, improves graphics performance and features among else, everything seems good: sudo apt install --install-recommends linux-generic-lts-vivid libgles2-mesa-lts-vivid libglapi-mesa-lts-vivid xserver-xorg-lts-vivid libgl1-mesa-dri-lts-vivid libegl1-mesa-lts-vivid libgl1-mesa-glx-lts-vivid:i386 libegl1-mesa-lts-vivid libwayland-egl1-mesa-lts-vivid mesa-vdpau-drivers-lts-vivid libgl1-mesa-dri-lts-vivid:i386 ]

Conclusion

Dell XPS 13 Developer Edition with Ubuntu 14.04 LTS is an extremely capable laptop + OS combination nearing perfection, but not quite there because of the software problems in the launch pre-install image. The laptop looks great, feels like a quality product should and is very compact for the screen size.

I've moved over all my work onto it and everything so far is working smoothly in my day-to-day tasks. I'm staying at Ubuntu 14.04 LTS and using my previous LXC configuration to run the latest Ubuntu and Debian development versions. I've also done some interesting changes already like LUKS In-Place Conversion, converting the pre-installed Ubuntu into whole disk encrypted one (not recommended for the faint hearted, GRUB reconfiguration is a bit of a pain).

I look happily forward to working a few productive years with this one!

by Timo Jyrinki (noreply@blogger.com) at June 08, 2015 11:02 AM

February 12, 2015

Ubuntu-blogi

Uusia Ubuntu-tuotteita: Dell-tehokannettava ja Bq-puhelin

Uusia Ubuntu-tuotteita on nyt saatavilla myös Suomessa.

Dell Precision M3800 Developer Edition

M3800Markkinoiden ohuimman ja kevyimmän 15 tuuman tehokannettavan, Precision M3800 -työaseman uusia ominaisuuksia ovat muun muassa 4K Ultra HD  -kosketusnäyttö, Thunderbolt 2 -teknologia ja Ubuntu-pohjainen versio ohjelmistokehittäjille.

Thunderbolt 2 -portti mahdollistaa 20 Gbps:n datasiirtonopeuden ja tukee korkean resoluution ja suorituskyvyn näyttöjä ja muita laitteita. Lisäksi Dell on lisännyt M3800-tehokannettavaan tallennusvaihtoehtoja ja nostanut saatavilla olevan sisäisen levyaseman kokoa 2 teratavuun. Kannettavan paksuus on noin 18 mm ja painoa on noin 1,88 kg. Kannettava sisältää Intel Core i7 -neliydinsuorittimen, NVIDIA Quadro K1100M -näytönohjaimen ja keskusmuistia 16 Gt.

Precision M3800 -kannettava on saatavilla Ubuntu-, Windows 7 -ja Windows 8.1 -käyttöjärjestelmillä. Dell tarjoaa ensimmäisen kerran Precision M3800 -kannettavasta Ubuntu-pohjaisen kehittäjäversion. Ubuntu-kehittäjäversio on tilattavissa suoraan Dell Suomen puhelinpalvelusta (yritykset) tai tilaamalla Dell-jälleenmyyjiltä (myös kuluttajat, toimitukset alkavat maaliskuussa) kautta maan.

Seuraavaksi odotellaan tietoja Dell XPS 13 Developer Editionin uusimmasta versiosta, jonka ei pitäisi tulla kovin paljon M3800:aa perässä. Odotettavissa on markkinoiden paras Ultrabook virallisella Ubuntu-tuella.

Maailman ensimmäinen Ubuntu-puhelin: Bq Aquaris E4.5 Ubuntu Edition

bqBq Aquaris E4.5 Ubuntu Edition on maailman ensimmäinen Ubuntu-puhelin, ja saatavilla nyt rajoitetusti Euroopassa. Ubuntu-puhelimissa käytetään Ubuntun uutta Unity 8 -käyttöliittymää ja sen erityisesti näkymiin (scopes) pohjautuvaa käyttötapaa. Perinteisistä sovelluksista mukana on muun muassa Telegram, HERE-kartat, Cut the Rope sekä Facebook- ja Twitter-websovellukset. Työpöytä-Ubuntun tapaan Ubuntu-puhelimetkin ovat markkinoiden vahvimmin avointa lähdekoodia käyttäviä massamarkkinatuotteita, joten myös kehittäjät pääsevät mukaan kaikilla tasoilla sovelluskehityksen lisäksi.

Myynti on alkanut eilen tapahtuneella pikamyyntitapahtumalla (Flash Sale). Myyntiin liittyi aluksi suuria teknisiä ongelmia, eikä Suomi ollut aluksi maissa joihin toimitetaan. Iltapäiväksi luvattiin uusi erä – tällä kertaa Suomi oli jo mukana, ja tekniset ongelmat olivat poissa, mutta myyntierä loppui jo 4 minuutissa. Suurin osa kiinnostuneista jäi ilman, mikä aiheutti harmitusta ympäri nettiä. Myyntitapahtuman ei kaiken kaikkiaan voi sanoa menneen aivan putkeen. Seuraava myyntierä lienee ensi viikolla, mistä tiedotetaan Bq:n ja Ubuntun Twitter-tileillä. Bq ilmoitti jälkikäteen saaneensa yli 12 000 tilausta minuutissa.

Bq:n saatavuudesta muuten kuin pikamyynnein ei ole vielä tarkkaa tietoa. Operaattorikumppaneiksi on tässä vaiheessa ilmoitettu 3 Sweden, amena.com (Espanja), giffgaff (Iso-Britannia) ja Portugal Telecom, ja näistäkään ei tiedetä juuri muuta kuin nimet.

Keskustelua Bq:sta yms. muun muassa Ubuntu Suomen keskustelualueiden uudella mobiililaitteet-alueella.

Puhelinpuolella seuraavaksi odotellaan Meizu-valmistajaa, jonka huhutaan esittelevän Ubuntu-puhelintaan MWC-messuilla maaliskuun alussa.

by Timo Jyrinki at February 12, 2015 01:27 PM

March 19, 2014

Losca

Qt 5.2.1 in Ubuntu

Ubuntu running Qt 5.2.1
Ubuntu running Qt 5.2.1
Qt 5.2.1 landed in Ubuntu 14.04 LTS last Friday, hooray! Making it into a drop-in replacement for Qt 5.0.2 was not trivial. Because of the qreal change, it was decided to rebuild everything against the new Qt, so it was an all at once approach involving roughly 130 source packages while the parts were moving constantly. The landing last week meant pushing to archives around three thousand binary packages - counting all six architectures - with the total size of closer to 10 gigabytes.

The new Qt brings performance and features to base future work on, and is a solid base for the future of Ubuntu. You may be interested in the release notes for Qt 5.2.0 and 5.2.1. The Ubuntu SDK got updated to Qt Creator 3.0.1 + new Ubuntu plugin at the same time, although updates for the older Ubuntu releases is a work in progress by the SDK Team.

How We Got Here

Throughout the last few months before the last joint push, I filed tens of tagged bugs. For most of that time I was interested only in build and unit test results, since even tracking those was quite a task. I offered simple fixes here and there myself, if I found out a fix.

I created automated Launchpad recipe builds for over 80 packages that rely on Qt 5 in Ubuntu. Meanwhile I also kept on updating the Qt packaging for its 20+ source packages and tried to stay on top of Debian's and upstream's changes.

Parallel to this work, some like the Unity 8 and UI Toolkit developers started experimenting with my Qt 5.2 PPA. It turned out the rewritten QML engine in Qt 5.2 - V4 - was not entirely stable when 5.2.0 was released, so they worked together with upstream on fixes. It was only after 5.2.1 release that it could be said that V4 worked well enough for Unity 8. Known issues like these slowed down the start of full-blown testing.

Then everything built, unit tests passed, most integration tests passed and things seemed mostly to work. We had automated autopilot integration testing runs. The apps team tested through all of the app store to find out whether some needed fixes - most were fine without changes. On top of the found autopilot test failures and other app issues, manual testing found a few more bugs

Sudoku
Some critical pieces of software
like Sudoku needed small fixing
Finally last Thursday it was decided to push Qt in, with a belief that the remaining issues had fixes in branches or not blockers. It turned out the real deployment of Qt revealed a couple of more problems, and some new issues were raised to be blockers, and not all of the believed fixes were really fixing the bugs. So it was not a complete success. Considering the complexity of the landing, it was an adequate accomplishment however.

Specific Issues

Throughout this exercise I bumped into more obstacles that I can remember, but those included:
  • Not all of the packages had seen updates for months or for example since last summer, and since I needed to rebuild everything I found out various problems that were not related to Qt 5.2
  • Unrelated changes during 14.04 development broke packages - like one wouldn't immediately think a gtkdoc update would break a package using Qt
  • Syncing packaging with Debian is GOOD, and the fixes from Debian were likewise excellent and needed, but some changes there had effects on our wide-spread Qt 5 usage, like the mkspecs directory move
  • xvfb used to run unit tests needed parameters updated in most packages because of OpenGL changes in Qt
  • arm64 and ppc64el were late to be added to the landing PPA. Fixing those archs up was quite a last minute effort and needed to continue after landing by the porters. On the plus side, with Qt 5.2's V4 working on those archs unlike Qt 5.0's V8 based Qt Declarative, a majority of Unity 8 dependencies are now already available for 64-bit ARM and PowerPC!
  • While Qt was being prepared the 100 other packages kept on changing, and I needed to keep on top of all of it, especially during the final landing phase that lasted for two weeks. During it, there was no total control of "locking" packages into Qt 5.2 transition, so for the 20+ manual uploads I simply needed to keep track of whether something changed in the distribution and accommodate.
One issue related to the last one was that some things needed were in progress at the time. There was no support for automated AP test running using a PPA. There was also no support on building images. If migration to Ubuntu Touch landing process (CI Train, a middle point on the way to CI Airlines) had been completed for all the packages earlier, handling the locking would have been clearer, and the "trunk passes all integration tests too" would have prevented "trunk seemingly got broken" situations I ended up since I was using bzr trunks everywhere.

Qt 5.3?

We are near to having a promoted Ubuntu image for the mobile users using Qt 5.2, if no new issues pop up. Ubuntu 14.04 LTS will be released in a month to the joy of desktop and mobile users alike.

It was discussed during the vUDS that Qt 5.3.x would be likely Qt version for the next cycle, to be on the more conservative side this time. It's not entirely wrong to say we should have migrated to Qt 5.1 in the beginning of this cycle and only consider 5.2. With 5.0 in use with known issues, we almost had to switch to 5.2.

Kubuntu will join the Qt 5 users next cycle, so it's no longer only Ubuntu deciding the version of Qt. Hopefully there can be a joint agreement, but in the worst case Ubuntu will need a separate Qt version packaged.

by Timo Jyrinki (noreply@blogger.com) at March 19, 2014 07:42 AM

November 27, 2013

Losca

Jolla launch party

And then for something completely different, I've my hands on Jolla now, and it's beautiful!



A quick dmesg of course is among first things to do...
[    0.000000] Booting Linux on physical CPU 0
[ 0.000000] Initializing cgroup subsys cpu
[ 0.000000] Linux version 3.4.0.20131115.2 (abuild@es-17-21) (gcc version 4.6.4 20130412 (Mer 4.6.4-1) (Linaro GCC 4.6-2013.05) ) #1 SMP PREEMPT Mon Nov 18 03:00:49 UTC 2013
[ 0.000000] CPU: ARMv7 Processor [511f04d4] revision 4 (ARMv7), cr=10c5387d
[ 0.000000] CPU: PIPT / VIPT nonaliasing data cache, PIPT instruction cache
[ 0.000000] Machine: QCT MSM8930 CDP
... click for the complete file ...
And what it has eaten: Qt 5.1!
...
qt5-qtconcurrent-5.1.0+git27-1.9.4.armv7hl
qt5-qtcore-5.1.0+git27-1.9.4.armv7hl
qt5-qtdbus-5.1.0+git27-1.9.4.armv7hl
qt5-qtdeclarative-5.1.0+git24-1.10.2.armv7hl
... click for the complete file ...
It was a very nice launch party, thanks to everyone involved.






Update: a few more at my Google+ Jolla launch party gallery

by Timo Jyrinki (noreply@blogger.com) at November 27, 2013 08:10 PM

March 30, 2013

Jouni Roivas

QGraphicsWidget

Usually it's easy to get things working with Qt (http://qt-project.org), but recently I encoutered an issue when trying to implement simple component derived from QGraphicsWidget. My initial idea was to use QGraphicsItem, so I made this little class:

class TestItem : public QGraphicsItem
{
public:
TestItem(QGraphicsItem *parent=0) : QGraphicsItem(parent) {}
void paint(QPainter *painter, const QStyleOptionGraphicsItem *option, QWidget *widget = 0);
virtual QRectF boundingRect () const;

protected:
virtual void mousePressEvent(QGraphicsSceneMouseEvent *event);
virtual void mouseReleaseEvent(QGraphicsSceneMouseEvent *event);
};

void TestItem::mousePressEvent(QGraphicsSceneMouseEvent *event)
{
qDebug() << __PRETTY_FUNCTION__ << "press";
}

void TestItem::mouseReleaseEvent(QGraphicsSceneMouseEvent *event)
{
qDebug() << __PRETTY_FUNCTION__ << "release";
}

void TestItem::paint(QPainter *painter, const QStyleOptionGraphicsItem *option, QWidget *widget)
{
Q_UNUSED(option)
Q_UNUSED(widget)
painter->fillRect(boundingRect(), QColor(255,0,0,100));
}

QRectF TestItem::boundingRect () const
{
return QRectF(-100, -40, 100, 40);
}
Everything was working like expected, but in order to use a QGraphicsLayout, I wanted to derive that class from QGraphicsWidget. The naive way was to make minimal changes:

class TestWid : public QGraphicsWidget
{
Q_OBJECT
public:
TestWid(QGraphicsItem *parent=0) : QGraphicsWidget(parent) { }
void paint(QPainter *painter, const QStyleOptionGraphicsItem *option, QWidget *widget = 0);
virtual QRectF boundingRect () const;

protected:
virtual void mousePressEvent(QGraphicsSceneMouseEvent *event);
virtual void mouseReleaseEvent(QGraphicsSceneMouseEvent *event);
};

void TestWid::mousePressEvent(QGraphicsSceneMouseEvent *event)
{
qDebug() << __PRETTY_FUNCTION__ << "press";
}

void TestWid::mouseReleaseEvent(QGraphicsSceneMouseEvent *event)
{
qDebug() << __PRETTY_FUNCTION__ << "release";
}

void TestWid::paint(QPainter *painter, const QStyleOptionGraphicsItem *option, QWidget *widget)
{
Q_UNUSED(option)
Q_UNUSED(widget)
painter->fillRect(boundingRect(), QColor(0,0,255,100));
}

QRectF TestWid::boundingRect () const
{
return QRectF(-100, -40, 100, 40);
}

Pretty straightforward, isn't it? It showed and painted things like expected, but I didn't get any mouse events. Wait what?

I spent hours just trying out things and googling this problem. I knew I had this very same issue earlier but didn't remember how I solved it. Until I figured out a very crucial thing, in case of QGraphicsWidget you must NOT implement boundingRect(). Instead use setGeometry for the object.

So the needed changes was to remote the boundingRect() method, and to call setGeometry in TestWid constructor:

setGeometry(QRectF(-100, -40, 100, 40));

After these very tiny little changes I finally got everthing working. That all thing made me really frustrated. Solving this issue didn't cause good feeling, I was just feeling stupid. Sometimes programming is a great waste of time.

by Jouni Roivas (noreply@blogger.com) at March 30, 2013 01:57 PM

August 31, 2012

Jouni Roivas

Adventures in Ubuntu land with Ivy Bridge

Recently I got a Intel Ivy Bridge based laptop. Generally I'm quite satisfied with it. Of course installed latest Ubuntu on it. First problem was EFI boot and BIOS had no other options. Best way to work around it was to use EFI aware grub2. I wanted to keep the preinstalled Windows 7 there for couple of things, so needed dual boot.

After digging around this German links was most relevant and helpful: http://thinkpad-forum.de/threads/123262-EFI-Grub2-Multiboot-HowTo.

In the end all I needed to do was to install Grub2 to EFI boot parition (/dev/sda1 on my case) and create the grub.efi binary under that. Then just copy /boot/grub/grub.cfg under it as well. On BIOS set up new boot label to boot \EFI\grub\grub.efi

After using the system couple of days found out random crashes. The system totally hanged. Finally traced the problem to HD4000 graphics driver: http://partiallysanedeveloper.blogspot.fi/2012/05/ivy-bridge-hd4000-linux-freeze.html

Needed to update Kernel. But which one? After multiple tries, I took the "latest" and "shiniest" one: http://kernel.ubuntu.com/~kernel-ppa/mainline/v3.4-precise/. With that kernel I got almost all the functionality and stability I needed.

However one BIG problem: headphones. I got sound normally from the speakers but after plugging in the headphones I got nothing. This problem seems to be on almost all the kernels I tried. Then I somehow figured out a important thing related to this. When I boot with headphone plugged in I got no sound from them. When I boot WITHOUT headphones plugged then they work just fine. Of course I debugged this problem all the time with the headphones plugged in and newer noticed this could be some weird detection problem. Since I kind of found solution for this I didn't bother to google it down. And of course Canonical does not provide support for unsupported kernels. If I remember correctly with the original Ubuntu 12.04 kernel this worked, but the HD4000 problem is on my scale bigger one than remember to boot without plugging anything to the 3.5" jack....

Of course my hopes are on 12.10 and don't want to dig it deeper, just wanted to inform you about this one.

by Jouni Roivas (noreply@blogger.com) at August 31, 2012 07:57 PM

July 04, 2012

Ville-Pekka Vainio

SSD TRIM/discard on Fedora 17 with encypted partitions

I have not blogged for a while, now that I am on summer holiday and got a new laptop I finally have something to blog about. I got a Thinkpad T430 and installed a Samsung SSD 830 myself. The 830 is not actually the best choice for a Linux user because you can only download firmware updates with a Windows tool. The tool does let you make a bootable FreeDOS USB disk with which you can apply the update, so you can use a Windows system to download the update and apply it just fine on a Linux system. The reason I got this SSD is that it is 7 mm in height and fits into the T430 without removing any spacers.

I installed Fedora 17 on the laptop and selected drive encryption in the Anaconda installer. I used ext4 and did not use LVM, I do not think it would be of much use on a laptop. After the installation I discovered that Fedora 17 does not enable SSD TRIM/discard automatically. That is probably a good default, apparently all SSDs do not support it. When you have ext4 partitions encrypted with LUKS as Anaconda does it, you need to change two files and regenerate your initramfs to enable TRIM.

First, edit your /etc/fstab and add discard to each ext4 mount. Here is an example of my root mount:
/dev/mapper/luks-secret-id-here / ext4 defaults,discard 1 1

Second, edit your /etc/crypttab and add allow-discards to each line to allow the dmcrypt layer to pass TRIM requests to the disk. Here is an example:
luks-secret-id-here UUID=uuid-here none allow-discards

You need at least dracut-018-78.git20120622.fc17 for this to work, which you should already have on an up-to-date Fedora 17.

Third, regenerate your initramfs by doing dracut -f. You may want to take a backup of the old initramfs file in /boot but then again, real hackers do not make backups 😉 .

Fourth, reboot and check with cryptsetup status luks-secret-id-here and mount that your file systems actually use discard now.

Please note that apparently enabling TRIM on encrypted file systems may reveal unencrypted data.

by Ville-Pekka Vainio at July 04, 2012 06:14 PM

April 29, 2012

Miia Ranta

Viglen MPC-L from Xubuntu 10.04 LTS to Debian stable

With Ubuntu not supplying a kernel suitable for the CPU (a Geode GX2 by National Semiconductors, a 486 buzzing at 399MHz clock rate) of my Viglen MPC-L (the one Duncan documented the installation of Xubuntu in 2010), it was time to look for other alternatives. I wasn’t too keen on the idea of using some random repository to get the suitable kernel for newer version of Ubuntu, so Debian was the next best thing that came to mind.

Friday night, right before heading out to pub with friends, I sat on the couch, armed with a laptop, USB keyboard, RGB cable and a USB memory stick. Trial and error reminded me to

  1. use bittorrent to download the image since our flaky Belkin-powered Wifi cuts off the connection every few minutes and thus corrupts direct downloads, and
  2. do the boot script magic of pnpbios=off noapic acpi=off like with our earlier Xubuntu installation.

In contrast to the experience of installing Xubuntu on the Viglen MPC-L, the Debian installation was easy from here on. The installer seemed to not only detect the needed kernel and install the correct one (Linux wizzle 2.6.32-5-486 #1 Mon Mar 26 04:36:28 UTC 2012 i586 GNU/Linux) but, judging from the success of the first reboot after the installation had finished and a quick look at /boot/grub/grub.cfg, had also set the right boot options automatically. So the basic setup was a *lot* easier than it was with Xubuntu!

Some things that I’ve gotten used to being automatically installed with Ubuntu weren’t pre-installed with Debian and so I had to install them for my usage. Tasksel installed ssh server, but rsync, lshw and ntfs-3g needed to be installed as well which I had gotten used to having in Ubuntu, but installing them wasn’t too much of a chore. As I use my Viglen MPC-L as my main irssi shell nowadays, I had to install of course irssi, but some other stuff needed by it and my other usage patterns… so… after installing apt-file pastebinit zsh fail2ban for my pet peeves, and tmux irssi irssi-scripts libcrypt-blowfish-perl libcrypt-dh-perl libcrypt-openssl-bignum-perl libdbi-perl sqlite3 libdbd-sqlite3-perl I finally have approximately the system I needed.

All in all, the experience was a lot easier than what I had with Xubuntu in September 2010. It definitely surprised me and I kind of hope that this process wasn’t as easy and automated 18 months ago…

by myrtti at April 29, 2012 10:00 PM

November 06, 2011

Miia Ranta

Ubuntu 11.10 on an ExoPC/Wetab, or how I found some use for my tablet and learnt to hate on-screen keyboards

I attended an event in the spring that ended with a miraculous incident of being given an ExoPC to use. The operating system that it came installed with was a bit painful to use (and I’m not talking about a Microsoft product), so I didn’t find too much use for the device. I flashed it with a new operating system image quite often, only to note that none to few problems were ever fixed in the UI. Since operating system project is pretty much dead now with participants moving to new areas and projects of interest, I decided to bite the bullet and flash my device with the newest Ubuntu.

Installation project requires an USB memory stick made into an installation media with the tools shipped with regular Ubuntu. A keyboard is also nice to have to make installation process feasible in the first place, or at least it makes it much less painful experience. After the system is installed, comes the pain of getting the hardware to play nice. Surprisingly I’ve had no other problems than trying to figure out how to make the device and operating system to realise that I want to scroll or right-click with my fingers instead of a mouse. Almost all the previous instructions I’ve come across involve (at best) Ubuntu 11.04 and a 2.6.x kernel – and the rest fail to give a detailed instruction on how to make the scrolling or right-clicking work with evdev. The whole process is very frustrating, and I still haven’t figured everything out.

Anyway. First thing you notice, especially without the fingerscrolling working, is that the new scrollbars are a royal pain in the hiney. The problem isn’t as bad in places where the problem can be bypassed, like in Chromium with the help of an extension called chromeTouch where the fingerscrolling can be set to work, or in Gnome-shell which actually has a decent sized scrollbar, or uninstalling overlay-scrollbar altogether, which isn’t pretty, but it works.

Exopc The second immediate thing that slaps a cold wet towel on the face is – after you’ve unplugged the USB keyboard – is the virtual keyboards. Ubuntu and its default environment Unity use OnBoard as the default on-screen keyboard. OnBoard is a complete keyboard with (almost) all the keys a normal keyboard would have, but it lacks a few features that are needed on a tablet computer: it lacks automation of hiding and unhiding itself. In addition to this annoyance OnBoard had the tendency of swapping the keyboard layout to what I assume to be either US or British instead of the Finnish one I had set as default on the installation. One huge problem with OnBoard is at least in my use that it ends up being underneath the Unity interface, where it’s next to useless.

I tried to install other virtual keyboards, like Maliit and Florence, but instructions and packages on Oneiric are lacking and anyway, I still don’t know how to change the virtual keyboard from OnBoard to something else. However, the virtual keyboard in a normal Gnome 3 session with Gnome-Shell seems to work more like the virtual keyboards should, but alas, it doesn’t seem to recognize the keyboard layout settings at all and thus I’m stuck to non-Finnish keyboard layout.

However among all these problems Ubuntu 11.10 manages to show great potential with both Unity and Gnome 3. Ubuntu messaging menu is nice, once gmnotify has been installed (as I use Chromium application Offline Gmail as my email client), empathy set up, music application of choice filled with music and browser settings synchronized.

I’ve found that the webcam works perfectly and the video call quality is much better than it has been earlier on my laptop where I’ve resorted into using GMails video call feature, because it Just Works. It’s nice to see that pulseaudio delivers and bluetooth audio works 100% with both empathy video calls and stereo music/video content.

Having read of the plans for future Ubuntu releases from blogposts of people who were attending UDS-P in Orlando this past week, I openly welcome our future tablet overlords. Ubuntu on tablets needs love and it’s nice to know it’s coming up. This all bodes well for my plan to take over the world with Ubuntu tablet, screen, emacs and chromium :-)

by myrtti at November 06, 2011 12:06 AM

October 29, 2011

Ville-Pekka Vainio

Getting Hauppauge WinTV-Nova-TD-500 working with VDR 1.6.0 and Fedora 16

The Hauppauge WinTV-Nova-TD-500 is a nice dual tuner DVB-T PCI card (well, actually it’s a PCI-USB thing and the system sees it as a USB device). It works out-of-the-box with the upcoming Fedora 16. It needs a firmware, but that’s available by default in the linux-firmware package.

However, when using the Nova-TD-500 with VDR a couple of settings need to be tweaked or the signal will eventually disappear for some reason. The logs (typically /var/log/messages in Fedora) will have something like this in them:
vdr: [pidnumber] PES packet shortened to n bytes (expected: m bytes)
Maybe the drivers or the firmware have a bug which is only triggered by VDR. This problem can be fixed by tweaking VDR’s EPG scanning settings. I’ll post the settings here in case someone is experiencing the same problems. These go into /etc/vdr/setup.conf in Fedora:


EPGBugfixLevel = 0
EPGLinger = 0
EPGScanTimeout = 0

It is my understanding that these settings will disable all EPG scanning which is done in the background and VDR will only scan the EPGs of the channels on the transmitters it is currently tuned to. In Finland, most of the interesting free-to-air channels are on two transmitters and the Nova-TD-500 has two tuners, so in practice this should not cause much problems with outdated EPG data.

by Ville-Pekka Vainio at October 29, 2011 06:07 PM

August 25, 2011

Miia Ranta

Things I learnt about managing people while being a Wikipedia admin

Colour explosion Just over four years ago I gave up my volunteer, unpaid role as an administrator of the Finnish Wikipedia. Today, while discussing with a friend, I realised what has been one of the most valuable lessons in both my professional life and hobbies. While I am quite pessimistic in general, I still benefit from these little nuggets of positive insight almost every day when communicating and working with other people.

  • Assume Good Faith. “Unless there is clear evidence to the contrary, assume that people who work on the project are trying to help it, not hurt it.” Most people aren’t your enemies. Most people will not try to hurt you. If stupidity is abound, it’s (usually) not meant as a personal attack towards you, nor is it intentional.
  • When someone does something that doesn’t immediately make sense, which contradicts your assumptions about the skills and common sense of a person you are dealing with, discuss it with them! Don’t make assumptions based on partial information or details, ask for more info so you don’t need to assume the worst! If something is unclear, asking won’t make things worse.

Pessimists are never disappointed, only positively surprised. But while the world seems like a dark a desolate place and the humanity seems to be doomed, I still have to try to believe in the sensibility of people and that we can make something special for the project we are trying to work for. Ubuntu, Wikipedia, Life… or just your day-to-day job.

by myrtti at August 25, 2011 11:49 PM

August 21, 2011

Miia Ranta

And then, unexpectedly, life happens

I hope none of you have expected me to blog more often. It’s been over a year since I’ve last blogged, and so much has happened since I last did.

I’ve travelled to Cornwall, started a Facebook page that got a huge following in no time, fiddled a bit with CMS Made Simple at work, bought another Nexus One to replace one that broke and after getting the broke one fixed, gave the extra to my sister as a Christmas present, have taught Duncan how to make gravadlax and crimp Carelian pasties, visited Berlin and bought a game. I’ve attended a few geeky events, like Local MeeGo Network meetings of Tampere, Finland, MeeGo Summit also in Tampere, MeeGo Conference in San Francisco, US and OggCamp’11 in Farnham, UK.

I’ve also taken few steps in learning to code in QML, poked around Arduino and bought a new camera, Olympus Pen E-PL1.

My mom What else has happened? Well, among other things, my mother was diagnosed with cholangiocarcinoma right after New Year, and she passed away 30th of June.

Many things that I have taken for granted have changed or gone away forever. Importance of some things have changed as my life is trying to find a new path to run in.

Blogging and some of my Open Source related activities have taken a toll, which I am planning to fix now that I feel like I’m strong enough to use my energy on these hobbies again. Sorry for the hiatus, folks.

Coming up, perhaps in the near future:

  • Rants and Raves about Arduino
  • Entries about social networking sites
  • Camera/Photography jabber
  • Mobile phone/Tablet chatter

So, just so you know, I’m alive, and will soon be in an RSS feed reader near you. AGAIN.

by myrtti at August 21, 2011 12:20 AM

August 06, 2011

Ville-Pekka Vainio

The Linux/FLOSS Booth at Assembly Summer 2011

The Assembly Summer 2011 demo party / computer festival is happening this weekend in Helsinki, Finland. The Linux/FLOSS booth here is organized together by Finnish Linux User Group, Ubuntu Finland, MeeGo Network Finland and, of course, Fedora. I’m here representing Fedora as a Fedora Ambassador and handing out Fedora DVDs. Here are a couple of pictures of the booth.

The booth is mostly Ubuntu-coloured because most of the people here are members of Ubuntu Finland and Ubuntu in general has a large community in Finland. In addition to live CDs/DVDs, the MeeGo people also brought two tablets running MeeGo (I think they are both ExoPCs) and a few Nokia N950s. They are also handing out MeeGo t-shirts.

People seem to like the new multi-desktop, multi-architecture live DVDs that the European Ambassadors have produced. I think they are a great idea and worth the extra cost compared to the traditional live CDs.

by Ville-Pekka Vainio at August 06, 2011 11:11 AM

March 21, 2011

Jouni Roivas

Wayland

Recently Wayland have become a hot topic. Canonical has announced that Ubuntu will go to Wayland. Also MeeGo has great interest on it.

Qt has had (experimental) Wayland client support for some time now.

A very new thing is support for Qt as Wayland server. With that one can easily make own Qt based Wayland compositor. This is huge. Since this the only working Wayland compositor has been under wayland-demos. Using Qt for this opens many opportunities.

My vision is that Wayland is the future. And the future might be there sooner than you think...

by Jouni Roivas (noreply@blogger.com) at March 21, 2011 09:42 AM

February 24, 2011

Jouni Roivas

January 03, 2011

Ville-Pekka Vainio

Running Linux on a Lenovo Ideapad S12, part 2

Here’s the first post of what seems to be a series of posts now.

acer-wmi

I wrote about acer-wmi being loaded on this netbook to the kernel’s platform-driver-x86 mailing list. That resulted in Chun-Yi Lee writing a patch which adds the S12 to the acer-wmi blacklist. Here’s the bug report.

ideapad-laptop

I did a bit of googling on the ideapad-laptop module and noticed that Ike Panhc had written a series of patches which enable a few more of the Fn keys on the S12. The git repository for those patches is here. Those patches are also in linux-next already.

So, I cloned Linus’ master git tree, applied the acer-wmi patch and then git pulled Ike’s repo. Then I followed these instructions, expect that now Fedora’s sources are in git, so you need to do something like fedpkg co kernel;cd kernel;fedpkg prep and then find the suitable config file for you. Now I have a kernel which works pretty well on this system, except for the scheduling/sleep issue mentioned in the previous post.

by Ville-Pekka Vainio at January 03, 2011 10:19 AM

December 27, 2010

Ville-Pekka Vainio

Running Linux (Fedora) on a Lenovo Ideapad S12

I got a Lenovo Ideapad S12 netbook (the version which has Intel’s CPU and GPU) a few months ago. It requires a couple of quirks to work with Linux, I’ll write about them here, in case they’ll be useful to someone else as well.

Wireless

The netbook has a “Broadcom Corporation BCM4312 802.11b/g LP-PHY (rev 01)” wifi chip. It works with the “b43” open source driver, which is in the kernel. However, I think that it may not actually reach the speeds it should. You could also use the proprietary “wl” kernel module, available in RPM Fusion as “kmod-wl”, but I don’t like to use closed source drivers myself.

The b43 driver needs the proprietary firmware from Broadcom to work with the 4312 chip. Following these instructions should get you the firmware.

Kernel

The kernel needs the “nolapic_timer” parameter to work well with the netbook. If that parameter is not used, it seems like the netbook will easily sleep a bit too deep. Initially people thought that the problem was in the “intel_idle” driver, the whole thing is discussed in this bug report. However, according to my testing, the problem with intel_idle was fixed, but the netbook still has problems, they are just a bit more subtle. The netbook boots fine, but when playing music, the system will easily start playing the same sample over and over again, if the keyboard or the mouse are not being used for a while. Apparently the system enters some sort of sleeping state. I built a vanilla kernel without intel_idle and I’m seeing this problem with it as well.

Then there’s “acer-wmi”. The module gets loaded by the kernel and in older versions it was probably somewhat necessary, because it handled the wifi/bluetooth hardware killswitch. It causes problems with NetworkManager, though. It disables the wifi chip on boot and you have to enable wifi from the NetworkManager applet by hand. Here’s my bug report, which hasn’t gotten any attention, but then again, I may have filed it under the wrong component. Anyway, in the 2.6.37 series of kernels there is the “ideapad_laptop” module, which apparently handles the hardware killswitch, so acer-wmi shouldn’t be needed any more and can be blacklisted.

by Ville-Pekka Vainio at December 27, 2010 03:18 PM

November 29, 2010

Jouni Roivas

Encrypted rootfs on MeeGo 1.1 netbook

I promised my scripts to encrypt the rootfs on my Lenovo Ideapad running MeeGo 1.1. It's currently just a dirty hack but thought it could be nice to share it with you.

My scripts uses cryptoloop. Unfortunately MeeGo 1.1 netbook stock kernel didn't support md_crypt so that was a no go. Of course I could compile the module myself but I wanted out-of-the box solution.

Basic idea is to create custom initrd and use it. My solution needs Live USB stick to boot and do the magic. Also another USB drive is needed to get the current root filesystem in safe while encrypting the partition. I don't know if it's possible to encrypt "in place" meaning to use two loopback devices. However this is the safe solution.

For the busy ones, just boot the MeeGo 1.1 Live USB and grab these files:
http://kaaos.huutonauru.net/meego/netbook_rootfs_crypt/crypt_hd.sh
http://kaaos.huutonauru.net/meego/netbook_rootfs_crypt/mkcryptrd.sh

Then:
chmod a+x crypt_hd.sh mkcryptrd.sh
su
./crypt_hd.sh

And follow the instructions.

The ones who have more time and want to double check everything, please follow instructions at: http://kaaos.huutonauru.net/meego/netbook_rootfs_crypt/README

This solution has at least one drawback. Once the kernel updates you have to recreate the initrd. For that purposes I created a tiny script than can be run after kernel update:
http://kaaos.huutonauru.net/meego/netbook_rootfs_crypt/update_initrd.sh

That script also needs the mkcryptrd.sh script above.

Of course that may break your system at any time, so be warned.

For my Lenovo Ideapad S10-3t and MeeGo 1.1 netbook it worked fine. My test case was to make very fresh installation first from the Live/installation USB. Boot again and setup the cryptoloop from Live USB. After that I could easily boot my crypted MeeGo 1.1. It asks password in very early phase of boot process. After it's written correctly the MeeGo 1.1 system should boot up normally.

This worked for me, and I give no guarantee that this works for you. However you're welcome to send patches and improvements.

UPDATE 29.11.2010:
Some people have reported problems when they have different kernel version than on Live USB. The're unable to boot back to their system. I try to figure out solution for this issue.

by Jouni Roivas (noreply@blogger.com) at November 29, 2010 12:48 PM

June 14, 2010

Miia Ranta

California Dreamin’, release 1.2.1 (LCS2010, MeeGo workshop videos)

As promised earlier, I’ve now published four of the sessions from Linux Collaboration Summit 2010 which was held in San Francisco in April. They’re viewable in blip.tv, and I’ve decided to follow the licensing Linux Foundation itself has for the videos of the previous day, so the videos are licensed in CreativeCommons Attribution. I managed to burn a lot of time to edit the videos, but I guess in the end they’re fairly good. The sound quality isn’t magnificent, but most of the time you can tell what is actually said… I’ve not yet uploaded the MeeGo question hour or the panel, because I’m not still quite convinced that the sound quality is good enough. If you want them on blip.tv, please leave a comment.

Quim Gil - A Working Day in MeeGo project

Without further ado, here are the episodes so far:

<3 <3

by myrtti at June 14, 2010 09:49 PM

October 12, 2009

Vapaakoodi

Finhack tulee taas, tule sinäkin!

Finhack on kahdesti vuodessa järjestettävä vapaa tapaaminen suomalaisille vapaaohjelmistoaktiiveille. Finhack Syksy ‘09 järjestetään tällä kertaa ensi lauantaina 17.10 Forssan Ammattikorkeakoululla (Wahreeninkatu 11). Ohjelmassa on mm. LinuCastin nauhoitusta Henrik Anttosen johdolla, Timo Jyringin ja Niklas Laxströmin DDTP-työpaja, Hannu Mäkäräisen johdanto Freejam projektiin sekä Otto Kekäläisen tilannekatsaus Suomen vapaaohjelmistoelämään ja FSFE:n suomen jaoston perustaminen.

Lisää tietoa ohjelmasta löydät Finhackin kotisivuilta.

Tapahtumaan on vapaa pääsy, eikä edellytä etukäteisrekisteröintiä. Kuitenkin järjestäjiä auttaisi, jos pistäisit nimesi osallistujalistaan.

Nähdään paikanpäällä!

Terveisin,
Ville “Solarius” Sundell
Järjestäjä

PS. Tätä viestiä saa levittää vapaasti muuttamattomana, blogeissa, foorumeilla, postituslistoilla ja missä nyt ikinä keksitkään 🙂

by Solarius at October 12, 2009 11:29 AM

March 27, 2009

Vapaakoodi

Kiitä kehittäjää!

Nyt on ensimmäinen kansainvälinen Kiitä kehittäjääsi-päivä, keitä sinä ajattelit kiittää? Itse aamuyöstä kiitin Daniel J. Bernsteiniä tietoturvallisista ratkaisuista, sekä Transmission-bittorrent asiakasohjelman nykyistä kehittäjää Charles Kerriä hyvästä ohjelmasta, sekä Timo Jyrinkiä pitkäaikaisesta työstä suomalaisen vapaaohjelmistoyhteisön hyväksi. Tänään olisi tarkoitus lähettää vielä JWM:n kehittäjälle postia, sekä luultavasti pariin muuhunkin projektiin.

Kiitä sinäkin kehittäjiä jotka ovat vaikuttaneet tietokoneen käyttöösi!

by Solarius at March 27, 2009 12:29 PM

March 07, 2009

Vapaakoodi

Arvosta vapaiden ohjelmistojen kehittäjiä – Thank a Dev Day

Thank a Dev Day on päivä, jonka tarkoituksena on muistaa niitä henkilöitä, jotka ovat suosikkikoodisi takana. Tänävuonna sitä vietetään 27.3, ja tästä eteenpäin joka vuoden maaliskuun viimeinen perjantai.

Muista sinäkin sitä henkilöä, jonka koet muuttaneesi sinun tietokoneen käyttöä, tai muuten vaan saanut hyvälle mielelle!

by Solarius at March 07, 2009 12:57 AM

November 22, 2008

Vapaakoodi

Finhack tapaaminen tulee – tule sinäkin!

Eli, Finhack vapaaohjelmisto-tapahtuma järjestetään Lauantaina 29.11 HAMKin Forssan toimipisteellä.

Kaikki vapaista ohjelmistoista kiinnostuneet ovat tervetulleita.

Lisätietoa löytyy täältä: finhack.pieni.net

by Solarius at November 22, 2008 01:26 PM

July 15, 2008

Vapaakoodi

identi.ca & laconi.ca – vapaata mikroblogausta

www.identi.ca on mikroblogi-sivusto, muista, kuten Twitteristä ja Jaikusta poiketen, se kuitenkin perustuu Laconica-ohjelmistoon, joka on Affero GPL:n alla.

Tästä sivustosta vinkin antoi Mirv, #vapaakoodi-kanavalla.

by Solarius at July 15, 2008 10:03 PM