Olivier - 2. Definitely sounds like the way to go ...

From: LAHAYE Olivier [mailto:olivier.lah...@cea.fr]
Sent: Thursday, January 23, 2014 3:00 AM
To: sisuite-users@lists.sourceforge.net
Subject: [sisuite-users] RE : support newer kernels in systemimager?

Hi,

Sorry for not participating often here, I'm extremely buzy working on releasing 
a new stable OSCAR cluster release that will support many distros.

Though, I'm still working on SystemImager. (just fixed si_monitortk thread 
warning)

The current git should support kernels from 2.4 to 3.99 if it ever exists.
We have built beta release here:
http://svn.oscar.openclustergroup.org/repos/unstable/

For more info, here is my analysis of the current situation and what I'd like 
to achieve:

Problem of the current release is that it fails to build template initrd and 
kernel on newer distros (like fedora-18+). The problem is that template initrd 
is based on udev when newer kernels needs latest udev version and build 
mechanism is not yet designed to build udev without systemd from systemd source 
tree.

IMHO, the way to generate templates is not compatible anymore with the variety 
of distros and kernel version. rhel6 is using a 2.6, while other distros are 
using kernel 3.x
Building latest kernel and lvm on an old system (rhel6) using installed system 
kernel includes leads to build failures or runtime crash.

2 solutions for the future:

1/ have different build tree for each distro with apropriate kernel => means 
old distro won't be supported on recent hardware . typically, our vanilla 
kernel-2.6 supports far less hardware that patched rhel-6 shipped kernel. => 
bad idea and very difficult to maintain.

2/ drop the idea to build our kernel and initrd from scratch and instead build 
the initrd using dracut. Big benefits:
   a/ we support the same hardware as the linux vendor. even with old kernel.
   b/ building the rpm is far more faster
   c/ far more stable. no more lvm built for kernel 3.10 using kernel 2.6 build 
host system includes.
UYOK would still be possible for users having hardware that is not supported by 
their linux vendor, but for the majority of cases, the templates would be far 
sufficient.

Unfortunately, I'm still searching a doc that tells how to build a non basic 
initrd.
Our case is similar to 
http://ftp.free.fr/mirrors/fedora.redhat.com/fedora/linux/releases/20/Fedora/x86_64/os/images/pxeboot/initrd.img

=> If someone can point me to a page that explains how this image is built, 
that would be AWESOME.

It uses systemd and udev for loading hardware drivers and minimal services like 
network and so. Basicaly it havs everything we need.
Then we would just have to add needed binaries (lvm tools, ...) from installed 
system and (build)our specific stuffs like flamethrower client or bittorent 
client and replace stage2 loader with our rcS and voila! (cleaner, faster, 
higher ...;- )

Best regards.

--
   Olivier LAHAYE
   CEA DRT/LIST/DIR
________________________________
De : Jan Groenewald [j...@aims.ac.za]
Date d'envoi : lundi 20 janvier 2014 07:38
À : 
sisuite-users@lists.sourceforge.net<mailto:sisuite-users@lists.sourceforge.net>
Objet : Re: [sisuite-users] support newer kernels in systemimager?
Hi
This file

0 root@muizenberg:/usr/lib/systemimager/perl/SystemImager#dpkg -S 
UseYourOwnKernel.pm
systemimager-common: /usr/lib/systemimager/perl/SystemImager/UseYourOwnKernel.pm
Checks the kernel version and throws an error for newer kernels. This patch 
allows me to use some 3.X kernels

1 root@muizenberg:/usr/lib/systemimager/perl/SystemImager#cat 
UseYourOwnKernel.pm.patch
--- UseYourOwnKernel.pm.orig    2012-05-30 17:05:54.899344781 +0200
+++ UseYourOwnKernel.pm 2013-02-18 08:30:56.251862480 +0200
@@ -460,11 +460,12 @@
                 #       2.4.19-mantis-2002.11.20 (root@mantis) #6 Tue Nov 19 
15:15:43 CST 2002
                 #       2.6.7-1-686 
(dilin...@toaster.hq.voxel.net<mailto:dilin...@toaster.hq.voxel.net>) #1 Thu 
Jul 8 05:36:53 EDT 2004
                 #       2.6.22.5-31-default (geeko@buildhost) #1 SMP 
2007/09/21 22:29:00 UTC
+               #       3.2.0-24-generic #39-Ubuntu SMP Mon May 21 16:52:17 UTC 
2012
                 #
                 my $regex =
                 #           | kernel version + build machine
                 #           `---------------------------------------
