Posts Tagged ‘Mondorescue’

Merry Christmas, MondoRescue 3.2.0 is out !


My previous post was to announce I wanted to publish that long overdue 3.2.0 version of MondoRescue beofre Christmas, so here we are !

I finally found the issue I had restoring RHEL7 with 3.2.0. This was due to a cumul of problems:

  • XFS labelling was broken. I fixed it by calling appropriately xfs_admin in label-partitions-as-necessary
  • RHEL7 uses a UUID for / in the grub2 configuration, which is not mentioned in /etc/fstab; so mindi wasn’t recreating that UUID correctly. So now mindi will store in the mountlist.txt the UUID of each partition, if no other LABEL or UUID was explicitely given in /etc/fstab in order to be able to use it at restore time, and label-partitions-as-necessary was also updated to take that in account

And I was with these modifications able to restore fully automatically a RHEL7 VM. So as I had alrady a working RHEL6 and Fedora 20 env, and as no big regression is expected on other supported distros (Mageia, SLES, OpenSuSE, Debian, Ubuntu mainly) I thought it was time to deliver it officially and give you a toy to play with for Christmas ! Am I not a nice guy ;-) ?

A lot as changed with regards to 3.0.4. If you want to have all the details, look at the Changelogs available in the trac announce, or read my previous posts about the 3.2 branch development, which started back in October 2013 (or even before in fact).

Is it the end of the 3.0 branch ? No. As I announced it earlier already, I want to at least publish a 3.0.5 with most mindi modifications backported in it (SVN already has such a branch in fact) in order for those of you who don’t like major updates, to stay with a more stable branch for some months, before jumping into 3.2.x. Because 3.2.x is the future, and most of my development time will happen here.

Hopefully that 3.0.5 branch will also work fine with systemd and /usr only based distros as the modifications to support that have all been done in mindi.

As for the 3.2.x branch, please report your findings ! I know I’m far from answering all mails, or answer all bug reports, but I do rad all of these, and as time permit, I try to make the code evolve (typically adding more perl functions) to have a more flexible way of incorporating your requests. Slower, but I have an installed base to maintain, I’m not like Fedora, which will always be followed, I need to keep my sysadmin as happy as possible with the state of the tool, while maintaing as much compatibility as I can with the previous versions.

But all that won’t happen before early January, as I’ll pass time with my kids and my wife to celebrate Christmas, an enjoy being together, which is now not as often as the previous years (yes kids grow up and move sometimes far from home :-), and that’s good !)

As I write packages are still being delivered to the master ftp server. Try it after the 25th !

MondoRescue 3.2.0: last beta before publishing


I’m probably far from being a good project leader. The lack of time is one of the reason, but I think I could do better anyway, as I was particularly quiet these 2 last months. So I use that time, where I’m waiting before driving to the airport to give a status.

I was quiet, but still working on it as time permitted, and willing to solve the Fedora 18-20 support issues I had for a very long time now. And it seems that with the latest patches pushed this week, I’m good on that side. I’ve been able to do a full backup/restore of my Fedora 20 VM in automatic mode without issue ! That’s the first time, and was particularly happy that after 9 months of development around 3.2, I could achieve that. The other good news, is that it is still working fine for RHEL 6 e.g. as I also did a full cycle this week.

Ok, so life is nice. Well, as you know, nothing’s perfect ;-) So I still have an issue with RHEL 7. In fully automatic mode, eveything works fine, except that the restored VM doesn’t start due to an issue on the UUID in the initramfs.

I’ll test by recreating that initramfs after restore, and hopfully, dracut will do the job for me. But as I’ll be travelling in the US all next week, I thought it was good to publish a last beta before leaving, so that the community could also test and report what happens on other distros or on other configurations.

Note that very few other bugs have been fixed. I’m more interested for this first 3.2 version to have it work finally on all new systemd distros as much as I can, even if some features are still not fully working (see trac for details).

