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')" `
12-
13- NODE_DIR=` node -p " require('nodeos-nodejs')" `
148
159source $TOOLCHAIN /scripts/adjustEnvVars.sh &&
1610source scripts/utils.sh || exit $?
1711
1812PATH=$TOOLCHAIN /bin:$PATH
1913
2014
21- # Clean object dir and return the input error
22- function err(){
23- rmStep $STEP_DIR
24- exit $1
25- }
15+ # Build cross-compiler (if needed)
16+ (
17+ cd $TOOLCHAIN
18+ BITS= $BITS CPU= $CPU MACHINE= $MACHINE npm install --production || exit $?
19+ ) || exit $?
2620
2721
2822#
@@ -31,7 +25,7 @@ function err(){
3125
3226OBJ_ROOT=$OBJECTS /root
3327OBJ_NODEOS=$OBJECTS /nodeos
34- OUT_DIR=` pwd` /out/$CPU
28+ OUT_DIR=` pwd` /out/$CPU .tar.gz
3529
3630
3731#
@@ -44,32 +38,32 @@ if [[ ! -d $STEP_DIR ]]; then
4438 echo -e " ${WHT} Generating root user folder${CLR} "
4539
4640 # Force re-creation of usersfs
47- rm -rf $OUT_DIR || exit 14
41+ rm -rf $OUT_DIR || exit 10
4842
4943 (
50- mkdir -p $STEP_DIR || exit 10
44+ mkdir -p $STEP_DIR || exit 11
5145
5246 #
5347 # Install system dependencies
5448 #
5549
5650 PACKAGES=` node -p " require('./package.json').nodeosDependenciesRoot.join(' ')" `
57- eval " $NPMi " -g $PACKAGES || exit 11
51+ eval " $NPMi " -g $PACKAGES || exit 12
5852
5953
6054 #
6155 # Services to be started at boot
6256 #
6357
64- mkdir -p $STEP_DIR /etc &&
65- cp palmtree.json $STEP_DIR /etc/ || exit 12
58+ mkdir -p $STEP_DIR /etc &&
59+ cp resources/ palmtree.json $STEP_DIR /etc/ || exit 13
6660
6761
6862 #
6963 # Init file for the user
7064 #
7165
72- ln -sf bin/palmtree $STEP_DIR /init || exit 13
66+ ln -sf bin/palmtree $STEP_DIR /init || exit 14
7367 ) || err $?
7468
7569 echo -e " ${GRN} Successfully generated root user folder${CLR} "
@@ -86,32 +80,32 @@ if [[ ! -d $STEP_DIR ]]; then
8680 echo -e " ${WHT} Generating nodeos user folder${CLR} "
8781
8882 # Force re-creation of usersfs
89- rm -rf $OUT_DIR || exit 25
83+ rm -rf $OUT_DIR || exit 20
9084
9185 (
92- mkdir -p $STEP_DIR || exit 20
86+ mkdir -p $STEP_DIR || exit 21
9387
9488 #
9589 # Install user dependencies
9690 #
9791
9892 PACKAGES=` node -p " require('./package.json').nodeosDependenciesNodeos.join(' ')" `
99- eval " $NPMi " -g $PACKAGES || exit 21
93+ eval " $NPMi " -g $PACKAGES || exit 22
10094
10195
10296 #
10397 # Copy nodeos user login info
10498 #
10599
106- mkdir -p $STEP_DIR /etc &&
107- cp logon.json $STEP_DIR /etc/ || exit 22
100+ mkdir -p $STEP_DIR /etc &&
101+ cp resources/ logon.json $STEP_DIR /etc/ || exit 23
108102
109103
110104 #
111105 # Dummy init file for the user
112106 #
113107
114- cp init.js $STEP_DIR /init || exit 23
108+ cp resources/ init.js $STEP_DIR /init || exit 24
115109
116110
117111 #
@@ -126,7 +120,7 @@ if [[ ! -d $STEP_DIR ]]; then
126120 (
127121 cd $SRC_DIR
128122
129- eval " $NPMi " || exit 24
123+ eval " $NPMi " || exit 25
130124 ) || exit $?
131125
132126
@@ -142,7 +136,7 @@ if [[ ! -d $STEP_DIR ]]; then
142136 # (
143137 # cd $SRC_DIR
144138 #
145- # eval "$NPMi" --has_cairo=false --has_X11=false || exit 25
139+ # eval "$NPMi" --has_cairo=false --has_X11=false || exit 26
146140 # ) || exit $?
147141 ) || err $?
148142
@@ -159,50 +153,9 @@ STEP_DIR=$OUT_DIR
159153if [[ ! -f $STEP_DIR ]]; then
160154 mkdir -p ` dirname $STEP_DIR `
161155
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
156+ scripts/pack.js " $OBJECTS " nodeos 1 1 | gzip > $STEP_DIR || err 30
157+
158+ ln -sf $CPU .tar.gz out/latest || err 32
206159fi
207160
208161
0 commit comments