Compare commits
3 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
0b5d9e44bd | ||
|
|
35668887a4 | ||
|
|
dcf90f69d6 |
1
CONFIG/usr/share/mkinitramfs/bins/default
Symbolic link
1
CONFIG/usr/share/mkinitramfs/bins/default
Symbolic link
@@ -0,0 +1 @@
|
|||||||
|
../default-bins
|
||||||
1
CONFIG/usr/share/mkinitramfs/mods/default
Symbolic link
1
CONFIG/usr/share/mkinitramfs/mods/default
Symbolic link
@@ -0,0 +1 @@
|
|||||||
|
../default-mods
|
||||||
9
Makefile
9
Makefile
@@ -8,9 +8,11 @@
|
|||||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
# GNU General Public License for more details.
|
# GNU General Public License for more details.
|
||||||
|
|
||||||
DEPENDS = coreutils,cpio,eudev,gzip,perl,psmisc,sed,util-linux
|
DEPENDS = coreutils,cpio,dash,eudev,findutils,gzip,perl,psmisc,sed,util-linux
|
||||||
ARCH = x86_64
|
ARCH = x86_64
|
||||||
URL =
|
URL = http://snaplinux.org
|
||||||
|
REPO = core
|
||||||
|
BRIEF = Scripts to build initrd image
|
||||||
DESC = This package includes scripts to build an initrd image
|
DESC = This package includes scripts to build an initrd image
|
||||||
SNAPVER = 0
|
SNAPVER = 0
|
||||||
|
|
||||||
@@ -35,5 +37,6 @@ clean:
|
|||||||
@rm -rvf $(ROOT) \
|
@rm -rvf $(ROOT) \
|
||||||
$(SNAPINFO) \
|
$(SNAPINFO) \
|
||||||
$(MANIFEST) \
|
$(MANIFEST) \
|
||||||
$(FILES)
|
$(FILES) \
|
||||||
|
$(CONFIG)
|
||||||
|
|
||||||
|
|||||||
26
SNAP/usher
26
SNAP/usher
@@ -1,26 +0,0 @@
|
|||||||
#!/bin/bash
|
|
||||||
|
|
||||||
set -e
|
|
||||||
|
|
||||||
case $1 in
|
|
||||||
preinst)
|
|
||||||
exit 0
|
|
||||||
;;
|
|
||||||
postinst)
|
|
||||||
if [ ! -f ${TARGET}/usr/share/mkinitramfs/bins/default ]; then
|
|
||||||
cp ${TARGET}/usr/share/mkinitramfs/default-bins \
|
|
||||||
${TARGET}/usr/share/mkinitramfs/bins/default
|
|
||||||
fi
|
|
||||||
|
|
||||||
if [ ! -f ${TARGET}/usr/share/mkinitramfs/mods/default ]; then
|
|
||||||
cp ${TARGET}/usr/share/mkinitramfs/default-mods \
|
|
||||||
${TARGET}/usr/share/mkinitramfs/mods/default
|
|
||||||
fi
|
|
||||||
;;
|
|
||||||
prerm)
|
|
||||||
exit 0
|
|
||||||
;;
|
|
||||||
postrm)
|
|
||||||
exit 0
|
|
||||||
;;
|
|
||||||
esac
|
|
||||||
@@ -77,7 +77,11 @@ udevadm settle
|
|||||||
|
|
||||||
[ -f /etc/mdadm.conf ] && mdadm -As
|
[ -f /etc/mdadm.conf ] && mdadm -As
|
||||||
[ -x /sbin/vgchange ] && /sbin/vgchange --sysinit -a y
|
[ -x /sbin/vgchange ] && /sbin/vgchange --sysinit -a y
|
||||||
[ -n "$zfs" ] && zpool import rpool -N || error "Failed importing rpool"
|
|
||||||
|
if [ -n "$zfs" ]; then
|
||||||
|
zpool import rpool -N || error "Failed importing rpool"
|
||||||
|
fi
|
||||||
|
|
||||||
[ -n "$rootdelay" ] && sleep "$rootdelay"
|
[ -n "$rootdelay" ] && sleep "$rootdelay"
|
||||||
[ -n "$rootflags" ] && rootflags="$rootflags,$rorw" || rootflags="$rorw"
|
[ -n "$rootflags" ] && rootflags="$rootflags,$rorw" || rootflags="$rorw"
|
||||||
|
|
||||||
|
|||||||
@@ -6,7 +6,7 @@ use warnings;
|
|||||||
use POSIX qw( uname );
|
use POSIX qw( uname );
|
||||||
use Data::Dumper;
|
use Data::Dumper;
|
||||||
|
|
||||||
use constant VERSION => '0.4';
|
use constant VERSION => '0.8';
|
||||||
|
|
||||||
sub build {
|
sub build {
|
||||||
my $kernel = shift;
|
my $kernel = shift;
|
||||||
@@ -22,6 +22,12 @@ sub build {
|
|||||||
mkdir( "$tmpdir/$_", 0755 ) || die( "mkdir(): $tmpdir/$_: $!" );
|
mkdir( "$tmpdir/$_", 0755 ) || die( "mkdir(): $tmpdir/$_: $!" );
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if ( -f '/etc/hostid' ) {
|
||||||
|
if ( system( "cp -p /etc/hostid $tmpdir/etc" ) ) {
|
||||||
|
die( "Failed copying hostid" );
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
symlink( 'lib', "$tmpdir/lib64" ) ||
|
symlink( 'lib', "$tmpdir/lib64" ) ||
|
||||||
die( "symlynk(): $tmpdir/lib64: $!" );
|
die( "symlynk(): $tmpdir/lib64: $!" );
|
||||||
symlink( '/proc/mounts', "$tmpdir/etc/mtab" ) ||
|
symlink( '/proc/mounts', "$tmpdir/etc/mtab" ) ||
|
||||||
@@ -64,18 +70,17 @@ sub build {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if ( system( "cp -rp /lib/firmware $tmpdir/lib/firmware" ) ) {
|
if ( system( "cp -a /lib/firmware $tmpdir/lib/firmware" ) ) {
|
||||||
die( "Failed copying firmware\n" );
|
die( "Failed copying firmware\n" );
|
||||||
}
|
}
|
||||||
|
|
||||||
if ( system( "cp -p /etc/modprobe.d/* $tmpdir/etc/modprobe.d" ) ) {
|
if ( system( "cp -a /etc/modprobe.d $tmpdir/etc/modprobe.d" ) ) {
|
||||||
die( "Failed copying data from modprobe.d\n" );
|
die( "Failed copying data from modprobe.d\n" );
|
||||||
}
|
}
|
||||||
if ( system( "cp -rp /etc/udev/{rules.d,udev.conf}"
|
if ( system( "cp -a /etc/udev $tmpdir/etc/udev" ) ) {
|
||||||
. " $tmpdir/etc/udev" ) ) {
|
|
||||||
die( "Failed copying udev data\n" );
|
die( "Failed copying udev data\n" );
|
||||||
}
|
}
|
||||||
if ( system( "cp -rp /lib/udev $tmpdir/lib/udev" ) ) {
|
if ( system( "cp -a /lib/udev $tmpdir/lib/udev" ) ) {
|
||||||
die( "Failed copying udev lib data\n" );
|
die( "Failed copying udev lib data\n" );
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -87,8 +92,8 @@ sub build {
|
|||||||
}
|
}
|
||||||
|
|
||||||
if ( system( "cp /lib/modules/$kernel->{'version'}/"
|
if ( system( "cp /lib/modules/$kernel->{'version'}/"
|
||||||
. "modules.{builtin,order} $tmpdir/lib/modules/"
|
. "modules.builtin /lib/modules/$kernel->{'version'}/modules.order"
|
||||||
. "$kernel->{'version'}" ) ) {
|
. " $tmpdir/lib/modules/$kernel->{'version'}" ) ) {
|
||||||
die( "Failed copying module data\n" );
|
die( "Failed copying module data\n" );
|
||||||
}
|
}
|
||||||
if ( system( "depmod -b $tmpdir $kernel->{'version'}" ) ) {
|
if ( system( "depmod -b $tmpdir $kernel->{'version'}" ) ) {
|
||||||
@@ -219,11 +224,12 @@ for ( my $i = 0; $i <= $#ARGV; $i++ ) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
my $kernver = $ARGV[0] || ( uname() )[2];
|
my $arg = $ARGV[0] || ( uname() )[2];
|
||||||
my $kernels = getkern();
|
my $kernels = getkern();
|
||||||
my $bins = readlines( 'bins' );
|
my $bins = readlines( 'bins' );
|
||||||
my $mods = readlines( 'mods' );
|
my $mods = readlines( 'mods' );
|
||||||
my $libs = [];
|
my $libs = [];
|
||||||
|
my $builds = [];
|
||||||
|
|
||||||
foreach my $bin ( @$bins ) {
|
foreach my $bin ( @$bins ) {
|
||||||
my $ldd = ldd( $bin );
|
my $ldd = ldd( $bin );
|
||||||
@@ -235,12 +241,22 @@ foreach my $bin ( @$bins ) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if ( ! $kernels->{$kernver} ) {
|
if ( $arg eq 'all' ) {
|
||||||
print STDERR "Unable to locate kernel version $kernver\n";
|
foreach my $kernver ( keys( %$kernels ) ) {
|
||||||
|
push( @$builds, $kernels->{$kernver} );
|
||||||
|
}
|
||||||
|
}
|
||||||
|
elsif ( ! $kernels->{$arg} ) {
|
||||||
|
print STDERR "Unable to locate kernel version $arg\n";
|
||||||
|
|
||||||
exit 1;
|
exit 1;
|
||||||
}
|
}
|
||||||
|
else {
|
||||||
|
push( @$builds, $kernels->{$arg} );
|
||||||
|
}
|
||||||
|
|
||||||
print "Generating $kernels->{$kernver}{'initrd'}\n";
|
foreach my $kernel ( @$builds ) {
|
||||||
build( $kernels->{$kernver}, $bins, $mods, $libs );
|
print "Generating $kernel->{'initrd'}\n";
|
||||||
print "Done\n";
|
build( $kernel, $bins, $mods, $libs );
|
||||||
|
print "Done\n";
|
||||||
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user