11#! /usr/bin/env bash
22
3- # This script prepares the users filesystem
4-
53GRN=" \e[32m"
64CLR=" \e[0m"
75
86
97TOOLCHAIN=` node -p " require('nodeos-cross-toolchain')" `
10- BAREBONES=` node -p " require('nodeos-barebones')" `
11- INITRAMFS=` node -p " require('nodeos-initramfs')" `
128
139NODE_DIR=` node -p " require('nodeos-nodejs')" `
1410
@@ -18,11 +14,11 @@ source scripts/utils.sh || exit $?
1814PATH=$TOOLCHAIN /bin:$PATH
1915
2016
21- # Clean object dir and return the input error
22- function err(){
23- rmStep $STEP_DIR
24- exit $1
25- }
17+ # Build cross-compiler (if needed)
18+ (
19+ cd $TOOLCHAIN
20+ BITS= $BITS CPU= $CPU MACHINE= $MACHINE npm run build || exit $?
21+ ) || exit $?
2622
2723
2824#
@@ -31,7 +27,7 @@ function err(){
3127
3228OBJ_ROOT=$OBJECTS /root
3329OBJ_NODEOS=$OBJECTS /nodeos
34- OUT_DIR=` pwd` /out/$CPU
30+ OUT_DIR=` pwd` /out/$CPU .tar.gz
3531
3632
3733#
@@ -44,32 +40,32 @@ if [[ ! -d $STEP_DIR ]]; then
4440 echo -e " ${WHT} Generating root user folder${CLR} "
4541
4642 # Force re-creation of usersfs
47- rm -rf $OUT_DIR || exit 14
43+ rm -rf $OUT_DIR || exit 10
4844
4945 (
50- mkdir -p $STEP_DIR || exit 10
46+ mkdir -p $STEP_DIR || exit 11
5147
5248 #
5349 # Install system dependencies
5450 #
5551
5652 PACKAGES=` node -p " require('./package.json').nodeosDependenciesRoot.join(' ')" `
57- eval " $NPMi " -g $PACKAGES || exit 11
53+ eval " $NPMi " -g $PACKAGES || exit 12
5854
5955
6056 #
6157 # Services to be started at boot
6258 #
6359
64- mkdir -p $STEP_DIR /etc &&
65- cp palmtree.json $STEP_DIR /etc/ || exit 12
60+ mkdir -p $STEP_DIR /etc &&
61+ cp resources/ palmtree.json $STEP_DIR /etc/ || exit 13
6662
6763
6864 #
6965 # Init file for the user
7066 #
7167
72- ln -sf bin/palmtree $STEP_DIR /init || exit 13
68+ ln -sf bin/palmtree $STEP_DIR /init || exit 14
7369 ) || err $?
7470
7571 echo -e " ${GRN} Successfully generated root user folder${CLR} "
@@ -86,32 +82,32 @@ if [[ ! -d $STEP_DIR ]]; then
8682 echo -e " ${WHT} Generating nodeos user folder${CLR} "
8783
8884 # Force re-creation of usersfs
89- rm -rf $OUT_DIR || exit 25
85+ rm -rf $OUT_DIR || exit 20
9086
9187 (
92- mkdir -p $STEP_DIR || exit 20
88+ mkdir -p $STEP_DIR || exit 21
9389
9490 #
9591 # Install user dependencies
9692 #
9793
9894 PACKAGES=` node -p " require('./package.json').nodeosDependenciesNodeos.join(' ')" `
99- eval " $NPMi " -g $PACKAGES || exit 21
95+ eval " $NPMi " -g $PACKAGES || exit 22
10096
10197
10298 #
10399 # Copy nodeos user login info
104100 #
105101
106- mkdir -p $STEP_DIR /etc &&
107- cp logon.json $STEP_DIR /etc/ || exit 22
102+ mkdir -p $STEP_DIR /etc &&
103+ cp resources/ logon.json $STEP_DIR /etc/ || exit 23
108104
109105
110106 #
111107 # Dummy init file for the user
112108 #
113109
114- cp init.js $STEP_DIR /init || exit 23
110+ cp resources/ init.js $STEP_DIR /init || exit 24
115111
116112
117113 #
@@ -126,7 +122,7 @@ if [[ ! -d $STEP_DIR ]]; then
126122 (
127123 cd $SRC_DIR
128124
129- eval " $NPMi " || exit 24
125+ eval " $NPMi " || exit 25
130126 ) || exit $?
131127
132128
@@ -142,7 +138,7 @@ if [[ ! -d $STEP_DIR ]]; then
142138 # (
143139 # cd $SRC_DIR
144140 #
145- # eval "$NPMi" --has_cairo=false --has_X11=false || exit 25
141+ # eval "$NPMi" --has_cairo=false --has_X11=false || exit 26
146142 # ) || exit $?
147143 ) || err $?
148144
@@ -159,50 +155,9 @@ STEP_DIR=$OUT_DIR
159155if [[ ! -f $STEP_DIR ]]; then
160156 mkdir -p ` dirname $STEP_DIR `
161157
162- case $PLATFORM in
163- docker|vagga)
164- cp $BAREBONES /out/latest $STEP_DIR /barebones.tar || err 30
165- cp $INITRAMFS /out/latest $STEP_DIR /initramfs.tar || err 31
166-
167- chmod -R go= " $OBJECTS " || err 32
168-
169- ln -sf ../build/$CPU out/latest || err 33
170- ;;
171-
172- pc_* | raspberry_* )
173- DISK_SIZE=192 # Size in MB
174-
175- (
176- cd $OBJECTS
177- ../../scripts/gendevicetable.js nodeos 1 1 || exit 40
178- ) > $STEP_DIR || err $?
179-
180- genext2fs -b $(( DISK_SIZE* 1024 )) \
181- --root $OBJECTS \
182- --devtable $STEP_DIR \
183- --block-size 1024 \
184- --bytes-per-inode 4096 \
185- --reserved-percentage 0 \
186- --creator-os linux \
187- --allow-holes \
188- --squash $STEP_DIR || err 41
189-
190- # Set filesystem features and users files permissions
191- tune2fs $STEP_DIR -O has_journal,filetype > /dev/null || err 42
192- e2fsck -y $STEP_DIR > /dev/null
193- if [ $? -gt 2 ]; then
194- err 43
195- fi
196-
197- # Mark the newly created filesystem image as the latest one
198- ln -sf $CPU out/latest || err 44
199- ;;
200-
201- * )
202- echo -e " ${RED} Unknown platform '$PLATFORM '${CLR} "
203- err 50
204- ;;
205- esac
158+ scripts/pack.js " $OBJECTS " nodeos 1 1 | gzip > $STEP_DIR || err 30
159+
160+ ln -sf $CPU .tar.gz out/latest || err 32
206161fi
207162
208163
0 commit comments