Compared to my last post on the subject, some points have been improved:

  • the network stack is now launched as long as a network backup has been done originally, even if you boot from the ISO image directly, and not through PXE. You may still choose from where to restore afterwards, but at least network is up
  • solve some /bin vs /usr/bin issues for pre-fedora 18 and systemd distros which were not working anymore (Cf: #741)
  • fix for a lack of keyboard discovery
  • fix some perl issues in some cases (Cf: #755)
  • force LV creation which on RHEL7 now asks a question in case something was already there before (Cf: #753)
  • Optimize modules list computation between mindi and restore init script and do not load modules list twice anymore
  • Force generation of hardlinks for busybox to avoid package build problem on some distro with inexistant links at build time (recent SLES)
  • Fix busybox 1.21.1 to support back old distributions such as RHEL3 and RHEL4 or SLES9 by avoiding usage of the struct tpacket_auxdata
  • Fix isolinux.bin and ldlinux.c32 locations for recent Debian distro

So maybe even more has been fixed than I considered initially in fact. Anyway, I’ll try to avoid to stay so long without publishing new versions to test. It’s a promise, but will be difficult to keep so don’t hold your breath !

I’d appreciate that you provide feedback on the MondRescue mailing list, create trac entries (even if I know there are already a lot that would need to be solved sooner than later).

The goal is to publish 3.2.0 final before Christmas, and to work on a hopefully final 3.0.5 version backporting some of the previously mentionned fixes coded in 3.2 for those of you who prefer to stay on that branch, which will be maintained a bit in parallel as long as 3.2 is not tested more. I think that you’ve been patient with me, so I also have to be patient myself before more users adopt the new stable branch.

Hopefully you’ll get a new blog article for the announce in less than a month !

Last day at LinuxCon NA 2014


Today the keynotes were dedicated to Openness and Hardware. The first was from a company, Makerbot, which spoke a lot about Openness, but that I saw more as trying to sell their 3D printers, rather then anything else :-( I even learned later from an attendee that they even tend to block innovation with their patents ! So maybe the LinuxFoundation should take care of not “giving” opportunity to such actors to speak to an Open Source audience if their state of mind is nearer from the closed source business. Having a community sharing 3D design doesn’t sound sufficient to me.

Jonathan Kuniholm

The second keynote was on the topic that even is 3D printing is such a hype at the moment, disallowed people still have a hard time finding useful prothesis, modern ones, les expensive ones, or building their own. I really encourage you to listen to Jonathan Kuniholm (the keynote doesn’t seem to be online, but TED provides one very similar). This was puzzling for me to see how few technology is helping people like him :-( So I think that if you have time, you should look at helping his initiative at rather than inventing yet another piece of software just because the existing one doesn’t happen to please you.

IBM Keynote

Finally we had the “usual” IBM keynote, showing how Linux on Power was great, and presenting the foundation built around it. But if you look at uses cases, you see that most of them are academics, where probably the hardware was given so it weakened the talk IMO. Of course, I’m working for a competitor, so I’m not completely neutral here. Anyway having a portable Linux is extremely important, but I think it will reveal its capabilities on x86 (well it has of course!) or ARM. It had on Itanium or Sparc or Power (Linux can enable them) but the problem is that market doesn’t want such high-end platforms anymore, as they were representing a closed approach even if that has changed since. Openness is what allows mass distribution today (in processors as those mentionned, or software as Android and hopefully Linux on the desktop ;-))

UEFI Summit

After the break, I passed my day in the UEFI mini-Summit. The goal was different from last year PlugFest during LinuxCon. Instead of targetting developers, the goal was to expain the technology to potential and existing Linux sysadmin or devops. And I think it went pretty well with regards to demystifying how UEFI works woith Linux, including SecureBoot and brought back the discussion at a technical level rather than an emotional one.

An introduction talk by Dong Wei, HP served as positioning the UEFI Forum, the various groups in it (with the inclusion of ACPI), the history of UEFI, current status, and helped put everybody at the same level.

Q&A session

After that we had a (always too short IMO) round table were the audience was given the possibility to ask questions to the panelists. And there were very tough questions asked around the usefulness of UEFI, the lockdown brough by SecureBoot, … and everytime clear and honets answers were given showing why UEFI is useful, why SecureBoot help increasing Linux security without restricting users possibilties and control over their platform. All in all a lot of myths were just addressed during that Q&A session which was really interactive.

After that, we had more formal presentations:

  • UEFI Secure Boot – Strengthening the Chain of Trust – Jeff Bobzin, Insyde Software & Kevin Lane, HP
    This session was mainly about how Secureboot is working from a technology perspective, and the various solutions existing with Linux and its boot loaders to use it, benefit from it as it really increase security by providing a chain of trust from firmware up to the kernel+intrd booted, with either standard UEFI keys or its own ones.
  • Jeff Bobzin & Kevin Lane

  • UEFI Test Tools for Linux Developers – Brian Richardson, Intel & Alex Hung, Canonical
    This session was on FWTS from Canonical which provides a UEFI firmware and ACPI test suite, used alot by manufacturers to check the conformity of their platform with the UEFI and ACPI specifications. Chipsec and LuvOS were also covered which provides other areas of test with regards to respectively security and an integrated Linux distribution calling all these tools and more, both developed by Intel.
  • Brian Richardson

  • Building ARM Servers with UEFI and ACPI – Dong Wei, HP & Roy Franz, Linaro
    This session was to give a status on UEFI support for ARM architecture, and was pretty interesting for me as I had no clue on where we are on this domain. And it seems they are catching up with Intel Architecture now and should be at parity very soon. ACPI is still less advanced, but will be there for ARM servers as requested by customers, whereas device tree will probably remain what will be used on nn server platforms.
  • Dong Wei

  • Self-signing the Linux Kernel (the hobbyist approach) – Zach Bobroff, AMI

    This last session was IMHO the best of the serie, because it was demo oriented (and I like demos !) and more over, it just worked !! The goal was to show how to register its own key used to sign its own kernel with SecureBoot, and rebooting a machine with and without key loaded to demonstrate the increased security brought by that mechanism. Was very clear and illustrative of what was described during the first session of the mini-Summit by Jeff and Kevin. Zach did an excellent job explaining each step and provided great details on how all that works, and finally showed to the audience that we shouldn’t be afraid of the feature, because we have the possibility with the shim bootloade to use our own keys without issue.
  • Zach's pres

You can listen to all these presentations at the UEFI web site. And I think it’s worth doing so for those who still have questions on the SecureBoot topic, as it will enlighten you and remove and barrier you may still see there.

UEFI Summit end

The event was then over, so it was time to benefit from my speaker gift, which was the possibility to use a boat and have a cruise around Chicago, which I did with Dong and it was a very good idea from the organizers to offer that gift. Hope the pictures will give ou a good idea of how we enjoyed it.

MondoRescue 3.2.0 stabilisation


It took me time for sure. I started to work on this precise branch in October 2013. At that point, I was already happy to have a compiling version as I’ve made lots of memory management changes. But of course, it was not that simple ;-)

Then in march 2014, again, I thought I was ready to publish something ASAP. Argh !! I was wrong again.

But now is time for you to test it. I’ve fixed most of the issues I had remaining at that time (isolinux menus, NFS on Mageia 4, change of network NIC name). But the main one which took me hours to fix is linked to systemd. I’ve concentrated all my tests on Fedora 20 (which is very near from RHEL 7 that is an important target of course). But it’s not before a discussion with a systemd developer during LinuxCon Japan that I understood where the problem was.

At restore time, mindi init script was mounting the /dev filesystem as tmpfs instead of devtmpfs. Once I made the change, systemd-udev was able to be launched and work correctly for me at restore time, so the restore of fedora 20 was starting to work.

Of course, after that, I had other points to fix to name a few:

  • fully support systemd and its multiple compagnon binaries
  • fully support grub2 and its installer
  • avoid some memory management issues in corner cases using a lot valgrind
  • Remove from mindi 2 functions replaced by perl code (ReadAllLink by mr-read-all-link and ProcessLDD by mr-process-ldd)
  • cleanup of old useless file in /tmp suposedly used for mondo/mindi commnuication
  • Adds lvmetad daemon to list and launch it at restore time as new LVM version seems to need it
  • Rename the conf file mondo-restore.cfg into mondorestore.cfg for homogeneity
  • NETFS-SERVER-MOUNT remains the only built file by mondo for net configuration, lots of code cleanup and mindi now uses mr-net-get-config to build the network conf
  • Add support for latest Fedora keymap file (/etc/vconsole.conf) and non us keyboard detection

So that explains the delay you’ve seen in the publication of test versions.
But now, It’s time !!!

I’ve been able to make a full backup / restore / restart of the restored fedora 20 distribution in a full automatic mode without issue anymore ! Yep, I deserve some vacation !!!

So it’s your turn now to test this version and tell me what I’ve missed, and if that doesn’t create regressions for your prefered distro.
Available as usual at

Now this version requires in addition to the afio or buffer packages also the perl modules developed for MondoRescue (at the same place) and for located at

Not all distros have been built correctly yet. Let me know what is missing, I’ll try to update during my week in Barcelona. I’m particularly interested by Fedora users for now, and more generaly other systemd users.

If tests are globally positive, I’ll publish it early July. And I’ll look at porting some of these changes back into 3.0.5 and add one or two features that have been asked for some time by some customers, but we’ll have to prioritize stuff. Again give feedback here.

Still working on MondoRescue 3.2 to make it available ASAP


Even if stuff do not progrees at the speed I’d like them to progress (lots of travels on HP side since early 2014 and 4 concerts to perform on the private side) I’ve tried to improve the 3.2 version I published unofficially as beta. Interestingly enough, even when I do not announce that packages are delivered, there are people who do use them !!! Which gave me some feedback (you can guess it wasn’t that positive), so in fact it’s already my second delivery :-) and it contains some interesting new features:

  • mindi now uses the new mr-kernel-get-modules perl script which allows now in mindi to just mention end modules names andd not dependencies anymore, which are now computed by the script !! This will help a lot to maintain the list of modules, which was always impacted by low-level dependencies changes at kernel level.
  • Support of symlinks for newest distributions based on systemd such as Fedora, Mageia, … is now finally working !! Again this was done exporting the existing wrong code into a separate perl script which now operates correclty. This is part of the global willingness to recode most of mindi and some of mondo in perl. This took quite a long time, as of course, we need to stay compatible (a word systemd team doesn’t care about of course) with other tools, and older distributions. Side note, this is probably one of the reason MondoRescue is still appreciated by its community :-)
  • The introduction of a dependency on a perl function was incorrect and people trying to install from packages gave feedback that they had errors dof course ue to that. This is now fixed, as indeed had an issue because a low level function was depending on a higher level function not part of the perl modules provided for MondoRescue. With 0.12.5 of this is completely solved.
  • Now I still have regressions with the isolinux menus, NFS on Mageia 4 and systemd not working anymore (change of network NIC name is the root cause). However the ldlinux.c32 issue for syslinux > 5.x is now solved.

Next week is the TES, so won’t have much time to work on it. Expect news the week after. 0.12.5 is now available


Finally, after having published the version 0.12.3 on time for, I found some remaining bugs in it (problem of time based realease and not enough time to test), then I made a 0.12.4 version soon after as promised to solve these, but still missed some aspects, and those are now solved with this 0.12.5 version.

So this version fixes an issue with messages printed which were done in double, and also the way we manage naming of Debian versions, following the recent change for Debian 7 (using now only the major version, and not mentioning the minor version which is now useless).

I also fixed a dependency issue, seen when trying to install the beta of MondoRescue, where a function wasn’t provided in the perl-ProjectBuilder module, while used in the code :-( This is now solved, and I’ll now start working on the next MondoRescue beta which should now be installable with yum/apt-get/urpmi.

This version should now be stable to use for some weeks, as I do not plan to make big changes in it, as this is perfectly fitting my needs now. Of course, more could always been done, but I can’t advance on all sides at the same time, so now it’s MondoRescue‘s turn !

Enjoy !

It starts as a happy new year indeed


Well, would you really be surprised if i say that the begining of 2014 looks as promising (and as busy of course) as the end of 2013 was ?

While travelling to in Perth (28 hours door to door but could it be a better start for 2014 !) I had some time to look at, subject of my conference on Monday and also to MondoRescue.

For, I’ll publish a new version for LCA (0.12.3) which will fix rpmbootstrap for lastest Fedora (18-20), Mageia 3 and also other recent distros. Also as SVK is now broken on Mageia 3, I’m using git-svn to work on my laptop when remote, and thus pb supports it now. Some various fixes since last year release will also be done (better printing with VM/VE name for logs, improved ntp support, pbdistrogetparam command to easy shell interface…), but globally the software is pretty stable for my usage, so now it’s your turn to tell me what would be useful for you in it. I also need to make a newer presentation for Monday with a short demo.

For MondoRescue I’m not ready yet to publish a final version, so I have made for now a first beta for the 3.2.0 version. First this will be a new 3;x version as there are lots of changes in the code that may make it less reliable due to the adoption of dynamic memory allocation instead of static in a lot of functions. If I compare 3.0 and 3.2:

  • 3.0
    • total mr_asprintf usage : 646
    • total sprintf usage : 674
    • total strcpy usage : 560
    • total fgets usage : 79
    • total malloc_string usage : 367
    • total MAX_STR_LEN usage : 370
  • 3.2
    • total mr_asprintf usage : 1223
    • total sprintf usage : 166
    • total strcpy usage : 388
    • total fgets usage : 28
    • total malloc_string usage : 129
    • total MAX_STR_LEN usage : 221

Which means that a lot has been done in code changes between 3.0 and 3.2. But also a lot remains to do if we want to have no malloc_string nor MAX_STR_LEN at all. And also if I made mistakes in the mr_malloc/mr_asprintf/mr_free usage, the commands will crash. THat’s why I need your tests here ! I’ve made a full bakup restore cycle (which has revealed some issues that I fixed), but I’m far from being confident in the result.

Another consequence is that this version will probably have less fixes than previous ones as most of the time has been passed on code modernization.

And it will require new mindi and mindi-busybox versions. And these versions should finally work for systemd crazyness of removing /bin and /sbin (which broke MondoRescue for a too long time now). And you’ll need new perl modules in order to have it work correctly as I finally rewrote some bash mindi functions into perl to have what I consider better code.
Which means Fedora 18-20, Mageia 3 should work out of the box (at least my Mageia 3 now works correctly).

And expect again more pacthes to MondoRescue durnig the 28+ hours back home at the end of next week ;-)

So I wish to all readers a happy new year 2014 and hope it will start for you as it has for me !

Visit me at HP Discover in Barcelona


Again a quiet active month. I’m just back from one week for an internal event in Houston US, and I’m now in Barcelona for HP Discover EMEA 13. So if you are around and want to talk about Linux, Open Source or early music, go to Pavillon 5, booth 5530. I’m demonstrating the newly announced IC4RHEV which is officially announced during the event. You can also see it on Red Hat booth if you prefer to talk to the real guys ;-)

