diff options
author | Natanael Copa <ncopa@alpinelinux.org> | 2014-03-18 15:23:52 +0000 |
---|---|---|
committer | Natanael Copa <ncopa@alpinelinux.org> | 2014-03-18 15:23:52 +0000 |
commit | 21156e629242009680e833cee282aabc9826aebd (patch) | |
tree | 5c7890b7eb7cacaec451cee409c7126f8fc2de87 /mkinitfs.in | |
parent | 7c1618460083a29cf1244b629f2928255b93e2a6 (diff) | |
download | mkinitfs-21156e629242009680e833cee282aabc9826aebd.tar.bz2 mkinitfs-21156e629242009680e833cee282aabc9826aebd.tar.xz |
mkinitfs: copy files with cpio
it should be faster
Diffstat (limited to 'mkinitfs.in')
-rwxr-xr-x | mkinitfs.in | 18 |
1 files changed, 5 insertions, 13 deletions
diff --git a/mkinitfs.in b/mkinitfs.in index c5aea84..5383a98 100755 --- a/mkinitfs.in +++ b/mkinitfs.in @@ -12,15 +12,6 @@ group="$datadir"/group startdir=$PWD -_cp() { - local i - for i in "$@"; do - local dest="$tmpdir"/${i%/*} - mkdir -p "$dest" - cp -flLpR "$basedir"/"$i" "$dest" 2>/dev/null || cp -pR "$basedir"/"$i" "$dest" - done -} - feature_files() { local suffix="$1" local dir="$features_dir" @@ -51,8 +42,8 @@ initfs_base() { cd "${basedir:-/}" for file in $(feature_files files); do - _cp $file - done + echo $file + done | cpio -pdm "$tmpdir" # copy init cd $startdir @@ -116,9 +107,10 @@ initfs_kmods() { depmod -b "${basedir:-/}" $kernel fi files=$(find_kmods) + cd ${basedir:-/} for file in $files; do - _cp $file - done + echo $file + done | cpio -pdm "$tmpdir" depmod $kernel -b "$tmpdir" } |