forked from asb/raspi-config
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
0 parents
commit e45b6d4
Showing
9 changed files
with
266 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,26 @@ | ||
raspi-config is licensed under the terms of the MIT license reproduced below. | ||
|
||
##################################################### | ||
|
||
Copyright (c) 2012 Alex Bradbury <asb@asbradbury.org> | ||
|
||
Permission is hereby granted, free of charge, to any person | ||
obtaining a copy of this software and associated documentation | ||
files (the "Software"), to deal in the Software without | ||
restriction, including without limitation the rights to use, | ||
copy, modify, merge, publish, distribute, sublicense, and/or sell | ||
copies of the Software, and to permit persons to whom the | ||
Software is furnished to do so, subject to the following | ||
conditions: | ||
|
||
The above copyright notice and this permission notice shall be | ||
included in all copies or substantial portions of the Software. | ||
|
||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, | ||
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES | ||
OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND | ||
NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT | ||
HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, | ||
WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING | ||
FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR | ||
OTHER DEALINGS IN THE SOFTWARE. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,5 @@ | ||
raspi-config (20120610) unstable; urgency=low | ||
|
||
* Initial release | ||
|
||
-- Alex Bradbury <asb@asbradbury.org> Sun, 10 Jun 2012 15:59:17 +0000 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1 @@ | ||
8 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,14 @@ | ||
Source: raspi-config | ||
Section: unknown | ||
Priority: extra | ||
Maintainer: Alex Bradbury <asb@asbradbury.org> | ||
Build-Depends: debhelper (>= 8.0.0) | ||
Standards-Version: 3.9.2 | ||
Homepage: https://github.com/asb/raspi-config | ||
#Vcs-Git: git://git.debian.org/collab-maint/raspi-config.git | ||
#Vcs-Browser: http://git.debian.org/?p=collab-maint/raspi-config.git;a=summary | ||
|
||
Package: raspi-config | ||
Architecture: all | ||
Depends: ${misc:Depends}, whiptail, parted | ||
Description: Simple configuration for Raspberry Pi |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,2 @@ | ||
LICENSE | ||
sample_profile_d.sh |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1 @@ | ||
./raspi-config /usr/bin/ |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,13 @@ | ||
#!/usr/bin/make -f | ||
# -*- makefile -*- | ||
# Sample debian/rules that uses debhelper. | ||
# This file was originally written by Joey Hess and Craig Small. | ||
# As a special exception, when this file is copied by dh-make into a | ||
# dh-make output file, you may use that output file without restriction. | ||
# This special exception was added by Craig Small in version 0.37 of dh-make. | ||
|
||
# Uncomment this to turn on verbose mode. | ||
#export DH_VERBOSE=1 | ||
|
||
%: | ||
dh $@ |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,187 @@ | ||
#!/bin/sh | ||
# Part of raspi-config http://github.com/asb/raspi-config | ||
# | ||
# See LICENSE file for copyright and license details | ||
|
||
|
||
if [ $(id -u) -ne 0 ]; then | ||
printf "Script must be run as root\n" | ||
exit 1 | ||
fi | ||
|
||
do_info() { | ||
whiptail --msgbox "This tool provides a straight-forward way of doing | ||
initial configuration of the Raspberry Pi. Although it can be run at any | ||
time, some of the options may have difficulties if you have heavily | ||
customised your installation." 20 60 1 | ||
} | ||
|
||
do_expand_rootfs() { | ||
# Get the starting offset of the root partition | ||
PART_START=$(parted /dev/mmcblk0 -ms unit s p | grep "^2" | cut -f 2 -d:) | ||
[ "$PART_START" ] || return 1 | ||
# Return value will likely be error for fdisk as it fails to reload the | ||
# partition table because the root fs is mounted | ||
fdisk /dev/mmcblk0 <<EOF | ||
p | ||
d | ||
2 | ||
n | ||
p | ||
2 | ||
$PART_START | ||
p | ||
w | ||
EOF | ||
|
||
# now set up an init.d script | ||
cat <<\EOF > /etc/init.d/resize2fs_once && | ||
#!/bin/sh | ||
### BEGIN INIT INFO | ||
# Provides: resize2fs_once | ||
# Required-Start: | ||
# Required-Stop: | ||
# Default-Start: 2 3 4 5 S | ||
# Default-Stop: | ||
# Short-Description: Resize the root filesystem to fill partition | ||
# Description: | ||
### END INIT INFO | ||
. /lib/lsb/init-functions | ||
case "$1" in | ||
start) | ||
log_daemon_msg "Starting resize2fs_once" && | ||
resize2fs /dev/mmcblk0p2 && | ||
rm /etc/init.d/resize2fs_once && | ||
update-rc.d resize2fs_once remove && | ||
log_end_msg $? | ||
;; | ||
*) | ||
echo "Usage: $0 start" >&2 | ||
exit 3 | ||
;; | ||
esac | ||
EOF | ||
chmod +x /etc/init.d/resize2fs_once && | ||
update-rc.d resize2fs_once defaults && | ||
whiptail --msgbox "Root partition has been resized.\n\ | ||
The filesystem will be enlarged upon the next reboot" 20 60 2 | ||
} | ||
|
||
# $1 is 0 to disable overscan, 1 to disable it | ||
set_overscan() { | ||
# Stop if /boot is not a mountpoint | ||
if ! mountpoint -q /boot; then | ||
return 1 | ||
fi | ||
|
||
[ -e /boot/config.txt ] || touch /boot/config.txt | ||
|
||
if [ "$1" -eq 0 ]; then # disable overscan | ||
sed /boot/config.txt -i -e "s/^overscan_/#overscan_/" | ||
if grep -q "^disable_overscan" /boot/config.txt; then | ||
sed -i /boot/config.txt -e "s/^disable_overscan.*$/disable_overscan=1/" | ||
else | ||
printf "disable_overscan=1\n" >> /boot/config.txt | ||
fi | ||
else # enable overscan | ||
sed -i /boot/config.txt -e "s/^disable_overscan.*$/disable_overscan=0/" | ||
fi | ||
} | ||
|
||
do_overscan() { | ||
whiptail --yesno "What would you like to do with overscan" 20 60 2 \ | ||
--yes-button Disable --no-button Enable | ||
RET=$? | ||
if [ $RET -eq 0 ] || [ $RET -eq 1 ]; then | ||
set_overscan $RET; | ||
else | ||
return 1 | ||
fi | ||
} | ||
|
||
do_change_pass() { | ||
whiptail --msgbox "You will now be asked to enter a new password for the pi user" 20 60 1 | ||
passwd pi && | ||
whiptail --msgbox "Password changed successfully" 20 60 1 | ||
} | ||
|
||
do_configure_keyboard() { | ||
dpkg-reconfigure keyboard-setup && | ||
printf "Reloading keymap. This may take a short while\n" && | ||
invoke-rc.d keyboard-setup start | ||
} | ||
|
||
do_change_locale() { | ||
dpkg-reconfigure locales | ||
} | ||
|
||
do_change_timezone() { | ||
dpkg-reconfigure tzdata | ||
} | ||
|
||
do_memory_split() { | ||
# Stop if /boot is not a mountpoint | ||
if ! mountpoint -q /boot; then | ||
return 1 | ||
fi | ||
MEMSPLIT=$(whiptail --menu "Set memory split" 20 60 10 \ | ||
"224" "224MiB for ARM, 32MiB for VideoCore" \ | ||
"192" "192MiB for ARM, 64MiB for VideoCore" \ | ||
"128" "128MiB for ARM, 128MiB for VideoCore" \ | ||
3>&1 1>&2 2>&3) | ||
if [ $? -eq 0 ]; then | ||
cp -a /boot/arm${MEMSPLIT}_start.elf /boot/start.elf | ||
fi | ||
} | ||
|
||
do_ssh() { | ||
whiptail --yesno "Would you like the SSH server enabled or disabled?" 20 60 2 \ | ||
--yes-button Enable --no-button Disable | ||
RET=$? | ||
if [ $RET -eq 0 ]; then | ||
update-rc.d ssh enable && | ||
invoke-rc.d ssh start && | ||
whiptail --msgbox "SSH server enabled" 20 60 1 | ||
elif [ $RET -eq 1 ]; then | ||
update-rc.d ssh disable && | ||
whiptail --msgbox "SSH server disabled" 20 60 1 | ||
else | ||
return $RET | ||
fi | ||
} | ||
|
||
do_finish() { | ||
if [ -e /etc/profile.d/raspi-config.sh ]; then | ||
rm -f /etc/profile.d/raspi-config.sh | ||
sed -i /etc/inittab \ | ||
-e "s/^#\(.*\)#\s*RPICFG_TO_ENABLE\s*/\1/" \ | ||
-e "/#\s*RPICFG_TO_DISABLE/d" | ||
telinit q | ||
fi | ||
whiptail --msgbox "Done" 20 60 1 | ||
exit 0 | ||
} | ||
|
||
while true; do | ||
FUN=$(whiptail --menu "Raspi-config" 20 80 10 --cancel-button Exit \ | ||
"info" "Information about this tool" \ | ||
"expand_rootfs" "Expand root partition to fill SD card" \ | ||
"overscan" "Change overscan" \ | ||
"change_pass" "Change password for 'pi' user" \ | ||
"configure_keyboard" "Set keyboard layout" \ | ||
"change_locale" "Set locale" \ | ||
"change_timezone" "Set timezone" \ | ||
"memory_split" "Change memory split" \ | ||
"ssh" "Enable or disable ssh server" \ | ||
"finish" "Finish config and don't start raspi-config at boot" \ | ||
3>&1 1>&2 2>&3) | ||
if [ $? -ne 0 ]; then | ||
exit 0; | ||
else | ||
"do_$FUN" || whiptail --msgbox "There was an error running do_$FUN" 20 60 1 | ||
fi | ||
done | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,17 @@ | ||
#!/bin/sh | ||
# Part of raspi-config http://github.com/asb/raspi-config | ||
# | ||
# See LICENSE file for copyright and license details | ||
|
||
# Should be installed to /etc/profile.d/raspi-config.sh to force raspi-config | ||
# to run at initial login | ||
|
||
# You may also want to set automatic login in /etc/inittab on tty1 by adding a | ||
# line such as: | ||
# 1:2345:respawn:/bin/login -f root tty1 </dev/tty1 >/dev/tty1 2>&1 # RPICFG_TO_DISABLE | ||
|
||
if [ $(id -u) -ne 0 ]; then | ||
printf "\nNOTICE: this Raspberry Pi has not been fully configured. Please run 'sudo raspi-config'\n\n" | ||
else | ||
which raspi-config && exec raspi-config | ||
fi |