I took time during my travels to improve the 3.2 version of MondoRescue, but as expected, it will require some tests to ensure the new memory management modifications are stable. Hopefully a beta next week.

First UEFI PlugFest for Linuxers


After the 3 days dedicated to LinuxCon US 2013 in New Orleans, it was time to contribute to the UEFI Plugfest organized for the first time as a co-located event.

So what is a UEFI plugfest ? Well it’s a place where hardware manufacturers and software producers meet to check the compatibility of their implementations with regards to UEFI. So Every hardware manufacturer brings some systems, sometimes early units or prototypes, and try them with the latest operating systems available to find out potential issues, some other bring cards to see whether their UEFI driver works fine on computer manufacturer and operating system producers want to try their latest version on these often brand new systems.

UEFI PlugFest

I think it was a brilliant idea to mix the 2 populations for multiple reasons:

  • UEFI members were for sure impressed by the technical knowledge floating around, and employed in such an open fashion, which is not the standard way of working of this standard body.
  • Linux kernel members could exchange with manufacturer representatives of UEFI systems which definitely helped reducing all the FUD around this technology, in particular Secure Boot. They also had the opportunity to test some not yet available hardware platform to ensure their distributions/drivers/tools were working fine or fix them if that wasn’t the case

UEFI PlugFest - Samer El-Haj-Mahmoud, HP

So in the HP area, under the lead of Dong Wei who is UEFI Forum Vice President and HP Fellow, we tried with 2 colleagues various Linux distributions (and even Windows, but not me !) on the 4 systems that were around. And some findings were interesting !

UEFI PlugFest - Dong Wei, HP

  • Debian 7.1 had grub issue at boot and we were not able to install it
  • Mageia 3 has no UEFI support yet and we were not able to install it easily. However, support is planned for Mageia 4, and some info have been published recently to detail how to perform UEFI based installation.
  • Ubuntu 13.10 provides all what is needed to install in a UEFI compliant environment, thanks to their documentation. We were also able to test SecureBoot with success with their version of Matthew Garrett‘s shim bootloader, signed by Microsoft. They are also working on an interesting tool: FWTS aka Firmware Test Suite, which should be adopted by all distributions IMHO in order to have (for once !) a single tool able to perform firmware compliance tests for a Linux environment. Easy to use, pretty comprehensive, reports lots of useful info. Too bad that they are not providing their certification tools online anymore :-(
  • OpenSUSE 12.3+ again has what is needed for UEFI support. Same mechanism with a shim bootloader, but this time signed multiple times by Microsoft and SUSE. However, this requires a more recent implementation of the UEFI specification, which wasn’t the case on all our system during this event. SUSE provides in particular an excellent documentation on UEFI support, including the possibility to sign its own kernel with pesign in order to use it with SecureBoot.
  • Fedora 19 provides mostly all what is needed. Install worked in UEFI mode without problem. We used the updated version of the shim and shim-unsigned packages from Fedora 20 in order to avoid some issues. However, the multisign issue met with OpenSUSE was also encountered here. More over, Fedora doesn’t provide a good documentation yet for signing your own kernel, which was reported upstream and could benefit from this article. Also the usage of mokutil is broken and should be fixed for Fedora 20.
  • UEFI PlugFest - Samer El-Haj-Mahmoud, HP

    We also got visited by two Kernel Maintainers Greg Kroah-Hartman and James Bottomley who even tried some of his tools on our systems.
    UEFI PlugFest - James Bottomley, Parallels - Neill Kapron, HP

    Note that Some USB keys even correctly formated didn’t boot correctly on some platforms so if you encounter this issue, try using another USB key.

    Finally I made some tries with MondoRescue on the Last Fedora distribution installed. I thought the work done to support EFI on Itanium would be sufficient, but there are some detection problems for the boot loader in mindi need to be solved and are now tracked upstream as well.

    And on top of all what I was able to learn working with my 3 colleagues, I was pointed to a very instructive article from Ken Thomson on Trusting Trust, I hadn’t read before (and I encourage you to read it), following discussions on Secure Boot. And we had a very nice dinner downtown, a walk through Bourbon Street
    Bourbon Street

    followed by a real air of New Orleans Jazz.

    That was the end of a very rich US week. More to come on other more recent travels later.

New 3.2 development branch for MondoRescue


I’ve taken over the lead for MondoRescue in September 2005. It has been 8 years these days. And since the 3rd of October 2005, I started a new branch to try to fix the first bug report (I really mean the first !) that was made !!

It took me hours to work on this branch along the years. Many times I’ve left that dev, as it wasn’t working as I wanted. Too many modifications done without testing, then a non working stuff too difficult to debug. I even included a patch from a contributor René-Marc Dolhen to add i18n support, but due to the numerous changs of branches to work on this, it never materialized in an offical MondoRescue version.

So when René-Marc contacted me back 2 weeks ago to again propose to me to add this patch renewed, I decided it was time to make something !

I’ve thus created the 3.2 branch, passed lots of hours again during my recent travel in the US to port patches from the 3.1 branch to this new one and 3.2.0 will be next MondoRescue version. I’m now testing it. trunk, stable (!) and 3.1 branches are now dead. The one after will be named devel, but that’s not for now.

3.2 now compiles, build and even runs up to the archiving point. I’ll start testing restore soon. I’ll make beta versions available as usual and will really need your help as user/contributor to test it in the various cases that you have to make it as reliable as the one we have today in 3.0.

Even if I don’t intend to maintain 3.0 for a long time in parallel with 3.2, it may be done a bit to ease the transition.

BTW, do not expect many news in 3.2. It’s 3.0 with tons of dynamic memory allocation instead of static one where it was easy to do (and done previously). More will come later on. And hopefully with the i18n patch added if René-Marc has still the force to work with me after so many years of delay !!


Get every new post delivered to your Inbox.

Join 116 other followers