Raspberry PI auto-boot

Ever want your Raspberry pi project to have a script that interfaces with I2C to start automatically after a power cycle? Would you like the vnc session to start at power up as well?

Raspberry PI auto-boot

This instructable will show how to make a perl script that interfaces with the I2C ports to autostart along with an VNC server so you can log in after every power cycle or use the PERL script without any manual commands. There are several ways to do this, the goal for this method was to do so without opening up the permissions on the I2C ports for everyone. This will help prevent accidental writes to the ports by scripts from other owners.

Step 1: Check your version of the operating system for compatiblity

Check your operating system version, this example is for the Debian, Weezy version. If you have this version you can verify by typing cat /etc/os-release as shown in the photo above. This may work for other versions as well, but hasn't been tested.

Make sure your device is configured to start with a desktop for the user, the default user is “pi”. That is the assumption for the instruction.

Step 2: Check the permissions on the IO ports

Check the permissions on the I2C ports. The ports need to be set up as shown in the photo above. To check the permissions cd to /dev. Type ls -l | grep I2C. The permissions need to be set as shown in the photo. Change the permissions with chmod if they are not correct. There is a lot of literature on the net for chmod if you have not used this command before. We keep the restrictions as tight as possible as the part or you system can possibly be damage by incorrect I2C.

Step 3: Set up the VNC server

Install your vnc server, follow one the many instructions on the web. This will place a .vnc folder in your home directory. Modify your xstartup file in the .vnc folder to make the session look the way you want. Also start the vnc session a first time while you are logged in, as the first time it will ask you to set the password. To do this type “vncserver” when you are in your home directory. The password for the vnc session doesn't have to match the login for the user. If you fail to do this password step you will not be able to log in after the first power up. If you have completed this step there will be a passwd file in the .vnc folder in your home directory. Make sure to write down the password somewhere so you can get in later.

If for some reason you forget the password you can delete the passwd file in the .vnc directory and restart the vnc session it will ask you for a new password.

Raspberry PI auto-boot code

Step 4: Now for the fun autostart part

For this project we will use the autostart folder for both the vnc session and later to start the Perl script that will access the I2C ports. Autostart scripts in this folder will be executed at power up. To find this folder type “cd ~/.config/autostart”



For more detail: Raspberry PI auto-boot

About The Author

Ibrar Ayyub

I am an experienced technical writer holding a Master's degree in computer science from BZU Multan, Pakistan University. With a background spanning various industries, particularly in home automation and engineering, I have honed my skills in crafting clear and concise content. Proficient in leveraging infographics and diagrams, I strive to simplify complex concepts for readers. My strength lies in thorough research and presenting information in a structured and logical format.

Follow Us:

Leave a Comment

Your email address will not be published. Required fields are marked *

Scroll to Top