@@ -88,51 +88,36 @@ if [[ ! -d $STEP_DIR ]]; then
88
88
#
89
89
90
90
# Empty, single user system with `$HOME` in another partition
91
+ # TODO `OverlayFS` require workdir and upperdir must be separate subtrees, so
92
+ # maybe it's a non-sense and should use a `multiUser` partition with a single
93
+ # folder instead... what's ugly for pendrives :-(
91
94
if [[ -z " $SINGLE_USER " ]]; then
92
- INIT=nodeos-boot-singleUserMount
93
-
94
- # Multiple users system
95
- elif [[ " $SINGLE_USER " == " nodeos-boot-multiUser" ]]; then
96
- INIT=nodeos-boot-multiUser
97
-
98
- # Package defined, single process OS without persistence
99
- else
100
- (
101
- STEP_DIR=$STEP_DIR /tmp
102
-
103
- mkdir -p $STEP_DIR || exit 23
104
-
105
- eval " $NPMi " -g $SINGLE_USER || exit 24
106
-
107
- # Set `/init` to package binary or `server.js` file
108
- MODULE=lib/node_modules/$SINGLE_USER
109
- PACKAGE_JSON=$STEP_DIR /$MODULE /package.json
110
- SERVER=$MODULE /server.js
111
-
112
- (
113
- BIN=bin/` pkg-bin $PACKAGE_JSON ` && \
114
- ls $STEP_DIR /$BIN && \
115
- ln -fs $BIN $STEP_DIR /init
116
- ) \
117
- || \
118
- (
119
- ls $STEP_DIR /$SERVER && \
120
- ln -fs $SERVER $STEP_DIR /init
121
- ) \
122
- || exit 25
123
- ) || err $?
124
-
125
- INIT=nodeos-boot-singleUser
95
+ SINGLE_USER=nodeos-boot-singleUserMount
126
96
fi
127
97
128
- eval " $NPMi " -g $INIT --has_libblkid=false \
129
- --fuse__include_dirs=$SRC_FUSE /include/fuse \
130
- --fuse__library_dirs=$SRC_FUSE /lib \
131
- --fuse__libraries=-lfuse || err 26
98
+ eval " $NPMi " -g $SINGLE_USER --has_libblkid=false \
99
+ --fuse__include_dirs=$SRC_FUSE /include/fuse \
100
+ --fuse__library_dirs=$SRC_FUSE /lib \
101
+ --fuse__libraries=-lfuse || err 23
132
102
133
- mkdir -p $STEP_DIR /sbin &&
134
- ln -fs ../bin/$INIT $STEP_DIR /sbin/init || err 27
103
+ mkdir -p $STEP_DIR /sbin || err 24
135
104
105
+ # Set `/sbin/init` to package binary or `server.js` file
106
+ MODULE=lib/node_modules/$SINGLE_USER
107
+ PACKAGE_JSON=$STEP_DIR /$MODULE /package.json
108
+ SERVER=$MODULE /server.js
109
+
110
+ (
111
+ BIN=bin/` pkg-bin $PACKAGE_JSON ` && \
112
+ ls $STEP_DIR /$BIN && \
113
+ ln -fs ../$BIN $STEP_DIR /sbin/init
114
+ ) \
115
+ || \
116
+ (
117
+ ls $STEP_DIR /$SERVER && \
118
+ ln -fs ../$SERVER $STEP_DIR /sbin/init
119
+ ) \
120
+ || exit 25
136
121
137
122
echo -e " ${GRN} Successfully generated initramfs${CLR} "
138
123
fi
@@ -155,6 +140,8 @@ if [[ ! -f $STEP_DIR ]]; then
155
140
mkdir -p ` dirname $STEP_DIR `
156
141
157
142
(
143
+ # TODO with `nodeos-boot-singleUser`, set user files user:group to `1:1`.
144
+ # This would require to set the global ones to `0:0` before installing them
158
145
cd " $OBJ_DIR " &&
159
146
find | cpio --owner 0:0 -o -H newc | gzip || exit 40
160
147
) > $STEP_DIR || err $?
0 commit comments