aboutsummaryrefslogtreecommitdiffstats
path: root/mkinitfs.in
diff options
context:
space:
mode:
authorNatanael Copa <ncopa@alpinelinux.org>2014-03-18 15:23:52 +0000
committerNatanael Copa <ncopa@alpinelinux.org>2014-03-18 15:23:52 +0000
commit21156e629242009680e833cee282aabc9826aebd (patch)
tree5c7890b7eb7cacaec451cee409c7126f8fc2de87 /mkinitfs.in
parent7c1618460083a29cf1244b629f2928255b93e2a6 (diff)
downloadmkinitfs-21156e629242009680e833cee282aabc9826aebd.tar.bz2
mkinitfs-21156e629242009680e833cee282aabc9826aebd.tar.xz
mkinitfs: copy files with cpio
it should be faster
Diffstat (limited to 'mkinitfs.in')
-rwxr-xr-xmkinitfs.in18
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"
}