Hi Andrea,

go delete it again, I don't oppose since my problems with cpio (initramfs)
were solved.

I wonder why we don't actually use cpio as default and instead go through the
mess of creating the old fashioned initrd. Now that I learned how this works,
I love it ;-)

Regards,
Erich

On Friday 27 April 2007 13:49, Andrea Righi wrote:
> 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

Reply via email to