Skip to content
GitLab
Projects
Groups
Snippets
Help
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
alpine-conf
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
18
Issues
18
List
Boards
Labels
Service Desk
Milestones
Merge Requests
3
Merge Requests
3
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Operations
Operations
Incidents
Environments
Analytics
Analytics
CI / CD
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
alpine
alpine-conf
Commits
8c64e9de
Commit
8c64e9de
authored
Oct 24, 2014
by
Kaarle Ritvanen
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
update-kernel: do not require superuser rights
parent
89306b4e
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
31 additions
and
6 deletions
+31
-6
update-kernel.in
update-kernel.in
+31
-6
No files found.
update-kernel.in
View file @
8c64e9de
...
...
@@ -12,6 +12,9 @@
SCRIPT
=
update-kernel
VIRTUAL
=
.tmp-
$SCRIPT
SUPERUSER
=
[
$(
id
-u
)
-eq
0
]
&&
SUPERUSER
=
Y
BUILDDIR
=
FLAVOR
=
MNTDIR
=
...
...
@@ -80,6 +83,9 @@ if [ -z "$DESTDIR" ]; then
[
"
$FLAVOR
"
]
&&
\
usage 1
"Cannot specify flavor when updating the current kernel"
[
"
$SUPERUSER
"
]
||
\
usage 1
"Specify destination directory or run as superuser"
while
read
MOUNT
;
do
set
--
$MOUNT
[
$2
=
/.modloop
]
||
continue
...
...
@@ -107,14 +113,16 @@ clean_up() {
set
+e
ignore_sigs
apk del
-q
$VIRTUAL
[
"
$SUPERUSER
"
]
&&
apk del
-q
$VIRTUAL
rm
-fr
$TMPDIR
}
trap
clean_up EXIT
$SIGNALS
apk add
-qU
-t
$VIRTUAL
mkinitfs squashfs-tools
if
[
"
$SUPERUSER
"
]
;
then
apk add
-qU
-t
$VIRTUAL
mkinitfs squashfs-tools
fi
if
[
-z
"
$features
"
]
;
then
.
/etc/mkinitfs/mkinitfs.conf
...
...
@@ -128,11 +136,28 @@ fi
TMPDIR
=
$(
mktemp
-d
/tmp/
$SCRIPT
.XXXXXX
)
ROOT
=
$TMPDIR
/root
BOOT
=
$ROOT
/boot
WRAPPER
=
eval
_exec
()
{
$WRAPPER
"
$1
"
}
_apk
()
{
local
cmd
=
$1
shift
apk
$cmd
-p
$ROOT
--keys-dir
/etc/apk/keys
\
local
wrapper
=
if
[
-z
"
$SUPERUSER
"
]
;
then
local
opt
=
local
fake_env
=
$TMPDIR
/fake-env
if
[
-f
$fake_env
]
;
then
opt
=
"-i
$fake_env
"
WRAPPER
=
"fakeroot
$opt
--"
fi
wrapper
=
"fakeroot
$opt
-s
$fake_env
--"
fi
$wrapper
apk
$cmd
-p
$ROOT
--keys-dir
/etc/apk/keys
\
--repositories-file
/etc/apk/repositories
$*
}
...
...
@@ -174,10 +199,10 @@ MODIMG=$FLAVOR.modloop.squashfs
mkdir
$MODLOOP
$STAGING
cp
-a
$ROOT
/lib/modules
$MODLOOP
cp
-a
$ROOT
/lib/firmware
$MODLOOP
/modules
mksquashfs
$MODLOOP
$STAGING
/
$MODIMG
-comp
xz
_exec
"mksquashfs
$MODLOOP
$STAGING
/
$MODIMG
-comp xz"
mkinitfs
-q
-b
$ROOT
-F
"
$features
base squashfs"
-o
"
$STAGING
/
$FLAVOR
.gz"
\
"
$KVER
"
_exec
"mkinitfs -q -b
$ROOT
-F '
$features
base squashfs'
\
-o '
$STAGING
/
$FLAVOR
.gz' '
$KVER
'
"
cp
"
$BOOT
/vmlinuz
$KVER_FLAVOR
"
"
$STAGING
/
$FLAVOR
"
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment