PSPi Triple Boot - How To - AssoMania
in this big ? topic I will try to explain you in details how I managed a triple boot on my PSPi Project including : Retropie + Kodi + Raspbian.
I will try to be as clear as I can, the thing is that I'm not english but french, so the written part would be a bit tricky at some point. I'll do my best.
This tuto is based on a windows machine, I assume that you guys running linux won't have any trouble to adapt this.
Go for the Raspberry Pi Zero W, we need the Wifi !
I use for my PSP a Keyboard + Mouse like this (see pic). Very handy as it uses only one USB port and I'm able to use both keyboard and mouse at the same time ;). Hopefully after this tutorial we can drop this keyboard and use only the PSP.
I combine several things coming from Othermod and modified quite a lot of things, added some scripts, and I still try to improve the build. I will update the post as soon as I got some new things coming and also coming from your comments.
I'm also going to put in place a FAQ/Issues "section" so that if you encounter some issues, just refer to that. It is situated just below this post.
PREPARE YOUR SD CARD :
Obviously something that everyone should know but anyway...
- I personnaly use SDFormatter in the first place to format the card.
- If you got a 32Go or more SD card you have to format with a other software to be able to get FAT32. guiformat do the job well. If you don't format with guiformat you will have a exFAT which is just not gonna work out.
- Download the Raspbian Jessie with Desktop image.
- Use Win32DiskImager to install the .img file on the SD card. This might take a while to install.
- You SD card is ready, now it is the time to add a few custom files, from Othermod and myself. We will need the config.txt file from othermod and the Off Script from Othermod. (The button script is not usefull to take as we gonna improve this button usage with a other tool, this is going to be for later). Also download the file https://mega.nz/#!sNpUnTyC!Xc6GJmbOKHSLWIZ3fy7efvjmG0IZMuCeTjh75kYyPp A" target="true">HERE which is a script I wrote myself to load all the software very quickly. I will go more in details a bit later in the tutorial. Put all those files in the Boot part of your SD card on windows. You can follow the tutorial from Othermod on the PSP Version 3 Tutorial, there are a few pictures. Just copy/paste all the file in the SD card basically.
- We are done with the SD card, we can now plug it in the PSP and start the configuration !
- SD Card in the PSP, and start the beast !
- Once in Raspbian on the desktop we have a few things to do and it's a little tricky as the screen is very small. Some windows wont show you all the options and particularly the OK or Cancel buttons at the bottom. Anyway let's start with the configuration. What I did first is to get this menu smaller to get a bit more space on the screen : Start > Preferences > Appearance Settings > Menu Bar. Change the way you like it, I recommand Top menu and Small size. If you move the window a bit you will be able to Ok the changes at the bottom ;).
- Next step, we need to connect to the Wifi. Just use the visual configuration by clicking top right (or where ever your menu is) and just connect to your Wifi by entering the key.
- Time to open the console and get updates, upgrades, dist-upgrade and rpi-update :
sudo apt-get update
sudo apt-get upgrade
sudo apt-get dist-upgrade
sudo apt-get autoremove
If you are prompt with something just accept the updates by pressing Y.
- Change the Pi password by just writting this in the console : passwd. You have to enter the previous password first which is raspberrypi after that enter twice the password of your choice.
- Reboot your PSP and go back on Start > Preferences > Raspberry Pi configuration. Change the keyboard preference depending of what you got. Change also the localisation (even tho' we gonna force that later you have to do that matching your language). You can change the time clock as well.
- Finally on the top right next to the wifi you have the sound icon, open that and put the max there ;).
- Open a new terminal and type : sudo raspi-config. Once the menu show up you go on the Boot option > Desktop /CLI > Console Autologin, ENTER and ESCAPE.
- We can now reboot the PSP one more time and go on with some installation.
SOFTWARE INSTALLATION :
- Emulationstation or Retropie is our first installation. It's a bit tricky because there are few changes to do so the installation would run without problem. I used this LINK to install everything but I will explain the process here as well. First we have to check if our locales are properly set up (which wont be the case normally ^^). By typing locale on the console you will have the list of your locales and everything should match your language (all the lines should be filled with something). For example I'm running a french Raspbian + Keyboard so my locales would be : fr_FR.UTF-8 everywhere. If you'r from the US it should look like this : en_US.UTF-8 etc... Make sure everything is set up on your language. If not then write this one after the other in the console.(Where the language code matches the one you need right ! To be modified depending where you come from) :
Type locale again in your console and then you should be good to go as everything is now set properly.
Next type this to install the library needed for Retropie :
sudo apt-get install git lsb-release
We go for the download after that :
cd git clone --depth=1 https://github.com/RetroPie/RetroPie-Setup.git
We then run the script to install Retropie :
cd RetroPie-Setup chmod +x retropie_setup.sh sudo ./retropie_setup.sh
Once the menu is open go for the Basic Install and follow the prompt.
Go for updates and upgrades on both Retropie Menu and once back in the console when you exit Retropie Setup. (Follow the same Command as in the point 4. in the CONFIGURATION OF RASPBIAN just above.
This can take a bit of time, especially the Retropie updates.
Go for a good reboot.
We are done with Retropie. I don't write how to put games there, I assume you know and if you don't well, I'm gonna add that later on.
- Gpioneer is our next install. This is not very complicated but you have to follow what I'm writting or you will have some troubles with the Buttons of your PSP, and this is not good. Just follow very carefully. I'm using this LINK for the installation. It is going to replace retrogame to assign key press for the Buttons of your PSP which is working way better than Retrogame and it's super easy to configure.
@Othermod : Drop Retrogame man, it's a mess ;).
Lets start with the install by typing this in the console one after the other :
cd git clone https://github.com/mholgatem/gpioneer.git bash gpioneer/install.sh
Very simple. The installation is quite long, and at the end you will be asked to configure Gpioneer, you just say yes by pressing Y. You will be asked to press twice the key in order for the software to save the commands. No worry if you miss something or whatever it is not a problem as we are going to configure manually a few things. Make sure the arrows are ok at least ^^. Also if you want to skip a button, press on the Down arrow twice.
How to configure.
This is a important part because it is critical that you assign the good shortcut to the Buttons or my loading script wont work.
So to do that, you have to go on any other computer which is on the same network as your PSP. Open a web browser and type the local IP adress of your PSP. For example my internet box assigned 192.168.1.35 to my PSP. This is what I'm going to type in the URL of my browser.
You can know which IP your PSP use by writting iwconfig in the console of the PSP.
Once on the page, EDIT and ADD the same way as this picture. Doesn't matter about the order, what matters is that the PIN correspond to the COMMAND. You edit the existing entry with the pen icon on the right and Add a new Entry on the top right :
AGAIN IT IS IMPORTANT THAT YOU HAVE THE SAME SETTINGS AS THE PICTURE !
Done with Gpioneer, the buttons are working 😉
- Time to put the scripts in place. First Mr Othermod script.
This script is made to switch of the PSP using the on/off pin. To enable it just type :
sudo bash /boot/setupoff.bash in the console.
You can reboot the PSP if you want.
To enable my loading script you have to edit a file. Just follow, it is very easy. Type this in the console :
sudo nano /etc/bash.bashrc
And at the complete bottom of the file type this :
CTRL + O and ENTER to save the file.
CTRL + X to exit.
We are done. Restart and look what happen 😉
If you configured Gpioneer the same way as the picture everything should work fine (except for Kodi because we didn't install it yet, but the rest is OK).
Talking about that, lets go for Kodi but before...
- Emulationstation, Buttons set up.
We are going to install Kodi via emulationstation. Before that and if you press on the SQUARE button from the PSP emualtionstation should launch and ask you to configure the buttons.
Just press on any PSP button until you are asked to configure. I configured it this way :
Just follow the arrows
Follow Start and Select
A for X
B for CIRCLE
X for TRIANGLE
Y for SQUARE
Follow left and right Trigger
Skip the rest (press long on X for example to skip).
We are done, you can now navigate the menu using the gamepad to move, with X to enter, CIRCLE to go back and left and right trigger to move quickly down or up in case of big list.
- Installation of Kodi via EmulationStation.
Let's install Kodi in emulationstation by going to :
Retropie > Retropie Setup > Manage Packages > Manage Optional Packages > (309) Kodi
Go for the install and wait until completion.
We are done with this. We can now reboot the device completly.
When you launch Kodi, try the PSP Buttons, it should work well.
I'm not going to explain how to add addons and stuff in Kodi. Google is your friend ;).
To end up let's get the updates running one more time. Very simple with the loading script, just press START button and there we go 😉
After reboot you can also update retropie one more time like that :
Exit back to shell by pressing X on the PSP. Then write this in the console :
Once in there just update everything and follow the prompt.
You can now test everything. If the loading script is working well, if all the buttons are working. You can edit the loading script by typing :
sudo nano /boot/loading.sh
in the console to match you preferences and also change the name on the top ;). Don't forget that if you assign new buttons you have to modify Gpioneer as well !
The FAQ and known issues are going to be in a other post underneath as well as the loading script that I'm goint to update in the future to improve it.
Feel free to leave a message down there to give your ideas or anything to improve. As well if you have a issue that is not listed in the FAQ/Issue please post it and I'll try to figure out something for you.
Thanks for reading, hope it helped you to improve your project ;).
My project :
LAST UPDATES (09/07/17)
- I would like to add a Virtual Keyboard, something similar to this :
Of course well adapted for the PSP. That would be just awesome as the keyboard wouldn't be necessary anymore and the PSP Buttons are going to do all the job. Gamepad to choose the key to press, X to select the key and CIRCLE to erase.
I'm still working on that and it's hard core stuff right now.
- No sound in Kodi, anywhere ?! :
It happen to me that I don't get sound in Kodi after the installation of Gpioneer, I get a answer from the guy who made Gpioneer to explain me. But before I get the answer the sound was working again... So in case it happen to you and after a few reboot you still don't have sound follow this (Thanks to mholgatem on Github for the help):
if it's in a psp console, then I would assume that you have the screen/speakers connected to the gpio. So most likely what is happening is that gpioneer is taking control of the gpio pins that are required for your audio. Luckily, I included a command line argument that you can use.
you need to do this:
sudo nano /lib/systemd/system/gpioneer.service
change line 7 from this:
ExecStart=/usr/bin/python -u GPioneer.py
ExecStart=/usr/bin/python -u GPioneer.py --pins "3,5,7,11,13,15,19,21,23,29,31,35,37,10,16,18,22,24,26,32,36,38,40"
(*note - The whole part above should all be one line)
save and exit, then reboot your system and you should be able to get audio now
- Once the loading screen is launched you can start Kodi with the gamepad or left and right Trigger.
Yep ! I don't know why... 😀
I think the script I wrote don't get the difference between all those buttons.
For now, I don't know how to solve it so I just don't use them.
LAST UPDATES (27/07/17)
Here is the Loading script I wrote for the loading of the PSP, if you need more details on how it works let me know. Both scripts has to go here : /home/pi/
echo -e " $(date)"
echo -e "$menu"
read -s -N 1 answer
case "$answer" in
echo "Kodi is starting"
echo "EmulationStation is Starting"
echo "Performing Updates and Upgrades..."
echo "Don't switch off the PSP..."
echo "Make sure you are online..."
echo "Back to Shell ! Plug in your keyboard."
sudo apt-get update -y
sudo apt-get upgrade -y
sudo apt-get dist-upgrade -y
sudo apt-get autoremove -y
echo "Updates successful, rebooting..."
Second script that is actually working with the one above. Very new and better functionnality that the previous one.
Press TRIANGLE ▲ - Start Kodi
Press CIRCLE \033[1mO\033[0m - Start EmulationStation
Press START - Perform Updates/Upgrades
Press SELECT - Start Pixel
Press \033[1mX\033[0m - Back to shell
\x1b[31m!!! KEYBOARD REQUIRED !!!\x1b[0m
\E[5mUSE ONLY THE SHORTCUT LISTED ABOVE TO AVOID TROUBLES\E[0m
Before I add the rest of the installation I will show you how it looks like 😉
So we have to install a couple of things let's start.
- You have to go on any other computer which is on the same network as your PSP. Open a web browser and type the local IP adress of your PSP. For example my internet box assigned 192.168.1.35 to my PSP. This is what I'm going to type in the URL of my browser.
You can know which IP your PSP use by writting iwconfig in the console of the PSP.
This is how you want to configure it :
- You will have to move the loading.sh script. And also add the other "script" I wrote which is the .txt. You have to put them here : home/pi/
Download the scripts from here. We have to move them because I realized that the boot sometimes can fail if it's in boot...
NEW INSTALL : MOVING THE MOUSE
- In the terminal type this :
sudo apt-get install xwit xdotool
This will allow us to move the mouse but it's not enough we have to edit a file which is here : home/pi/.config/openbox/
The easy part is that you can just replace it because you can download it HERE 🙂
VIRTUAL KEYBOARD :
- Type this in the terminal : sudo apt-get florence
- You can now go on the start button and start florence and edit it the way you want. I recommand to put it bottom left and to make it small 😉
BUTTON RESET IN RETROPIE
- As we changed Gpioneer settings we have to reconfigure the retropie buttons.
- Open retropie via the loading script, press start en reconfigure once again the buttons
CUSTOM SIZE OF TERMINAL ON DESKTOP
- Right click on the terminal via the start button > accessories > LXTerminal and place a shortcut on the desktop
- Open a Terminal and type this : sudo nano /home/pi/Desktop/lxterminal.desktop
- Almost at the complete bottom you will find this : Exec=lxterminal
- Add this next to it so it looks like this : Exec=lxterminal --geometry=57x10
- Save the file and DONE.
That's it guys !
Let me know if everything works 😉