-                            '(2\.[46]\.\d[^\/]*?) \(.*@.*\<mailto:.*@.*\>) 
[#]\d+.*' .
+                            '((2\.[46])|(3\.[0125])\.\d[^\/]*?) 
\(.*@.*\<mailto:.*@.*\>) [#]\d+.*' .
                 #
                 #           | build date
                 #           `---------------------------------------
@@ -739,7 +740,7 @@
         # Find the right way to get modules info.
         my $uname_r = get_uname_r();
         my $modinfo_filename;
-        if ($uname_r =~ /^2\.6/) {
+        if ($uname_r =~ /(^2\.6)|(^3\.[0125])/) {
             $modinfo_filename = 'modinfo -F filename';
         } elsif ($uname_r =~ /^2\.4/) {
             $modinfo_filename = 'modinfo -n';

It is however already out of date as Ubuntu 12.04 can run 3.2 (linux-generic) 
3.5 (linux-generic-lts-quantal) 3.8 (linux-generic-lts-raring) or 3.11 
(linux-generic-lts-saucy) kernels:
https://wiki.ubuntu.com/Kernel/LTSEnablementStack
The patch will fix your problem running si_prepareclient (though I can image 
that I could not do the network boot on that kernel (still using an old 2.X 
Ubuntu 11.04 kernel).
My images are also converted to grub1 instead of grub2, and the master script 
edited to have ext3 not ext4, and a similar patch to allow the server to upload 
from an ext4 golden client.
I'm looking forward to a new release of SI for Ubuntu 12.04 and 14.04 support!

Regards,
Jan



On 4 November 2013 22:02, Steven DuChene 
<steven.a.duch...@hp.com<mailto:steven.a.duch...@hp.com>> wrote:
I am trying to capture the image of a system that is running Ubuntu
Precise 12.04LTS and when I run the si_prepareclient with the following
command line switches:

si_prepareclient --server 10.23.18.10 --my-modules

I get the following :

Use of uninitialized value $v1 in split at
/usr/lib/systemimager/perl/SystemImager/Common.pm line 199.
Use of uninitialized value $v1 in split at
/usr/lib/systemimager/perl/SystemImager/Common.pm line 199.
Use of uninitialized value $v1 in split at
/usr/lib/systemimager/perl/SystemImager/Common.pm line 199.
Use of uninitialized value $v1 in split at
/usr/lib/systemimager/perl/SystemImager/Common.pm line 199.
Use of uninitialized value $v1 in split at
/usr/lib/systemimager/perl/SystemImager/Common.pm line 199.
Use of uninitialized value $leftovers in substitution (s///) at
/usr/lib/systemimager/perl/SystemImager/Common.pm line 704.
Use of uninitialized value $leftovers in split at
/usr/lib/systemimager/perl/SystemImager/Common.pm line 707.
Use of uninitialized value $v1 in split at
/usr/lib/systemimager/perl/SystemImager/Common.pm line 199.
Use of uninitialized value $v1 in split at
/usr/lib/systemimager/perl/SystemImager/Common.pm line 199.
ERROR: unsupported kernel 3.5.0-23-generic!

The warnings or errors about "Use of uninitialized value $v1 in split at
/usr/lib/systemimager/perl/SystemImager/Common.pm line 199" is due to
the way parted is now returning multiple line of text output when the
--version option is passed. It seems that the perl code that is supposed
to be parsing the stuff that is not able to handle that multi-line
output to extract the version of the parted utility.


However what concerns me most is the message back that says the
3.5.0-23-generic kernel is not supported.
Is there any documentation available for systemimager that would show
the necessary process steps to incorperate support for newer kernels?

Any suggestions about any of this would be most appreciated. BTW, I have
the following installed on the Ubuntu system:

ii  systemconfigurator 2.2.11-1                      Unified
Configuration API for Linux Installation
ii  systemimager-client 4.1.6                         Utilities for
creating an image and upgrading client machines
ii  systemimager-common 4.1.6                         Utilities and
libraries common to both the server and client
ii  systemimager-initrd-template-amd64 4.1.6
SystemImager initrd template for amd64 client nodes

--
Steven DuChene

------------------------------------------------------------------------------
Android is increasing in popularity, but the open development platform that
developers love is also attractive to malware creators. Download this white
paper to learn more about secure code signing practices that can help keep
Android apps secure.
http://pubads.g.doubleclick.net/gampad/clk?id=65839951&iu=/4140/ostg.clktrk
_______________________________________________
sisuite-users mailing list
sisuite-users@lists.sourceforge.net<mailto:sisuite-users@lists.sourceforge.net>
https://lists.sourceforge.net/lists/listinfo/sisuite-users



--
  .~.
  /V\     Jan Groenewald
 /( )\    www.aims.ac.za<http://www.aims.ac.za>
 ^^-^^
------------------------------------------------------------------------------
CenturyLink Cloud: The Leader in Enterprise Cloud Services.
Learn Why More Businesses Are Choosing CenturyLink Cloud For
Critical Workloads, Development Environments & Everything In Between.
Get a Quote or Start a Free Trial Today. 
http://pubads.g.doubleclick.net/gampad/clk?id=119420431&iu=/4140/ostg.clktrk
_______________________________________________
sisuite-users mailing list
sisuite-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/sisuite-users

Reply via email to