Peter Bloomfield wrote:
> On Monday 23 April 2007 11:09, Peter Bloomfield wrote:
> snip
>> >>
>> >> tar -C /tmp/.systemimager.0 -cf - . | tar -C /tmp/.systemimager.1 -xf -
>>
>> tar: ./lib/bittorrent/zope.interface._zope_interface_coptimizations.so:
>> Cannot open: File name too long
>> tar: Error exit delayed from previous errors
>>
>> >> umount /tmp/.systemimager.1
>> >>
>> >> rm -fr /tmp/.systemimager.0 /tmp/.systemimager.1
>>
>> FAILED: tar -C /tmp/.systemimager.0 -cf - . |
>> tar -C /tmp/.systemimager.1 -xf -
>> at /usr/lib/systemimager/perl/SystemImager/UseYourOwnKernel.pm line 1130.
>>
>> Any hints or suggestions will be most appreciated.
>>
> Sorry I just noticed 3.9.0 is the newset 'unstable' release, I have returned
> to last stable release 3.8.1 and si_prepareclient --server 172.25.4.12
> executes without error.
Peter, even if 3.9.0 is unstable what you've found is a bug! and it must
be fixed... ;-) Thanks for reporting!
Erich, what do you think about this issue? I think we should remove the
minix fs support in UYOK. Look at the patch below (already checked in
the trunk). BTW it would be great if you could test again the cpio
initrd.img with your opensuse10.2...
-Andrea
-------- Original Message --------
Subject: [systemimager-commits] r4035 - trunk/lib/SystemImager
Date: Fri, 27 Apr 2007 06:35:38 -0500
From: [EMAIL PROTECTED]
Reply-To: [EMAIL PROTECTED]
To: [EMAIL PROTECTED]
Author: arighi
Date: 2007-04-27 06:35:34 -0500 (Fri, 27 Apr 2007)
New Revision: 4035
Modified:
trunk/lib/SystemImager/UseYourOwnKernel.pm
Log:
- fix: the minix limit that allows max 30 characters for filenames
conflicts with the filenames of the BitTorrent libraries that need
more than 30 characters. Switch back to cpio initrd.img if any other
filesystem is not available.
Bug reported by Peter Bloomfield <[EMAIL PROTECTED]>.
Modified: trunk/lib/SystemImager/UseYourOwnKernel.pm
===================================================================
--- trunk/lib/SystemImager/UseYourOwnKernel.pm 2007-04-22 14:22:23 UTC (rev
4034)
+++ trunk/lib/SystemImager/UseYourOwnKernel.pm 2007-04-27 11:35:34 UTC (rev
4035)
@@ -544,7 +544,7 @@
open(FILESYSTEMS,"<$file") or die("Couldn't open $file for reading.");
while (<FILESYSTEMS>) {
chomp;
- push (@filesystems, $_) if
(m/(cramfs|ext2|ext3|reiserfs|xfs|jfs|minix)/);
+ push (@filesystems, $_) if
(m/(cramfs|ext2|ext3|reiserfs|xfs|jfs)/);
}
close(FILESYSTEMS);
@@ -604,15 +604,6 @@
print "XXX just need to verify where the xfs module lives.\n";
}
- # minix
- elsif ((grep { /minix/ } @filesystems)
- and (! -e "$modules_dir/kernel/fs/minix/minix.o")
- and (! -e "$modules_dir/kernel/fs/minix/minix.ko")
- and (! -e "$modules_dir/kernel/fs/minix/minix.ko.gz")
- ) {
- $fs = "minix";
- }
-
# cpio
unless(defined $fs) {
# Couldn't determine an appropriate filesystem: fallback to cpio
initramfs. -AR-
@@ -774,8 +765,6 @@
_create_initrd_jfs($staging_dir, $boot_dir);
} elsif ($fs eq 'xfs') {
_create_initrd_xfs($staging_dir, $boot_dir);
- } elsif ($fs eq 'minix') {
- _create_initrd_minix($staging_dir, $boot_dir);
} elsif ($fs eq 'cpio') {
_create_initrd_cpio($staging_dir, $boot_dir);
} else {
@@ -907,63 +896,6 @@
return 1;
}
-sub _create_initrd_minix($$) {
-
- my $staging_dir = shift;
- my $boot_dir = shift;
-
- my $new_initrd = $boot_dir . "/initrd";
-
- my $new_initrd_mount_dir = _mk_tmp_dir();
-
- # cleanup routine.
- $SIG{__DIE__} = sub {
- my $msg = shift;
- run_cmd("umount $new_initrd_mount_dir", $verbose, 0) if
($is_mounted);
- unlink($new_initrd) if (-f $new_initrd);
- run_cmd("rm -fr $staging_dir $new_initrd_mount_dir", $verbose, 1);
- die $msg;
- };
-
- print ">>> New initrd mount point: $new_initrd_mount_dir\n"
if($verbose);
- eval { mkpath($new_initrd_mount_dir, 0, 0755) };
- if ($@) {
- die "Couldn't mkpath $new_initrd_mount_dir $@";
- }
-
- my $cmd;
-
- # loopback file
- chomp(my $size = `du -ks $staging_dir`);
- $size =~ s/\s+.*$//;
- my $breathing_room = 2000;
- $size = $size + $breathing_room;
- run_cmd("dd if=/dev/zero of=$new_initrd bs=1024 count=$size",
$verbose, 1);
-
- # fs creation
- chomp(my $inodes = `find $staging_dir -printf "%i\n" | sort -u | wc
-l`);
- $inodes = $inodes + 10;
- run_cmd("mkfs -t minix -i $inodes $new_initrd", $verbose, 1);
-
- # mount
- run_cmd("mount $new_initrd $new_initrd_mount_dir -o loop -t minix",
$verbose);
- $is_mounted = 1;
-
- # copy from staging dir to new initrd
- run_cmd("tar -C $staging_dir -cf - . | tar -C $new_initrd_mount_dir
-xf -", $verbose, 0);
-
- # umount and gzip up
- run_cmd("umount $new_initrd_mount_dir", $verbose);
- $is_mounted = 0;
- run_cmd("gzip -f -9 -S .img $new_initrd", $verbose);
- run_cmd("ls -l $new_initrd.img", $verbose, 1) if($verbose);
-
- # cleanup the temporary mount dir
- run_cmd("rm -fr $new_initrd_mount_dir", $verbose, 1);
-
- return 1;
-}
-
sub _create_initrd_ext2($$) {
my $staging_dir = shift;
-------------------------------------------------------------------------
This SF.net email is sponsored by DB2 Express
Download DB2 Express C - the FREE version of DB2 express and take
control of your XML. No limits. Just data. Click to get it now.
http://sourceforge.net/powerbar/db2/
_______________________________________________
sisuite-users mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/sisuite-users