I am working on a robot and I need to be able to quickly load in new code. So far I have exhausted my other options (including using the micro sd card. we would prefer to leave that in the pi to prevent it getting lost. we are still putting the auto-run file on the microsd card though). I am running Arch Linux on the Raspberry Pi. What I need is a shell file that auto runs on boot up (or when a flash drive is plugged in). The shell file needs to run a python program called main.py and a .sh file called update.sh. I am not asking for you to just give me the file that does exactly what I want (would be appreciated though) but rather I am looking for the resources I need to do this. If it helps, there will only be one USB flash drive at any given time.
Shell file that finds a flash drive on my Raspberry Pi and executes a given program
1k views Asked by user3064682 At
2
There are 2 answers
0
Matt
On
I know this answer is late, but maybe it will help someone else in the future.
More general, you can make the line inside the .rules file:
KERNEL==”sd[a-z]”, SUBSYSTEM==”block”, ACTION==”add”, RUN+=”/home/pi/filename.sh”
I did not have any luck running a python file directly from udev, but I created a .sh file and ran the python file from with that.
filename.sh:
#!/bin/sh
Python /home/pi/PythonScriptName.py
Related Questions in PYTHON
- How to store a date/time in sqlite (or something similar to a date)
- Instagrapi recently showing HTTPError and UnknownError
- How to Retrieve Data from an MySQL Database and Display it in a GUI?
- How to create a regular expression to partition a string that terminates in either ": 45" or ",", without the ": "
- Python Geopandas unable to convert latitude longitude to points
- Influence of Unused FFN on Model Accuracy in PyTorch
- Seeking Python Libraries for Removing Extraneous Characters and Spaces in Text
- Writes to child subprocess.Popen.stdin don't work from within process group?
- Conda has two different python binarys (python and python3) with the same version for a single environment. Why?
- Problem with add new attribute in table with BOTO3 on python
- Can't install packages in python conda environment
- Setting diagonal of a matrix to zero
- List of numbers converted to list of strings to iterate over it. But receiving TypeError messages
- Basic Python Question: Shortening If Statements
- Python and regex, can't understand why some words are left out of the match
Related Questions in LINUX
- Is there some way to use printf to print a horizontal list of decrementing hex digits in NASM assembly on Linux
- Why does Hugo generate different taxonomy-related HTML on different OS's?
- Writes in io_uring do not advance the file offset
- Why `set -o pipefail` gives different output even though the pipe is not failing
- what really controls the permissions: UID or eUID?
- Compiling eBPF program in Docker fails due to missing '__u64' type
- Docker container unable to make HTTPS requests to external API
- Whow to use callback_query_handler in Python 3.10
- Create kea runtime directory at startup in Yocto image
- Problem on CPU scheduling algorithms in OS
- How to copy files into the singularity sandbox?
- Android kernel error: undefined reference to `get_hw_version_platform'
- Is there a need for BPF Linux namespace?
- Error when trying to execute a binary compiled in a Kali Linux machine on an Ubuntu system
- Issue with launching application after updating ElectronJs to version 28.0.0 on Windows and Linux
Related Questions in SHELL
- macOS - Most secure way of a GUI SUDO_ASKPASS
- When does Bash read heredocs?
- Why `set -o pipefail` gives different output even though the pipe is not failing
- Run multiple shell scripts in Dockerfile
- Alias does not take effect when I use Vim to execute external commands
- why variable substitution is so different?
- Error: fish: ${ is not a valid variable in fish
- Custom Bash functions & custom statements - Need some advice
- unexpected operator == in square brackets when trying to use gum lib
- Delete first three lines containing a certain word
- Keep the log for the last 14 days
- Iterate over items in one array and groups of items in second array
- Keep multi-version of a static-lib like what we do for shared-libs
- How to write function in bash for reuse shell commands inside using osascript?
- Why is it that when I pass certain directory names to `ls`, sometimes it does not list their contents?
Related Questions in USB
- How to "Enable mobile data" on a Huawei E3372 4G USB dongle using a bash script in Windows
- onCompletion(mp: MediaPlayer?) is unintentionally called after USB storage is connected
- How to detect a pc from android
- Raspberry Pi sending/receiving data over usb
- Process incoming USB message without sitting in a while loop
- Linux to QNX USB driver convert
- To execute a program from a USB drive
- How do I create a way to communicate between a phone and a computer using a usb in Java
- USB is not recognized
- Transfer SQLite Database via USB-Cable
- Updating Ublox module via commandline with file
- RS422 communication using PySerial (Raspberry PI)
- USB and GPIB devices not recognized with PyVISA using ni-visa and ni-488.2 on Ubuntu 22.04 Linux
- How to write a Android native linux app to communicate via usb to PC?
- transfer data and/or receive data via a USB cable by connecting Android applications with Windows applications
Related Questions in RASPBERRY-PI
- Raspberry Pi Sense Hat with Pyinstaller
- Waiting for several hours before resuming execution
- Using compositor in Gstreamer to merge imagesequence with video/audio stream
- How to make this sensor keep taking readings once its when_in_range function has been activated?
- Emulating an HID device with a raspberry pi 5
- How to stream PCM audio to a speakers both on mac and linux in Node.js?
- I want to use NRF24L01 transceiver with raspberry pi but some GPIO pins are already occupied by 3.5 inch display how do i connect transceiver
- voron 2.4 mainsail kiauh error install crowsnest (solved problem)
- Pi4J minimal example's LED doesn't blink
- How can I connect and send data from react-native to raspberry pi
- Xpt 2046 Display with Pn532 RFID reader
- Google SDK for Raspberry pi
- How to use a RaspberryPi camera with the cv2.videoCapture() function?
- How do I capture audio from the system bus in a node app (or from sox) on a raspberry pi?
- Can't open /dev/mem: Operation not permitted Raspberry Pi
Popular Questions
- How do I undo the most recent local commits in Git?
- How can I remove a specific item from an array in JavaScript?
- How do I delete a Git branch locally and remotely?
- Find all files containing a specific text (string) on Linux?
- How do I revert a Git repository to a previous commit?
- How do I create an HTML button that acts like a link?
- How do I check out a remote Git branch?
- How do I force "git pull" to overwrite local files?
- How do I list all files of a directory?
- How to check whether a string contains a substring in JavaScript?
- How do I redirect to another webpage?
- How can I iterate over rows in a Pandas DataFrame?
- How do I convert a String to an int in Java?
- Does Python have a string 'contains' substring method?
- How do I check if a string contains a specific word?
Trending Questions
- UIImageView Frame Doesn't Reflect Constraints
- Is it possible to use adb commands to click on a view by finding its ID?
- How to create a new web character symbol recognizable by html/javascript?
- Why isn't my CSS3 animation smooth in Google Chrome (but very smooth on other browsers)?
- Heap Gives Page Fault
- Connect ffmpeg to Visual Studio 2008
- Both Object- and ValueAnimator jumps when Duration is set above API LvL 24
- How to avoid default initialization of objects in std::vector?
- second argument of the command line arguments in a format other than char** argv or char* argv[]
- How to improve efficiency of algorithm which generates next lexicographic permutation?
- Navigating to the another actvity app getting crash in android
- How to read the particular message format in android and store in sqlite database?
- Resetting inventory status after order is cancelled
- Efficiently compute powers of X in SSE/AVX
- Insert into an external database using ajax and php : POST 500 (Internal Server Error)
This can be done using
udevrules. First you will need to note down some of the attributes of your USB usinglsusb:Now, here
Note them down for your specific USB drive. Now create a new udev rule in a new file
/etc/udev/rules.d/myrule.rulesand add this line in it: