Open main menu

Changes

XScript

4,514 bytes removed, 9 April
{{GD Template Impl}}
==Overview==__NOTOC__This page only provides scripts on how to install '''power management & safety switch & PWM fan''' based on different OSis script installation tutorial for [[NASPi]], [[NASPi Gemini 2. 5]], [[NASPi CM4-M2]] and [[NASPi CM4-2.5]]
If you need to know how to flash raspberry pi OS image into micro sd card or nvme ssd, please refer to the following '''official document''':* This script also works on [https://www.raspberrypi.com/documentationsoftware/computersoperating-systems/getting-started.html Getting startedbookworm]* [https://wwwOS, and test it on Jan.raspberrypi9th 2024.com/documentation/computers/compute-module.html#flashing-the-compute-module-emmc Flashing the Compute Module eMMC]
==For Raspbian OS=='''Test this The original key pwm fan control script based on the following OS:'''* is from [https://downloadsgithub.raspberrypi.org/raspios_arm64com/imagespimlie/raspios_arm64geekworm-2023x-05-03c1 pimlie/2023-05-03-raspios-bullseye-arm64.img.xz 2023-05-03geekworm-raspiosx-bullseye-arm64.img.xzc1]* [https://downloads.raspberrypi.org/raspios_lite_arm64/images/raspios_lite_arm64-2023-05-03/2023-05-03-raspios-bullseye-arm64-lite.img.xz 2023-05-03-raspios-bullseye-arm64-lite.img.xz]* [https://retropie.org.uk/download/ retropie-buster-4.8-rpi4_400.img.gz]* [https://twisteros.com/download.html TwisterOSv2, pimlie implements the pwm fan shell script, which does not depend on third-1-2party python libraries at all.imgThanks to pimlie.xz]'''Install'''
<pre>
cd ~
sudo apt-get update
sudo apt-get -y upgrade
sudo apt-get -y install git i2c-tools python3-smbus python3-rpi.gpio
 
git clone https://github.com/geekworm-com/xscript.git
cd xscriptsudo chmod +x *Now we think you have successfully flashed the OS Image into Micro SD and and power on the device, and you have also completed the operations such as creating new user required in some Raspberry Pi OS.shsudo cp -f ./pwr.sh /etc/pwr.shsudo cp -f ./softsd.sh /usr/local/bin/softsd.sh
sudo sed -i '$ i After your system boots, then you need to open <code>Terminal</etc/pwr.sh &' /etc/rc.localcode> prpgram, then type the following command to complete the installation of the script
echo "alias xoff='sudo /usr/local/bin/softsd.sh'" >> ~/.bashrc
sudo reboot now</pre>'''[Update]'''
If you find the following information when executing the above command:1. NASPi series does '''not support Raspberry Pi 5 hardwared''' due to different hardware interface.
'''''0 upgraded, 0 newly installed2. Use gpiod instead of obsolete interface, 0 to remove and 0 not upgradedsuuports ubuntu 23.'''''04 also
Please ignore it, it just means that your 3. The script now supports the Raspberry Pi OS already contains these software, nothing more. If reboot fails, please force shutdown or power off and restart.  '''Test safe shutdownBOOKWORM'''version. You just need to ' xoff* Please run 'xoff' to shut down or press the on-board button switch to shut down. <span style="color:red;">DONuninstall'T run the 'shutdown' linux command to shut down, otherwise the power of device will not be shut down.</span>* press button switch `1-2` seconds to reboot* press button switch `3` seconds to safe shutdown,* press `7-8` seconds to force shutdown.  original script and ''' PWM fan controlreinstall''' (This is optional) PS: You can ignore this step if you don't use the 3-Pin PWM fan to cool the CM4. In fact, the [[C235]] passive cooler can provide enough cooling capacity, and you can also avoid the trouble of fan noise, it is included in [[NASPi CM4-M2]] and [[NASPi CM4-2.5]] Run the below command to get the fan running. python3 /home/pi/xscript/fan-rpi.py &But when you reboot the device, the PWM fans won't run unless you run the above command again, There are serveral methods to enable fan run after the device reboots, recommend the first method: 1. Create a crontab job, place the command 'python3 /home/geekworm/xscript/fan-rpi.py&' into the crontab, Please refer to [[How to add crontab job]]. 2. Place the running command into the /etc/rc.local file, you can run the following command: sudo sed -i '$ i python3 /home/pi/xscript/fan-rpi.py &' /etc/rc.localNOTE: Please make sure the fan-rpi.py file path is correct;  '''uninstall''' sudo ./uninstall.sh sudo reboot now ==For ubuntu mate / ubuntun desktop / ubuntu server== Test this script based on the following OS:* ubuntu-22.04.1-preinstalled-desktop-arm64+raspi.img.xz '''Install'''
OPen ternimal window, then run the following command:
<pre>
cd ~sudo apt-get updatesudo apt-get upgrade mv xscript xcript-ysudo apt-get install -y git i2c-tools wiringpi python3-setuptools python3-distutils python3-rpi.gpio python3-smbusoldgit clone https://github.com/geekworm-com/xscript.git 
cd xscript
sudo chmod +x *.sh rc.localsudo cp -f ./pwr.sh /etc/pwr.shsudo cp -f ./softsd.sh /usr/local/bin/softsduninstall.sh #Enable rc.localsudo cp -f ./rc.local /etc/rc.local sudo sed -i '$ i /etc/pwr.sh &' /etc/rc.local echo "alias xoff='sudo /usr/local/bin/softsd.sh'" >> ~/.bashrc sudo reboot now
</pre>
Then just follow the installation process below.
If you find the following information when executing the above command: '''''0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.''''' Please ignore it, it just means ==OS that your OS already contains these software, nothing more.has been tested==* RaspbianIf reboot fails, please force shutdown or power off and restart.* DietPi* Manjaro ''' PWM fan control'* Ubuntu (Testing based on '' (This is optional) PS: You can ignore this step if you don't use the 3-Pin PWM fan to cool the CM4Ubuntu 23. In fact, the [[C235]] passive cooler can provide enough cooling capacity, and you can also avoid the trouble of fan noise, it is included in [[NASPi CM4-M2]] and [[NASPi CM4-2.5]] Run the below command to get the fan running. python3 /home/geekworm/xscript/fan-rpi.py&NOTE: You need change the 'geekworm' to your username; But when you reboot the device, the PWM fans won't run unless you run the above command again,  There are '''serveral methods04''' to enable fan run after the device reboots:)* myNode1. Create a crontab job, place the command 'python3 /home/geekworm/xscript/fan-rpi.py&' into the crontab, refer to [[How to add crontab job]].* Umbrel* Volumio2. Place the running command into the /etc/rc.local file, you can run the following command: sudo sed -i '$ i python3 /home/geekworm/xscript/fan-rpi.py&' /etc/rc.local* RetroPie NOTE: You need change the 'geekworm' to your username;* Twister
'''Test safe shutdownNote:''' xoff* Please run Not tested with 'xoff' to shut down or press the on-board button switch to shut down. <span style="color:red;">DON'T run the Home Assistant''shutdown' linux command , for some reason, we are not able to shut downupgrade and use the Home Assistant to test, otherwise please pay attention to check if there is any update in the power of device will not be shut downfuture.</span>* press button switch `1-2` seconds to reboot* press button switch `3` seconds to safe shutdown(If you have successfully tested Home Assistant,* press `7-8` seconds welcome to force shutdownshare your experience via email at: support@geekworm.com)
'''uninstall'''==Preconfigured <code>config.txt</code>==To install pwm fan, first add <code>dtoverlay=pwm-2chan</code> to <code>/boot/firmware/config.txt</code> or <code>/boot/config.txt</code> under [all] or the end of file and <code>reboot</code>: sudo nano /boot/firmware/config.txtSome OS's config.txt may be in the /uninstall.shboot/ directory, so that you need to run the following command: sudo reboot nownano /boot/config.txtUsing <code>ls /boot/firmware/config.txt</code> you can check if the file is in the /boot/firmware/ directory
== For DietPi==Save & exit.* [https sudo rebootPS://dietpi.com/#download DietPi_RPi-ARMv8-BullseyeOnly appending to the last line not replace.7z]
'''===Install'''gpiod package=== sudo apt install -y gpiod
login via teminal window, ==Download the default user name is `root`, password is `dietpi`, then run the following command:script==
<pre>
cd ~sudo apt-get updatesudo apt-get -y upgradesudo apt-get -y install git i2c-tools python3 python3-smbus python3-rpi.gpio git clone https://github.com/geekworm-com/xscript.git
cd xscript
sudo chmod +x *.sh rc.localsudo cp -f ./pwr.sh /etc/pwr.shsudo cp -f ./softsd.sh /usr/local/bin/softsd.sh sudo cp -f ./rc.local /etc/rc.local sudo sed -i '$ i /etc/pwr.sh &' /etc/rc.localecho "alias xoff='sudo /usr/local/bin/softsd.sh'" >> ~/.bashrc sudo reboot now
</pre>
'''PS''': For some OS such as ''Raspberry Pi OS Lite'', the '''''git''''' tool is not installed by default, if you get an error like ''error: -bash: git: command not found'', please run the following command to install the git tool.
sudo apt install -y git
''' PWM ==Create the x-c1-fan control''' (This is optional)service==<span class="tb_red_bold"> Note: If your device does not support pwm fans or you are not using pwm, you can skip this step</span>
PS: You can ignore this step if you don't use Run the 3following command to install fan service script; sudo ./install-Pin PWM fan to cool the CM4-service. In fact, the [[C235]] passive cooler can provide enough cooling capacity, and you can also avoid shThen the trouble of pwm fan noise, it is included in [[NASPi CM4-M2]] and [[NASPi CM4-2starts running.5]]
Run ==Create the below command to get the fan running.x-c1-pwr service== python3 sudo ./root/xscript/faninstall-pwr-rpi.py&But when you reboot the device, the PWM fans won't run unless you run the above command again, so you need to create a crontab job to keep the fans running when the device reboots, Please refer to [[How to add crontab job]]service.sh
==Prepair software shutdown script==
sudo ./install-sss.sh
'''Test safe shutdown''' xoff* Please run 'After the installation is complete, an <code>xoff' to shut down or press the on-board button switch to shut down. <span style="color:red;"/code>DON'T run the 'shutdown' linux command will be created to shut down, otherwise the power of device will not be shut downsoftware.Then you can run <code>xoff</spancode>* press button switch `1-2` seconds to reboot* press button switch `3` seconds to safe shutdown,* press `7-8` seconds to force execute software shutdown.
'''==Uninstall==Run the following command to uninstall'''all.
sudo ./uninstall.sh
sudo reboot now
==For ManjaroTest safe shutdown==Test this script base on the following OS'''Software safe shutdown command''':* [https://manjaro.org Manjaro-ARM-gnome-rpi4-23.02.img.xz] xoff<span class===1"tb_red">DON'T run the 'shutdown' linux command to shut down, otherwise the power of shield will not be shut down. Install===</span>
'''Update system & install dependent packagesHardware safe shutdown operation''' cd ~ sudo pacman -Syyu sudo pacman -S python python-setuptools:
'''Install RPiYou can verify the safety switch through the onboard switch, press and hold the switch for <code>3</code> seconds, then the blue LED will flash slowly and the shutdown is going then all LEDs will be off until the device is completely powered off.* press on-board button switch <code>1-2</code> seconds to reboot* press button switch <code>3</code> seconds to safe shutdown,* press <code>7-8</code> seconds to force shutdown.GPIO Python Library'''
==Sample==#The script that code for fan speed control is now in the <code>x-c1-fan.sh</code> file.#<code>fan runs depends on the RPi-rpi.GPIO Python librarypy</code> and <code>fan-pigpio. Since this OS does not include this package py</code> are no longer used, and are reserved here for research and use by default, we need to install it manuallypython lovers only.
Refer to [[How to Install RPi==Support==Email: support@geekworm.GPIO Python Library]], and you need use the ''''Method 2 – Manual Installation''''com
'''Download script''' cd ~ git clone https://githubIf you have any problems during use, please contact us by email and tell us the product model you are using and the OS version you are using.com/geekworm-com/xscript.git
If the current OS does not include the git tool==FAQ==<html><details><summary>Q: How to login <b>volumio</b> via SSH?</summary><p>1. Enable SSH:</p><p>Visit http://volumio.local/dev/, then you need to use click <b>ENABLE SSH</b> button</p><p>2. URL connection is IP address, and the following command to install it firstlydefault user name is <b>volumio</b>, default password is <b>volumio</b></p> sudo pacman -S git</details>
'''Install script'''<details> cd ~<summary>Q: How to login to <b>Umbrel</xscriptb> via SSH?</summary> sudo chmod +x *.sh rcA: ssh umbrel@umbrel.local sudo cp -f (or ssh umbrel@<IP address of your Umbrel>).the default user name is <b>umbrel</pwr.sh b>, default password is <b>moneyprintergobrrr</etc/pwr.shb> sudo cp -f ./softsd.sh /usr</local/bin/softsd.shdetails>
'''Enable rc.local service'''<details> sudo cp -f .<summary>Q: How to login to <b>myNode</rc.local b> via SSH?</etc/rc.local sudo cp rc.local.service /lib/systemd/system sudo systemctl enable rc.localsummary>
sudo sed -i '$ i A: URL connection is IP address, and the default user name is <b>admin</etcb>, default password is <b>bolt</pwr.sh &' /etc/rc.localb> sudo sed -i '$ i sudo python3 ~/xscript/fan-rpi.py &' /etc</rc.localdetails>
'''Create a alias xoff'''<details> echo "alias xoff='sudo <summary>Q: How to login to <b>DietPi</usr/local/binb> via SSH?</softsd.sh'" summary>> ~/.bashrcThen reboot the device sudo reboot now
===2. Test safe shutdown=== xoff* Please run 'xoff' to shut down or press the on-board button switch to shut down. DON'T run the 'shutdown' linux command to shut downA: URL connection is IP address, otherwise and the power of device will not be shut down.* press button switch `1-2` seconds to reboot* press button switch `3` seconds to safe shutdowndefault user name is <b>root</b>,default password is <b>dietpi</b>* press `7-8` seconds to force shutdown.</details>
===3. PWM fan control (Optional)===<details><summary>Q: Is <b>LibreELEC</b> supported?</summary>
PSA: You can ignore this step if you don't use the 3-Pin PWM fan to cool the CM4. In fact, the C235 passive cooler can provide enough cooling capacity, and you can also avoid the trouble of fan noise, it is included in [[NASPi CM4-M2]] and [[NASPi CM4-2.5]]TODO</details>
Run the below command to get the fan running. sudo python3 ~</xscript/fan-rpi.py &But when you reboot the device, the PWM fans won't run unless you run the above command again,html>
ON Manjaro OS, Place the running command into the '/etc/rc.local file', then this command will be execute after the device reboot, you can run the following command:
sudo sed -i '$ i echo "your password" | sudo -S python3 ~/xscript/fan-rpi.py &' /etc/rc.local
NOTE: Please make sure the fan-rpi.py file path is correct;
===4. Uninstall===
cd ~/xscript
sudo ./uninstall.sh
sudo reboot now
<!--Add review function! -->