diff --git a/.github/workflows/linuxpackage.yml b/.github/workflows/linuxpackage.yml
index f41bc311ad2a62f6d46222fa38fc7688a7c2a5bc..c6ff23f770c3f04a0a66e9988d85ee70f4309484 100644
--- a/.github/workflows/linuxpackage.yml
+++ b/.github/workflows/linuxpackage.yml
@@ -31,7 +31,7 @@ jobs:
           gem install --no-document fpm
           fpm --version
 
-          make bor
+          make all
 
           cat > bor.service <<- "EOF"
           [Unit]
@@ -39,7 +39,8 @@ jobs:
           [Service]
           WorkingDirectory=/etc/bor/
           EnvironmentFile=/etc/bor/metadata
-          ExecStart=/bin/bash -c "/usr/bin/bor --datadir /etc/bor/dataDir --port '30303' --rpc --rpcaddr '0.0.0.0' --rpcvhosts '*' --rpccorsdomain '*' --rpcport '8545' --ipcpath /etc/bor/bor.ipc --rpcapi 'db,eth,net,web3,txpool,bor' --networkid ${NETWORK_ID} --miner.gaslimit '20000000' --txpool.nolocals --txpool.accountslots '128' --txpool.globalslots '20000' --txpool.lifetime '0h16m0s' --keystore /etc/bor/dataDir/keystore --unlock ${VALIDATOR_ADDRESS} --password /etc/bor/dataDir/password.txt --allow-insecure-unlock --maxpeers 150 --mine"
+          ExecStartPre=/bin/chmod +x /etc/bor/start.sh
+          ExecStart=/bin/bash /etc/bor/start.sh ${NETWORK_ID} ${VALIDATOR_ADDRESS} ${NODE_TYPE}
           Type=simple
           User=root
           EOF
@@ -47,18 +48,61 @@ jobs:
           cat > after_install.sh <<- "EOF"
           #!/bin/bash
           touch /etc/bor/metadata
+          touch /etc/bor/start.sh
           EOF
 
           cat > metadata <<- "EOF"
           NETWORK_ID=
           VALIDATOR_ADDRESS=
+          NODE_TYPE=sentry
+          EOF
+
+          cat > start.sh <<- "EOF"
+          #!/usr/bin/env sh
+
+          NETWORK_ID=$1
+          VALIDATOR_ADDRESS=$2
+          NODE_TYPE=$3
+
+          DATA_DIR=/etc/bor/dataDir
+
+          args="/usr/bin/bor --datadir $DATA_DIR --port '30303' --rpc --rpcaddr '0.0.0.0' --rpcvhosts '*' --rpccorsdomain '*' --rpcport '8545' --ipcpath /etc/bor/bor.ipc --rpcapi 'db,eth,net,web3,txpool,bor' --networkid $NETWORK_ID --miner.gaslimit '200000000' --miner.gastarget '20000000'  --txpool.nolocals --txpool.accountslots '128' --txpool.globalslots '20000' --txpool.lifetime '0h16m0s' "
+
+          if [[ $NODE_TYPE == 'validator' ]]; then
+              args+="--keystore $DATA_DIR/keystore \
+              --unlock $VALIDATOR_ADDRESS \
+              --password $DATA_DIR/password.txt \
+              --allow-insecure-unlock \
+              --nodiscover --maxpeers 1 \
+              --mine
+            "
+          fi
+
+          if [[ $NODE_TYPE == 'sentry' ]]; then
+              args+="--maxpeers 200
+            "
+          fi
+
+          if [[ $NODE_TYPE == 'validator-without-sentry' ]]; then
+              args+="--keystore $DATA_DIR/keystore \
+              --unlock $VALIDATOR_ADDRESS \
+              --password $DATA_DIR/password.txt \
+              --allow-insecure-unlock \
+              --maxpeers 200 \
+              --mine
+            "
+          fi
+
+          eval $args
           EOF
 
           fpm -s dir -t deb --deb-user root --deb-group root -n matic-bor -v ${{ env.RELEASE_VERSION }} \
             --after-install after_install.sh \
             bor.service=/etc/systemd/system/ \
             build/bin/bor=/usr/bin/ \
-            metadata=/etc/bor/
+            build/bin/bootnode=/usr/bin/ \
+            metadata=/etc/bor/ \
+            start.sh=/etc/bor/
 
           mkdir packages-v${{ env.RELEASE_VERSION }}