This years Flock conference was held at Prague, czech republic. This was my first trip to the Europe. I needed a Visa for this trip unlike my American friends. I got the visa in the last minute from the Consulate of czech republic, Los Angeles. The Visa officer needed an insurance of minimum 50000 Euro with Medical reparation and Evacuation converge. My company Yahoo was able to get that sorted in time. I attended lot of talks and workshops at Flock. I took notes on some of the sessions i attended. Here is my conference report
Status of COPR build service – by Miroslav suchy
COPR is an automatic build system to build rpms. COPR allows users to select
Arch and system (target) , accepts src.rpm from the user and generates binary
rpms in the backend and creates repo as well.
Unlike koji COPR doesn’t need a ‘fas’ account to build rpms. Technically any one
can build rpms on COPR.
Due to public nature of COPR it uses Virtual Machines to build rpms. A virtual machine
is setup and mock is used inside the VM to build the rpm.
COPR currently runs on openstack. There are 1381 projects, 25k builds, 250 G of data,
and 1 TB/month data transfered in COPR as we speak. Koji/OBS was evaluated to use in
COPR but the decided against it for some reasons. OBS signing daemon might be used
with COPR to sign rpms in future.
* Mock is kind of slow, there is a GSOC project to speed it up using LVM snapshots *
* Radek Holy is working on docker for rpm builds *
It is important to note that redhat software collections are built on COPR. There
is a jenkins plugin available for COPR which lets users to trigger COPR builds
from jenkins. There is a copr-cli available to builds.
ARM architecture support, package signing are in future TODO.
Here is the video of the talk
UEFI – The great satan and you – by Adam
I am a fan of UEFI. I have been closely following UEFI development and support in Linux for a while. If you do not know about UEFI, Adam Williamson has an impressive write up about it at https://www.happyassassin.net/2014/01/25/uefi-boot-how-does-that-actually-work-then/
Adam started with what is UEFI and then moved on to explain how older BIOS works. Adam’s talk focused on Desktop machines
How BIOS work?
- Boots the 1st sector of disk
– The bootloader is sneaked in between MBR and the partition
- Defines an EFI executable format.
– EFI executable is copied into FAT filesystem and the firmware can read it
– UEFI boot manager is used to change the boot order and EFI variables.
– There is a fallback path if the EFI executable is not found on the specified path
– Supports BIOS mode named CSM. CSM is going away soon.
Adam proposed following tests to tell if your machine is UEFI?
- Machine is Windows 8 pre-installed. Then it is must have UEFI in it.
– The “firmware” has mouse support then it is UEFI (BIOS can’t do that sh*t)
Adam showed some screenshots of crazy UEFI firmware UI implementations that makes identifying it more difficult for the user.
While multibooting adam asked the users to install both OS in same mode. Mixing BIOS (CSM) and UEFI is discouraged and unsupported in Fedora.
Adam then proposed following special commands to write a USB stick with EFI support
- dd: use dd on usb sticks
– livecd-iso-to-disk: pass –efi –format -reset-mbr
– liveusb-creator: well..it might work
– DO NOT use Unetbootin
Adam then revealed that, Peter Jones and Matthew Garret lobbied Microsoft to enable option to disable secure boot. They even have weekly calls. The engagement with microsoft has been very professional. Microsoft takes UEFI signing seriously.
I asked peter about completely removing microsoft key from the firmware. He said it is a “bad” idea because ROM based firmwares won’t load and they are signed by the Microsoft key. He also mentioned that there is a complex workaround to this problem. The workaround is generating the hash of the firmware and adding it to the shim whitelist.
Here is the video of the talk
Fast OS Deployment with Anaconda – By Arun S A G (me)
I presented and showed a demo on how to deploy operating systems fast on bare metal
machines. The entire talk was well received by the anaconda team.
The demo showed installations of a Fedora 21 (pre release) VM which took 2 minutes
to complete. Most of the audience were pleasantly surprised.
- There were some interesting thoughts and area for improvements came out of this talk
- RedHat developer proposed me to make use of the cloud kickstart file which has very minimal set of package
- Peter Jones suggested that anaconda can/should be modified to produce tarballs as one of the build targets (anaconda right now supports iso targets)
- Most of the installation time was spent on generating ramdisk. So peter suggested we should pre-generate the ramdisk and include it in the tarball.
- rpmdb cache needs to be removed from the tarball.
- Adam williamson asked me to share some sample kick-start files from work so that we can well test different use cases before releasing anaconda.
- Automating the biosboot partition during the installation process was discussed
Here is the video of my talk
Overall it was a wonderful conference. Thanks Yahoo and RedHat for sponsoring my travel and accommodation. It was good to see lot of volunteers again and i had a good time in Prague, Czech republic. I am looking forward to Flock 2015
OSX crashed on me while i was trying to update firmware. Instead of recovering it, i decided to install Fedora 18 on my MacBook.
I had made couple of Fedora 18 x86_64 DVD’s for the Fedora freemedia program. I grabbed one of them and started the installation to find myself dropping into a prompt. Apparently it is one of known issues with the Fedora 18 CD/DVD. After typing in ‘(cd0,apple3)/EFI/BOOT/grub.cfg’ the installation started. There was no problem with the installation.
I am used to natural scrolling, enabled it using the following setting
$ cat /etc/X11/xorg.conf.d/99-wt-natural-scroll.conf
Identifier “Natural Scrolling”
Option “ZAxisMapping” “5 4″
I like my function keys, following sets the fn keys as primary in the apple keyboard
$ cat /etc/modprobe.d/hid_apple.conf
options hid_apple fnmode=2
Above option also can be passed using kernel command line. You will have to edit the grub.cfg for that /boot/efi/EFI/fedora/grub.cfg
By default Fedora 18 didn’t detect my broadcom wireless network card (Broadcom Corporation BCM4331 802.11a/b/g/n (rev 02) to be exact) It needed a proprietary firmware. I downloaded b43-firware module from “russian fedora” http://pkgs.org/fedora-18/russian-fedora-nonfree-i386/b43-firmware-5.100.138-1.fc17.noarch.rpm.html and installed it. After the reboot things started working.
The proprietary driver doesn’t seem to support power management, it may cause problems during suspend/resume operation. So i instructed the power manager to unload the module while suspending the machine
$ cat /etc/pm/config.d/defaults
GNOME 3 Desktop often doesn’t get show up after unlocking the screen https://bugzilla.redhat.com/show_bug.cgi?id=878736 If it happens press CTRL+ALT+F2 , login via tty and run ‘DISPLAY=:0 gnome-shell –replace’
The new kernel kernel-3.8.2-206.fc18.x86_64 panics while booting on MacBook Pro https://bugzilla.redhat.com/show_bug.cgi?id=922175
The newest version of python-requests now supports python 3. The python 3 version of requests is available as python3-requests package. Thanks Rex Dieter for the patch https://bugzilla.redhat.com/show_bug.cgi?id=807525 . I have also decided to maintain python-requests for EL6, i have pushed the latest version 0.11.1 to EL6.
Though it violates the updates policy https://fedoraproject.org/wiki/Updates_Policy, i have updated python-requests from 0.6.6 to 0.10.8 in Fedora 16 as python-requests is a fast moving young project.
All the packages should land in updates-testing in a few days. Please visit https://admin.fedoraproject.org/updates/python-requests to learn more about the updates.
I was invited to visit Sastra university – Trichy for a workshop on Free Software. I joined with Aditya and Srishti at KPN office bangalore. We boarded an air-conditioned sleeper coach by 11.30 P.M and reached Trichy by 6 AM. The road was bit bumpy, i couldn’t sleep much. As expected Trichy was much warmer than Bangalore in the morning. Trichy main bus stand has couple of Kamaraj statues. Sristi was surprised to see the ‘Golden’ statues of kamaraj.
While we were discussing about kamaraj, our cab arrived. The Sastra university is 45 minutes drive from Trichy. It is located between Trichy and Tanjore. We were asked to stay at the Guest house.
By 10 A.M i started my session on Free Software at one of their ‘smart classrooms’. I explained students about free software and its importance. My second talk was on GNU/Linux Commands, the talk was based on Stanford universities open classroom session on PracticalUnix. Students tried various commands on their laptops as i explained them. Aditya introduced python and Srishti introduced QT to students on the first day.
We had a good dinner at ‘Canopy’ Sastra’s canteen which is being managed by students. We finished the dinner with a tasty creamy cold coffee sponsored by Srishti. I was very tired after travel; so i went to bed early.
After a good sleep, I started the second day by introducing Django to students. I explained Django by creating a small blogging application. Many students tried to follow my instructions and came up with the small blogging website (Yay!). Next I joined with Sristi and introduced git revision control system to students using Shakthi‘s ‘di-git-ally-managing-love-letters‘ presentation. The students loved it! Aditya did a workshop on puppet on the second day. We also met the I.T department professor and had a little talk. She presented us with a memento .
By 6.30 P.M we left the college by saying good bye. We had to board the bus at Tanjore. Tanjore is famous for its Brihadeeswarar Temple. It was built on 11th century. We visited the temple and spent some time there. After dinner , we boarded the bus back to Bangalore. Srishti took lot of pictures during the visit (will be uploaded soon)
My flight reached at Pune 15 minutes before the schedule. Vaidik and I planned over IRC to share the cab from airport to the hotel. His flight was 30 mins late. I was not able to reach his mobile phone even after his flight landed. We never seen each other before. Finally i noticed a guy with a ‘Drupal’ T-shirt, i decided to bite the bullet and asked him “Are you vaidik?” Fortunately the answer was a ‘Yes’. By the way vaidik helped us with the fudcon.in website.
While i was waiting for Vaidik to book a cab, I heard some one asking me “Are you going to FUDCon?” that was .Srishti Sethi Gcompris contributor and GSOC student . Apparently she too identified us using our “Geeky” T-Shirts. We three ended up sharing the cab.
Moral : Wear a geeky T-shirt when you are going to a Technical conference.
We all had breakfast at the hotel and hopped into a van to reach the FUDCon venue. We were welcomed by Amit, Shakthi, Rahul and others Day 1 of FUDCon started with jared’s talk. He only used pictures in his presentation and did all the talking. His talk was thought provoking. After the keynote address i went to speaker’s lounge to prepare for my afternoon workshop. I met Joerg there. I introduced myself as maintainer of sqlninja. Joerg gave me commit access to security spin’s repository. I promised to help him with the future security spin releases..
In the afternoon, I did a workshop on “Practical GNU/Linux” for the students of college of engineering Pune. The workshop was inspired by Stanford’s open classroom session named “practical unix” I managed to pull most of crowd from auditorium’s to my workshop (evil grin). The slides are available here
After attending Harish’s talk on community, I started my talk on Django. I explained folks on how to create web apps using Django using a simple blog application. The slides are available here. My talk was followed by rtnpro‘s “Testing Django apps” talk. He extended by blog application and added test cases to it. The code is available here . After the talk to our pleasant surprise some one from COEP approached us with half written Django app. We happily helped her fix the issue. In the afternoon i attened jsmith’s “publican” talk and Srishti’s “cute hacks using pygoocanvas”.
In the evening we left for FUDPub. FUDPub was awesome , everything happened on a roof top with DJ and dance.
Day 3: – Hackfest’s
Rahul was late to the venue on Day 3 (FUDPub?). I introduced askbot on behalf of Rahul to the people and invited them to join our hackfest. Most of them joined us were new to Django so we had to help them a bit. Then i started working on “Export questions and answers as pdf” feature of askbot. I ended up using “Reportlab” python library for pdf generation. A lot need to be done to complete this feature. I hope i can make most out of my upcoming weekends.
FUDcon was awesome, It was nice to see lot of people face to face.
I had lot of memorable moments at FUDCon, Rahul played a prank on how i stole pair of baby pink coloured slippers from srishti :-) (the baby pink slippers are now talk of the town, read other’s blog posts ) The mini push up’s competition at FUDPub. Taste of my first beer/cocktail ( i have no plans to drink again ). I am sure events like FUDCon will help bring people together and instrumental in creating a strong community. Thanks Red Hat for sponsoring my travel and accommodation .