RetroPie forum home
    • Recent
    • Tags
    • Popular
    • Home
    • Docs
    • Register
    • Login
    Please do not post a support request without first reading and following the advice in https://retropie.org.uk/forum/topic/3/read-this-first

    Creating Shell Script for installing everything

    Scheduled Pinned Locked Moved Help and Support
    setup scriptconfigureshell script
    1 Posts 1 Posters 392 Views
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • M
      Michdo93
      last edited by Michdo93

      Hi,

      my current script contains following code

      #!/bin/bash
      
      sudo apt-get update -y && sudo apt-get upgrade -y
      
      sudo apt-get install -y git dialog unzip xmlstarlet
      sudo add-apt-repository universe
      
      cd ~/
      
      git clone --depth=1 https://github.com/RetroPie/RetroPie-Setup.git
      
      cd RetroPie-Setup
      
      scriptdir="$(dirname "$0")"
      scriptdir="$(cd "$scriptdir" && pwd)"
      
      "$scriptdir/retropie_packages.sh" setup basic_install
      "$scriptdir/retropie_packages.sh" setup update_packages
      
      ## basic_install install all core & main packages
      
      ## core
      # retroarch emulationstation retropiemenu runcommand
      
      ## main
      # muppen64plus lr-atari800 lr-beetle-ngp lr-beetle-pce-fast lr-beetle-supergrafx lr-caprice32 lr-fbneo lr-fceumm lr-fuse lr-gambatte lr-genesis-plus-gx lr-handy lr-mame2000 lr-mame2003 lr-mgba lr-nestopia lr-pcsx-rearmed lr-picodrive lr-prosystem lr-quickness lr-snes9x2005 lr-snes9x2010 lr-stella2014 lr-vba-next lr-vecx
      
      ## packages
      # optional packages
      declare -a opt=("advmame-0.94" "advmame-1.4" "advmame" "ags" "atari800" "basilisk" "dgen" "dosbox" "fbzx" "frotz" "fuse" "hatari" "jzintv" "linapple" "openmsx" "osmose" "ppsspp" "reicast" "scummvm" "simcoupe" "stella" "stratagus" "vice" "xroar" "zesarux" "lr-beetle-lynx" "lr-beetle-psx" "lr-beetle-vb" "lr-beetle-wswan" "lr-bluemsx" "lr-bsnes" "lr-fbalpha2012" "lr-fmsx" "lr-freeintv" "lr-gw" "lr-mame2010" "lr-mrboom" "lr-nxengine" "lr-o2em" "lr-parallel-n64" "lr-ppsspp" "lr-prboom" "lr-snes9x" "lr-tgbdual" "lr-tyrquake" "alephone" "cannonball" "darkplaces-quake" "dxx-rebirth" "eduke32" "kodi" "lincity-ng" "love-0.10.2" "love" "micropolis" "openpht" "openttd" "opentyrian" "sdlpop" "smw" "solarus" "supertux" "tyrquake" "uqm" "wolf4sdl" "xrick" "zdoom" "scraper" "usbromservice")
      
      # driver packages
      declare -a driver=("custombluez" "customhidsony" "ps3controller" "sixaxis" "snesdev" "steamcontroller" "xarcade2jstick" "xboxdrv" "xpad")
      
      # experimental packages
      declare -a exp=("dolphin" "dosbox-sdl2" "fs-uae" "minivmac" "oricutron" "pcsx2" "px68k" "quasi88" "residualvm" "sdltrs" "ti99sim" "xm7" "lr-4do" "lr-81" "lr-beetle-pcfx" "lr-beetle-saturn" "lr-desmume2015" "lr-desmume" "lr-dinothawr" "lr-dolphin" "lr-dosbox" "lr-flycast" "lr-freechaf" "lr-hatari" "lr-kronos" "lr-mame2003-plus" "lr-mame2015" "lr-mame2016" "lr-mame" "lr-mess2016" "lr-mess" "lr-muppen64plux-next" "lr-np2kai" "lr-pokemini" "lr-puae" "lr-px68k" "lr-quasi88" "lr-redream" "lr-scummvm" "lr-superflappybirds" "lr-vice" "lr-virtualjaguar" "lr-x1" "lr-yabause" "abuse" "bombermaaan" "cdogs-sdl" "cgenius" "digger" "gemrb" "ioquake3" "jumpnbump" "mysticmine" "openblok" "splitwolf" "srb2" "yquake2" "attractmode" "emulationstation-dev" "launchingimages" "mehstation" "mobilegamepad" "pegasus-fe" "retropie-manager" "skyscraper" "virtualgamepad")
      
      for o in "${opt[@]}"
      do
         sudo ./retropie_packages.sh $o depends
         sudo ./retropie_packages.sh $o sources
         sudo ./retropie_packages.sh $o build
         sudo ./retropie_packages.sh $o install
         sudo ./retropie_packages.sh $o configure
      done
      
      for d in "${driver[@]}"
      do
         sudo ./retropie_packages.sh $d depends
         sudo ./retropie_packages.sh $d sources
         sudo ./retropie_packages.sh $d build
         sudo ./retropie_packages.sh $d install
         sudo ./retropie_packages.sh $d configure
      done
      
      for e in "${exp[@]}"
      do
         sudo ./retropie_packages.sh $e depends
         sudo ./retropie_packages.sh $e sources
         sudo ./retropie_packages.sh $e build
         sudo ./retropie_packages.sh $e install
         sudo ./retropie_packages.sh $e configure
      done
      
      exit
      

      As example you can do following:

      sudo ./retropie_packages.sh advmame depends
      sudo ./retropie_packages.sh advmame sources
      sudo ./retropie_packages.sh advmame build
      sudo ./retropie_packages.sh advmame install
      sudo ./retropie_packages.sh advmame configure
      

      My solution is to loop through all packages. Not the best way, but I think you understand how it works.

      1 Reply Last reply Reply Quote 0
      • First post
        Last post

      Contributions to the project are always appreciated, so if you would like to support us with a donation you can do so here.

      Hosting provided by Mythic-Beasts. See the Hosting Information page for more information.