I am at Linaro Connect in Budapest, Hungary. And on Arrow’s stand I noticed something I did not expected — 96boards Enterprise Edition form factor board.
In past Linaro presented ‘Husky’ and ‘Cello’ devboards in 96boards EE form factor. None of them ever reached production. Only few prototypes existed (had some of them in hands). Both products were complete failures.
As you can see board has ports all over the edges but that’s fault of 96boards EE specification which mandate such broken designs. When I saw it first time my question was “where is PCIe slot?” but found out that (according to spec) it is optional. Board has mini-pcie slot on bottom side anyway.
Speaking of design… Oxalis is made from two parts: carrier board and SoM (System on Module). SoM is based on NXP Network Processor QorIQ® LS1012A processor (single ARM Cortex-A53 core running up to 800 MHz) with 64MB of SPI flash (space for bootloader!) and 1GB of memory. Carrier board gives two GbE network ports, two USB 3.0 connectors, standard 96boards header, one SATA port (with power!), microSD and mini-pcie slot (on bottom side).
System on Module top viewSystem on Module bottom view
The beauty of such design is that you can replace CPU board with something different. According to Dieter Kiermaier from Arrow there are plans for other SoM board in future.
Carrierboard
Will it be success? Time will show. Will I buy it? Rather not as for my development I need 16GB ram. Will it have case? Not asked. When on market? May/June 2017.
During last month I was working on one of OpenStack projects: Kolla. My job was adding support for non-x86 architectures: aarch64 and ppc64le. Also resurrecting Debian support.
A bit of background
At Linaro we work on getting AArch64 (64-bit ARM, arm64) to be present in many places. We have at least two OpenStack instances running at the moment - on AArch64 hardware only.
First we used Debian/jessie and Openstack ‘liberty’ version. Was working. Not best but we helped many projects by providing virtual machines for porting software.
It was built from packages and later (when ‘mitaka’ was released) we moved to virtualenv per component. Out second “cloud” runs that. With proper Neutron networking, live migration and few other nice things.
But virtualenvs were done as quick solution. We decided to move to Docker containers for next release.
And Kolla was chosen as a tool for it. We do not like to reinvent the wheel again and again…
Non-x86 support in Kolla
The problem was typical: Kolla being x86-64 centric. As most of software nowadays. But thanks to work done by Sajauddin Mohammad I had something to use as a base for adding aarch64 support.
Docker images started to appear. But at beginning I was building Ubuntu ones as Debian support was “basically abandoned, on a way out”. From CentOS guys I got confirmation that official Docker image will be generated (it is done already).
I spent some time on making sure that whole non-x86 support is free from any hardcoding wherever possible. As you can see in my working branch it went quite well. Most of arch related changes are related to “distro does not provide package ZYS for that architecture” or to handling of external repositories.
Debian support
And here we come to Debian support. At Linaro we decided to support two community based distributions: CentOS and Debian. But Debian was on a way out in Kolla…
As this was not related much to non-x86 work I decided to use one of x86-64 machines for that stuff.
Images were building but not so many as for Ubuntu. So I went through all of them and enabled Debian where it was possible. Resulting patch went for review as usual.
Effect was quite nice (on x86-64):
debian-binary: 158
debian-source: 201
But ‘jessie’ was missing several packages even with backports enabled. So after discussion with my team I decided to drop it and go for Debian/testing ‘stretch’ one instead. It is already frozen for release so no big changes are allowed. Patch in review of course.
At that moment I abandoned one of previous patches as ‘jessie-backports’ was not something I planned to support.
Turned out that ‘stretch’ images have a bit different set of packages installed than ‘jessie’ had. So ‘gnupg’ and ‘dirmngr’ were missing while we need them for importing GPG keys into APT. Proper patch went to review again.
Did rebuild on x86-64:
stretch-binary: 137
stretch-source: 195
A bit less than ‘jessie-backports’ had, right? Sure, but it also shows that I have to make a new build to check numbers (laptop already has ~1500 docker images generated by kolla).
Cleaning of old Power patch
Remember the patch which all that started from? I did not forgot it and after building all those images I went back to it.
Some parts are just fugly so I skipped them but others were useful if done properly. That’s how new changes were done and some updates to previous ones.
Then I managed to put remote hands on one of Power machines at Red Hat and started builds:
debian-binary: 134
debian-source: 184
ubuntu-binary: 147
ubuntu-source: 190
No CentOS builds as there was no centos/ppc64le image available.
Summary
Non-x86 support looks quite nice. There are some images which can not be built as they rely on external repositories so no aarch64 nor ppc64le packages to use.
Debian ‘stretch’ support is not perfect yet but it is something which I plan to maintain so situation will be going to improve. Note that most of my work will go into ‘source’ type of builds as we want to have same images for both Debian and CentOS systems.
I am running my blog for nearly 12 years now. And through all those years it was running same WordPress installation. Until today.
At beginning it was WordPress MultiUser (WPMU) as I used it to run both my blog and website for my consulting company. It was fun. Some WP plugins were working with WPMU, some not. Then WordPress developers decided to merge both projects into one. And it was good.
When I started blogging I did not used categories for posts but tagged them instead. Months turned into years and at some moment WP got tags natively so UltimateTagWarrior plugin went to trash (after converting to WP tags).
I was changing blog theme every few years to bring some change. The other thing which was changing was http server - from Apache to Lighttpd and now it is powered by Nginx + PHP-fpm.
Company website got trashed in meantime. Our wedding page appeared for few months as other blog. There was map with all required placemarks for church, flower shops, family homes, hotels and other useful services. Wish list for those who wanted to know what to give was also present. With “sepulki” as last entry — no one knows what “sepulki” are as they appear in one of Lem’s books. The only known thing is that you need to be married to be allowed to use them. Some guests had interesting ideas for it ;D
At some moment I had a page with Mira’s photos. Page required registration and logging. Long time removed.
And then Ania (my wife) requested page for her psychotherapist services. So she got it.
At some moment I was running three different domains using one WP installation. It was mess. Terrible mess. At some moment there were authorization issues so I had to change something…
So now I have fresh WordPress installed. Websites partially restored from backup to not keep settings/tables from long time not used plugins. Hope it will work fine ;D
May came. I went to UK to visit Bletchley Park. Awesome place to visit. And right next to it is The National Museum Of Computing (TNMOC in short).
Inside there is history. I mean HISTORY.
By mistake I entered museum through wrong door and started from oldest exhibition. It was showing the story of breaking Lorentz code used by Germany during second world war. And hardware designed for it. Contrary to Enigma there was no Lorentz machines in Allies possession.
Rebuild of British Tunny Machine:
British Tunny Machine
Rebuild of Heath Robinson machine:
Heath Robinson
Next to it was room with working replica of first computer: Colossus.
Colossus
And here you can see it running:
There were several other computers of course. I saw ICL 2900 system, several Elliotts and PDP systems, some IBM machines and others from 50-70s.
One of them was Harwell Dekatron Computer (also known as WITCH). It is oldest working computer:
Harwell Dekatron Computer
Then there was wide selection of microcomputers from 80s and 90s. Several British ones and others from anywhere else. There was a shelf with Tube extensions for BBC Micro but it lacked ARM1 one:
This museum was on my list for far too long. When I was in Cambridge few years ago it was closed. Next time I did not managed to find time to go there. Finally, during last Linaro sprint, we agreed that we have to go there and we went during lunch break.
For me the main reason of going there was my wish to see ARM1 cpu. It was available only as Tube (extension board for BBC Micro) and only for some selected companies which makes it quite rare.
ARM1 Tube
The first thing I saw after entering museum was “Macroprocesor”. Imagine CPU in size of 70s mainframe with LED on each line, register bit etc.
Macroprocesor
Next room was arranged in a form of British classroom. Set of BBC Micro computers arranged with monitors, manuals, programs.
BBC Micro equipped classroom
And then I went to look around. There were many different computers shown. Some behind glass, some turned on with possibility to play with them (or on them). It was opportunity to see how design was changing through all those years.
AES 7100 Model 203
There were also several Acorn machines — both ARM and 6502 powered ones.
Acorn Archimedes machines
As most of computer museums that one also has some exclusive content. This time it was NeXT workstation which was used as first web server by Tim Berners-Lee:
NeXT workstation
And Apple Macintosh SE 30 owned by Douglas Adams, author of “Hitchhiker Guide to the Galaxy”. Note a towel on top of computer:
Apple Macintosh SE 30 owned by Douglas Adams
Other interesting thing was comparison of storage density through all those years. Note 5MB hard drive being loaded into plane in top right corner.
Nokia. A company everyone knows and most of us probably even used one of their phones in past. They were better or worse but one thing was good - most of them shared batteries…
My daughter (8.5y old) uses Nokia E50 as her daily phone. Sim card is covered by duct tape to not fall out when phone hit a floor (previous one went missing in such situation). Mira records how she and her friends sing, does some photo sessions to her dolls etc.
But during weekend phone stopped charging. Hm… Is it charger? Nope, it was original Nokia one. Tried some crappy Chinese one with same result. So let’s check the battery.
Opened drawer, took Nokia 101. Inside was BL-5CB battery. Inserted into E50 got phone back online. But I like my 101 and keep it as a spare just in case.
Digged in a drawer with old devices. The one where I keep Sharp Zaurus c760, Sony Ericsson k750i, Openmoko FIC-GTA01bv3 and few other pieces of junk with some sentimental value. What I found there was Nokia 6230i which I got from Ross Burton during GUADEC 2007. Last time I used it about 5 years ago. But it had original Nokia BL-5C inside!
So I put that battery inside of E50, plugged charger and guess what… It started charging and phone booted! With over 11 years old battery!
During next few days I will buy BL-5C clone somewhere (they are 3-8€ now) and put it in my daughter’s phone.
Few months ago I created a page with HTML table. For own use basically. Then presented it to the people and found out that it got useful for them. So started improving and improving so it became side project.
Yes, system calls again. I wrote about it in past but yesterday I rewrote code so it now uses Linux source so I can generate tables for far more architectures without need of other computers (either real or emulated).
Next step was work on presentation layer. Old version was just table with added sorting. Things were ugly when scrolled as header was gone. Now it sticks to the top of page so it is easier to note which column relates to which architecture.
Odd/even lines are coloured now which makes is easier to find numbers for syscall.
And speaking of searching — there is filter box now. You can type syscall name (or part of it) there and have table filtered. Same can be done with system call number as well. You used Valgrind and it said that has no idea how to handle syscall 145? Just enter number and you see that it is getresuid(), nfsservctl(), readv(), sched_getscheduler(), setreuid() or setrlimit() — depends which architecture you are testing.
You wonder what that that system call does? There are links to man pages provided.
Before going for Linaro Connect I had a plan to look at all those 96boards devices and write some complains/opinions about them. But it would be like shooting fish in a barrel so I decided against. But there were some interesting pieces of hardware there.
One of them was Macchiatobin board from SolidRun. I think that this is same as their Armada 8040 community board but after design changes. Standard Mini-ITX format, quad core Cortex-A72 cpu (with upto 2GHz clock), one normal DIMM slot (max 16GB, ships with 4GB), three Serial-ATA ports, PCI-Express x4 slot, one USB 3.0 port, microSD slot.
UPDATE: SolidRun confirmed - this is final design of their Armada 8040 community board.
Photo (done by Riku Voipio) shows which goodies are available:
Armada 8040 community board
Network interfaces from top to bottom are (if I remember correctly):
10GbE (SFP + RJ-45)
10GbE (SFP + RJ-45)
2.5GbE (SFP)
1GbE (RJ-45)
When it comes to software I was told that board is SBSA compliant so any normal distribution should work. Kernel, bootloaders (U-Boot and UEFI) are mainlined.
Price? 350USD. Looks like nice candidate for AArch64 development platform or NAS.
Other device was Gumstix Nodana 96BCE board which is 96boards compliant carrierboard for Intel Joule modules.
On top it looks like typical 96boards device (except USB C port):
This is first non-ARM based 96boards device. Maybe even one of most compliant ones. At least from software perspective because when it comes to hardware then module makes it a bit too thick to fit in 96boards CE specification limits.
Note that 96boards Consumer Electronics specification does not require using ARM or AArch64 cpu.
One of cool things of being Linaro assignee is going to Linaro Connect conference. This time it was Las Vegas, USA. I was flying Berlin Tegel -> London Heathrow -> Las Vegas. Last part was fun as I met several Linaro folks at the airport ;D
Arrived in Vegas, went to hotel and fall asleep. Sunday was planned for some Ingress playing and for sightseeing. As usual I had several places marked on Google Maps to make things easier.
So Sunday… It was really Sun day. I took some water with me and refueled several times during day just to stay hydrated. With Las Vegas climate I was not even felt sweety as it vaporated right away…
Street with palm trees
But let’s start from beginning. I walked few hundred meters from hotel and caught public transport bus which took me to Freemont Street (or somewhere around). When I walked I felt like the only person on the Earth or in a no-go zone. There was basically no one on the street. After some walking and few photos I got asked something like “who are you and what you are doing here???” from security guy. It turned out that some part of Freemont Street (and surroundings) were closed due to some arts/music festival. I probably missed some ‘no entry’ plate…
Atomic liquor
Anyway I did not get any problems and was pointed where the gate is. Walked around, saw some places, bought souvenirs (including fridge magnet to my collection), another water bottles and decided to walk to another point on my map.
Yes, it may feel strange but I walked. And walked. And walked. Then Arts district happened.
OMG it was awesome. Deserted streets, shops with some retro furniture/stuff, shops with some crazy junk, shop with wax figures from Last Supper etc. But the best part was murals and graffitis. Lot of them, different styles and quality. I spent about 2 hours just walking there and taking photos.
Hydro geek graffitiStagecoach made from metalWoman graffiti
Next step was the Strip. All those big hotel/casino buildings. At Circus Circus I found room with arcade machines and spent 25 cents on Galaga. In Venetian I looked at their version of Venice canals (have to go to Venice and compare one day :D). Few minutes later I saw Eiffel tower (or rather miniature version of it). Decided to skip searching for copy of Statue of Liberty and instead crossed street and went to take a look at Bellagio fountains show. Have to admit that it was nice. I saw three shows (had to sort few things around) and then took a cab back to the hotel.