Few days ago my manager asked me if I would like to go back to Linaro. This time not as ‘Linaro-but-Canonical engineer’ but as ‘Red Hat assigned engineer’. That made me thinking…
Those three years at Linaro were good time. Learnt a lot about cross toolchains, got possibility to work on bootstrapping AArch64 support in OpenEmbedded, Debian/Ubuntu and then Fedora/RHEL. Met many skilled people from around the world, travelled into places which I would probably not visit on my own.
Going back sounds good. From my discussions with few people from Linaro there is more and more AArch64 related work there (and I have some hardware at home) so my rusty arm32 skills can rust in peace. Have to take a closer look at what exactly is on a plate there to take and find some place.
So if you work for Linaro and will be at FOSDEM (or devconf.cz) then I would love to talk.
It was a matter of days and finally all pieces are done. Running 32-bit ARM virtual machines on 64-bit AArch64 hardware is possible and quite easy.
- AArch64 hardware (I used APM Mustang as usual)
- ARM rootfs (fetched Fedora 22 image with “virt-builder” tool)
- ARM kernel and initramfs (I used Fedora 24 one)
- Virt Manager (can be done from shell too)
Start “virt-manager” and add new machine:
Select rootfs, kernel, initramfs (dtb will be provided internally by qemu) and tell kernel where rootfs is:
Then set amount of memory and cores. I did 10GB of RAM and 8 cores. Save machine.
Open created machine and press Play button. It should boot:
I upgraded F22 to F24 to have latest development system.
Is it fast?
If I would just boot and write about it then there will be questions about performance. I did build of gcc 5.3.1-3 using mock (standard Fedora way). On arm32 Fedora builder it took 19 hours, on AArch64 builder 4.5h only. On my machine AArch64 build took 9.5 hour and in this vm it took 12.5h (slow hdd used). So builder with memory and some fast storage will boost arm32 builds a lot.
Numbers from “openssl speed” shows performance similar to host cpu:
The 'numbers' are in 1000s of bytes per second processed.
type 16 bytes 64 bytes 256 bytes 1024 bytes 8192 bytes
md2 1787.41k 3677.19k 5039.02k 5555.88k 5728.94k
mdc2 0.00 0.00 0.00 0.00 0.00
md4 24846.05k 81594.07k 226791.59k 418185.22k 554344.45k
md5 18881.79k 60907.46k 163927.55k 281694.58k 357168.47k
hmac(md5) 21345.25k 69033.83k 177675.52k 291996.33k 357250.39k
sha1 20776.17k 65099.46k 167091.03k 275240.62k 338582.71k
rmd160 15867.02k 42659.95k 88652.54k 123879.77k 140571.99k
rc4 167878.11k 186243.61k 191468.46k 192576.51k 193112.75k
des cbc 35418.48k 37327.19k 37803.69k 37954.56k 37991.77k
des ede3 13415.40k 13605.87k 13641.90k 13654.36k 13628.76k
idea cbc 36377.06k 38284.93k 38665.05k 38864.71k 39032.15k
seed cbc 42533.48k 43863.15k 44276.22k 44376.75k 44397.91k
rc2 cbc 29523.86k 30563.20k 30763.09k 30940.50k 30857.44k
rc5-32/12 cbc 0.00 0.00 0.00 0.00 0.00
blowfish cbc 60512.96k 66274.07k 67889.66k 68273.15k 68302.17k
cast cbc 56795.77k 61845.42k 63236.86k 63251.11k 63445.82k
aes-128 cbc 61479.48k 65319.32k 67327.49k 67773.78k 66590.04k
aes-192 cbc 53337.95k 55916.74k 56583.34k 56957.61k 57024.51k
aes-256 cbc 46888.06k 48538.97k 49300.82k 49725.44k 50402.65k
camellia-128 cbc 59413.00k 62610.45k 63400.53k 63593.13k 63660.03k
camellia-192 cbc 47212.40k 49549.89k 50590.21k 50843.99k 50012.16k
camellia-256 cbc 47581.19k 49388.89k 50519.13k 49991.68k 50978.82k
sha256 27232.09k 64660.84k 119572.57k 151862.27k 164874.92k
sha512 9376.71k 37571.93k 54401.88k 74966.36k 84322.99k
whirlpool 3358.92k 6907.67k 11214.42k 13301.08k 14065.66k
aes-128 ige 60127.48k 65397.14k 67277.65k 67428.35k 67584.00k
aes-192 ige 52340.73k 56249.81k 57313.54k 57559.38k 57191.08k
aes-256 ige 46090.63k 48848.96k 49684.82k 49861.32k 49892.01k
ghash 150893.11k 171448.55k 177457.92k 179003.39k 179595.95k
sign verify sign/s verify/s
rsa 512 bits 0.000322s 0.000026s 3101.3 39214.9
rsa 1024 bits 0.001446s 0.000073s 691.7 13714.6
rsa 2048 bits 0.008511s 0.000251s 117.5 3987.5
rsa 4096 bits 0.058092s 0.000945s 17.2 1058.4
sign verify sign/s verify/s
dsa 512 bits 0.000272s 0.000297s 3680.6 3363.6
dsa 1024 bits 0.000739s 0.000897s 1353.1 1115.2
dsa 2048 bits 0.002762s 0.002903s 362.1 344.5
sign verify sign/s verify/s
256 bit ecdsa (nistp256) 0.0005s 0.0019s 1977.8 538.3
384 bit ecdsa (nistp384) 0.0015s 0.0057s 663.0 174.6
521 bit ecdsa (nistp521) 0.0035s 0.0136s 286.8 73.4
256 bit ecdh (nistp256) 0.0016s 616.0
384 bit ecdh (nistp384) 0.0049s 204.8
521 bit ecdh (nistp521) 0.0115s 87.2
As two years and year ago I plan to make conference combo: FOSDEM in Brussels and then Devconf.cz in Brno. Weekend after weekend. But this time I want to make it different.
First I thought that will skip devconf.cz one. But this is quite important Fedora conference so checked how to make it cheaper that in previous years. And found out few deals and setup a trip which should be interesting.
From home to SXF and then with Ryanair to Brussels. Visit friends, meet friends, make some beers, attend talks, discuss with strange and familiar people — like each time during FOSDEM.
Then fly to Bratislava, Slovakia (Ryanair from CRL) and stay there for few days. Visit some places, do some Ingress missions, buy fridge magnet — typical tourist stuff.
From there take a train to Brno. Stay at some cheap ho(s)tel, attend devconf.cz conference, do some beers, meet friends etc. Like on normal conference.
And from there go back home by train. With one hour break at Berlin Hbf station.
Have to fill a form to arrange PTO for Bratislava and buy some tickets. Hope that it will be fun trip.
2016 started so it is a good moment for post about previous year. I did that every year except last one (for several reasons).
- After sorting out hardware issues I started X11 on AArch64. On old, crappy Matrox G550 card but it was a start. Now I use Radeon HD5450 and have 2D/3D acceleration ;D
- Became “proven packager” in Fedora which means that I can commit changes to any package there.
- One of my friends asked for Realtek 8029 (10Mbps Ethernet card) for his retro machine. I asked few people and ended with sending 20kg package to Piotr. Few computers, hard drives, optical drives, floppy drives, few GB of memory of different type etc. But no RLT8029…
- Managed to visit some strange places just because I drove with Google Maps in the night… It does not handle “turn around and drive back” method ;(
- Bought LG G3 phone as my Nexus 5 was driving me nuts. Few months later I got new N5 from Google (sold it to friend), replaced battery in broken one and gave it to my wife.
- Attended FOSDEM (again) and Devconf.cz conferences. Walked a lot thought Brno, visited Red Hat Czech office where I met few coworkers.
- Sold Wandboard Quad board.
- Linaro announced 96boards project and presented HiKey. I wrote few words about it and have to admit that I am still sceptical when it comes to this project.
- Ate burger in a doughnut on Fat Thursday. Interesting, tasty. Hope to repeat one day.
- Visited Hannover, Germany to play Ingress. Lot of fun and driving.
- Pinkiepie (APM Mustang, my AArch64 devmachine) needed 7 minutes to boot due to some PCI error ;D
- Attended Open Source Day conference in Warsaw. Nice hallway track talks — especially one with IBM guy about POWER8 and ppc64le.
- I was asked “How do you run VMS on AArch64???” few times after I wrote how to run virtual machines on Fedora/AArch64. All because of url ;D
- Started playing Resources game. After few days made page with some helpers ;D
- Bought new tablet — Lenovo S8 (Intel Atom powered, Android). Was good decision.
- Saw amazing demo called “8088 MPH” which requires real IBM 5160 PC with CGA. Now I have CGA at home but still not PC/XT machine.
- This month we got something more enterprise with AArch64 support — CentOS/AArch64. So I had to test and post about it.
- Fedora 22 got released with working AArch64 installer.
- Vacations part I. Took my daughter for a trip. Visited dinosaurs park, some old castles and visited family. While we were in Olecko I added set of Ingress missions there. Doing them was fun 😉
- Visited one retro computing event.
- Vacations part II. First Reykjavík, Iceland for a day — met local Ingress players, visited what was possible in short amount of time. Then Boston/Cambridge/Salem, Massachusetts for nearly a week — again lot of walking. Met Jon Masters, drank some crazy “beer with ice cream shake” and had lot of fun.
- Next was Flock conference in Rochester, NY. Lot of Fedora people from USA/Canada who never went for European conferences. Played “Cards against humanity” — have to finally buy a set.
- Then Niagara Falls, Canada for 24 hours. Crazy trip, lot of photos, free flu ;D
- Toronto was fun as well. Went for few interesting walking trips, visited local hackerspace. Even had good beer!
- Created table with syscall number for different architectures — contact me if it needs updates.
- Found out why XServer does not start automatically on AArch64 with PCIe gfx card and digged into it again and again.
- Visited “Riverwash” demoscene party in Kraków, Poland.
- Week with AArch64 as a desktop machine: day one, day two, last day. We are not there yet.
- Few posts “from a diary of AArch64 porter”: POSIX.1, PAGE_SIZE, VFP precision.
- Google released Pixel C — first laptop-like device with AArch64. Too expensive for development machine.
- Visited “Retrokomp” event and “Load Error” demoscene party in Gdańsk, Poland. Saw next set of old Polish computers. Time to switch to computers from 50-70s as retro ;D
- Hacked broken USB cable to be power/reset buttons for APM Mustang.
- Visited Hamburg, Germany to play Ingress. Lot of fun and driving. Met Alexander Sack under his house just after he left home for a smoke ;D
- Passed ten thousand of visited portals in Ingress. After two and half year of playing.
- Went for Microsoft Expert Summit conference and then for Jesień Linuksowa (“Linux Autumn”). Why me on MS one? Friend had a talk there and we were sharing a car 😉
- RHEL Server for ARM 7.2 Development Preview got released
- Wrote short note why Fedora 23 does not support several popular boards.
- Got Roseapple/Pi developer board. 3.10 kernel only, ancient U-Boot, no signs of any activity. Went to drawer.
- Bought myself a TV set. Then hacked it to work with my bluetooth headphones so I can watch movies when other people sleep ;D
- After few years switched theme on blog.