Merge pull request #1 from brain-hackers/brain

raspi-config -> brain-config
This commit is contained in:
Takumi Sueda 2022-08-07 18:32:25 +09:00 committed by GitHub
commit bdd36153eb
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
19 changed files with 1024 additions and 4228 deletions

289
.gitchangelog.rc Normal file
View File

@ -0,0 +1,289 @@
# -*- coding: utf-8; mode: python -*-
##
## Format
##
## ACTION: [AUDIENCE:] COMMIT_MSG [!TAG ...]
##
## Description
##
## ACTION is one of 'chg', 'fix', 'new'
##
## Is WHAT the change is about.
##
## 'chg' is for refactor, small improvement, cosmetic changes...
## 'fix' is for bug fixes
## 'new' is for new features, big improvement
##
## AUDIENCE is optional and one of 'dev', 'usr', 'pkg', 'test', 'doc'
##
## Is WHO is concerned by the change.
##
## 'dev' is for developpers (API changes, refactors...)
## 'usr' is for final users (UI changes)
## 'pkg' is for packagers (packaging changes)
## 'test' is for testers (test only related changes)
## 'doc' is for doc guys (doc only changes)
##
## COMMIT_MSG is ... well ... the commit message itself.
##
## TAGs are additionnal adjective as 'refactor' 'minor' 'cosmetic'
##
## They are preceded with a '!' or a '@' (prefer the former, as the
## latter is wrongly interpreted in github.) Commonly used tags are:
##
## 'refactor' is obviously for refactoring code only
## 'minor' is for a very meaningless change (a typo, adding a comment)
## 'cosmetic' is for cosmetic driven change (re-indentation, 80-col...)
## 'wip' is for partial functionality but complete subfunctionality.
##
## Example:
##
## new: usr: support of bazaar implemented
## chg: re-indentend some lines !cosmetic
## new: dev: updated code to be compatible with last version of killer lib.
## fix: pkg: updated year of licence coverage.
## new: test: added a bunch of test around user usability of feature X.
## fix: typo in spelling my name in comment. !minor
##
## Please note that multi-line commit message are supported, and only the
## first line will be considered as the "summary" of the commit message. So
## tags, and other rules only applies to the summary. The body of the commit
## message will be displayed in the changelog without reformatting.
##
## ``ignore_regexps`` is a line of regexps
##
## Any commit having its full commit message matching any regexp listed here
## will be ignored and won't be reported in the changelog.
##
ignore_regexps = [
r'@minor', r'!minor',
r'@cosmetic', r'!cosmetic',
r'@refactor', r'!refactor',
r'@wip', r'!wip',
r'^([cC]hg|[fF]ix|[nN]ew)\s*:\s*[p|P]kg:',
r'^([cC]hg|[fF]ix|[nN]ew)\s*:\s*[d|D]ev:',
r'^(.{3,3}\s*:)?\s*[fF]irst commit.?\s*$',
r'^$', ## ignore commits with empty messages
]
## ``section_regexps`` is a list of 2-tuples associating a string label and a
## list of regexp
##
## Commit messages will be classified in sections thanks to this. Section
## titles are the label, and a commit is classified under this section if any
## of the regexps associated is matching.
##
## Please note that ``section_regexps`` will only classify commits and won't
## make any changes to the contents. So you'll probably want to go check
## ``subject_process`` (or ``body_process``) to do some changes to the subject,
## whenever you are tweaking this variable.
##
section_regexps = [
('New', [
r'^[nN]ew\s*:\s*((dev|use?r|pkg|test|doc)\s*:\s*)?([^\n]*)$',
]),
('Changes', [
r'^[cC]hg\s*:\s*((dev|use?r|pkg|test|doc)\s*:\s*)?([^\n]*)$',
]),
('Fix', [
r'^[fF]ix\s*:\s*((dev|use?r|pkg|test|doc)\s*:\s*)?([^\n]*)$',
]),
('Other', None ## Match all lines
),
]
## ``body_process`` is a callable
##
## This callable will be given the original body and result will
## be used in the changelog.
##
## Available constructs are:
##
## - any python callable that take one txt argument and return txt argument.
##
## - ReSub(pattern, replacement): will apply regexp substitution.
##
## - Indent(chars=" "): will indent the text with the prefix
## Please remember that template engines gets also to modify the text and
## will usually indent themselves the text if needed.
##
## - Wrap(regexp=r"\n\n"): re-wrap text in separate paragraph to fill 80-Columns
##
## - noop: do nothing
##
## - ucfirst: ensure the first letter is uppercase.
## (usually used in the ``subject_process`` pipeline)
##
## - final_dot: ensure text finishes with a dot
## (usually used in the ``subject_process`` pipeline)
##
## - strip: remove any spaces before or after the content of the string
##
## - SetIfEmpty(msg="No commit message."): will set the text to
## whatever given ``msg`` if the current text is empty.
##
## Additionally, you can `pipe` the provided filters, for instance:
#body_process = Wrap(regexp=r'\n(?=\w+\s*:)') | Indent(chars=" ")
#body_process = Wrap(regexp=r'\n(?=\w+\s*:)')
#body_process = noop
body_process = ReSub(r'((^|\n)[A-Z]\w+(-\w+)*: .*(\n\s+.*)*)+$', r'') | strip
## ``subject_process`` is a callable
##
## This callable will be given the original subject and result will
## be used in the changelog.
##
## Available constructs are those listed in ``body_process`` doc.
subject_process = (strip |
ReSub(r'^([cC]hg|[fF]ix|[nN]ew)\s*:\s*((dev|use?r|pkg|test|doc)\s*:\s*)?([^\n@]*)(@[a-z]+\s+)*$', r'\4') |
SetIfEmpty("No commit message.") | ucfirst | final_dot)
## ``tag_filter_regexp`` is a regexp
##
## Tags that will be used for the changelog must match this regexp.
##
tag_filter_regexp = r'^[0-9-]+$'
## ``unreleased_version_label`` is a string or a callable that outputs a string
##
## This label will be used as the changelog Title of the last set of changes
## between last valid tag and HEAD if any.
unreleased_version_label = "(unreleased)"
## ``output_engine`` is a callable
##
## This will change the output format of the generated changelog file
##
## Available choices are:
##
## - rest_py
##
## Legacy pure python engine, outputs ReSTructured text.
## This is the default.
##
## - mustache(<template_name>)
##
## Template name could be any of the available templates in
## ``templates/mustache/*.tpl``.
## Requires python package ``pystache``.
## Examples:
## - mustache("markdown")
## - mustache("restructuredtext")
##
## - makotemplate(<template_name>)
##
## Template name could be any of the available templates in
## ``templates/mako/*.tpl``.
## Requires python package ``mako``.
## Examples:
## - makotemplate("restructuredtext")
##
output_engine = rest_py
#output_engine = mustache("restructuredtext")
#output_engine = mustache("markdown")
#output_engine = makotemplate("restructuredtext")
## ``include_merge`` is a boolean
##
## This option tells git-log whether to include merge commits in the log.
## The default is to include them.
include_merge = True
## ``log_encoding`` is a string identifier
##
## This option tells gitchangelog what encoding is outputed by ``git log``.
## The default is to be clever about it: it checks ``git config`` for
## ``i18n.logOutputEncoding``, and if not found will default to git's own
## default: ``utf-8``.
#log_encoding = 'utf-8'
## ``publish`` is a callable
##
## Sets what ``gitchangelog`` should do with the output generated by
## the output engine. ``publish`` is a callable taking one argument
## that is an interator on lines from the output engine.
##
## Some helper callable are provided:
##
## Available choices are:
##
## - stdout
##
## Outputs directly to standard output
## (This is the default)
##
## - FileInsertAtFirstRegexMatch(file, pattern, idx=lamda m: m.start())
##
## Creates a callable that will parse given file for the given
## regex pattern and will insert the output in the file.
## ``idx`` is a callable that receive the matching object and
## must return a integer index point where to insert the
## the output in the file. Default is to return the position of
## the start of the matched string.
##
## - FileRegexSubst(file, pattern, replace, flags)
##
## Apply a replace inplace in the given file. Your regex pattern must
## take care of everything and might be more complex. Check the README
## for a complete copy-pastable example.
##
# publish = FileInsertIntoFirstRegexMatch(
# "CHANGELOG.rst",
# r'/(?P<rev>[0-9]+\.[0-9]+(\.[0-9]+)?)\s+\([0-9]+-[0-9]{2}-[0-9]{2}\)\n--+\n/',
# idx=lambda m: m.start(1)
# )
#publish = stdout
## ``revs`` is a list of callable or a list of string
##
## callable will be called to resolve as strings and allow dynamical
## computation of these. The result will be used as revisions for
## gitchangelog (as if directly stated on the command line). This allows
## to filter exaclty which commits will be read by gitchangelog.
##
## To get a full documentation on the format of these strings, please
## refer to the ``git rev-list`` arguments. There are many examples.
##
## Using callables is especially useful, for instance, if you
## are using gitchangelog to generate incrementally your changelog.
##
## Some helpers are provided, you can use them::
##
## - FileFirstRegexMatch(file, pattern): will return a callable that will
## return the first string match for the given pattern in the given file.
## If you use named sub-patterns in your regex pattern, it'll output only
## the string matching the regex pattern named "rev".
##
## - Caret(rev): will return the rev prefixed by a "^", which is a
## way to remove the given revision and all its ancestor.
##
## Please note that if you provide a rev-list on the command line, it'll
## replace this value (which will then be ignored).
##
## If empty, then ``gitchangelog`` will act as it had to generate a full
## changelog.
##
## The default is to use all commits to make the changelog.
#revs = ["^1.0.3", ]
#revs = [
# Caret(
# FileFirstRegexMatch(
# "CHANGELOG.rst",
# r"(?P<rev>[0-9]+\.[0-9]+(\.[0-9]+)?)\s+\([0-9]+-[0-9]{2}-[0-9]{2}\)\n--+\n")),
# "HEAD"
#]
revs = []

9
.github/archive_name.py vendored Normal file
View File

@ -0,0 +1,9 @@
#!/usr/bin/python3
with open('./debian/brain-config/DEBIAN/control', 'r') as f:
for l in f.readlines():
if l.startswith('Version:'):
print(f'brain-config_{l.replace("Version: ", "").rstrip()}_all.deb', end='')
break
else:
raise RuntimeError('Version line was not found')

80
.github/workflows/build.yml vendored Normal file
View File

@ -0,0 +1,80 @@
name: Build
on:
push:
branches: ci*
tags: '*'
jobs:
create_release:
name: Create release
runs-on: ubuntu-latest
outputs:
upload_url: ${{ steps.create_release.outputs.upload_url }}
steps:
- uses: actions/checkout@v2
with:
fetch-depth: 0
submodules: false
- name: Generate release name
id: release_name
# https://github.community/t/how-to-get-just-the-tag-name/16241/4
run: echo ::set-output name=name::${GITHUB_REF/refs\/*s\//}
- name: Generate the tag name for a branch build
if: ${{ startsWith(steps.release_name.outputs.name, 'ci-') }}
run: |
echo "RELEASE_TAG_NAME=${GITHUB_REF/refs\/*s\//}-tag" >> $GITHUB_ENV
- name: Generate the tag name for a branch build
if: ${{ !startsWith(steps.release_name.outputs.name, 'ci-') }}
run: |
echo "RELEASE_TAG_NAME=${GITHUB_REF/refs\/*s\//}" >> $GITHUB_ENV
- name: Generate changes file
uses: sarnold/gitchangelog-action@master
with:
config_file: .gitchangelog.rc
github_token: ${{ secrets.GITHUB_TOKEN }}
- name: Create release
id: create_release
uses: softprops/action-gh-release@v1
with:
body_path: CHANGES.md
draft: false
prerelease: true
name: ${{ steps.release_name.outputs.name }}
tag_name: ${{ env.RELEASE_TAG_NAME }}
build-linux:
runs-on: ubuntu-20.04
needs: [create_release]
steps:
- uses: actions/checkout@v2
with:
submodules: true
- name: Workaround for apt update failure
run: sudo rm /etc/apt/sources.list.d/github_git-lfs.*
- name: Prepare packaging & packagecloud CLI
run: |
sudo apt update
sudo apt install debhelper ruby-dev
sudo gem install package_cloud
- name: Build the Debian package
run: ./debian/rules build && sudo ./debian/rules binary
- name: Generate archive name
id: archive_name
run: echo ::set-output name=name::$(python .github/archive_name.py)
- name: Upload the package to GitHub
uses: actions/upload-release-asset@v1
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
upload_url: ${{ needs.create_release.outputs.upload_url }}
asset_path: ../${{ steps.archive_name.outputs.name }}
asset_name: ${{ steps.archive_name.outputs.name }}
asset_content_type: application/vnd.debian.binary-package
- name: Upload the package to packagecloud
env:
USERNAME: brainhackers
REPO: brainux/any/any
PACKAGECLOUD_TOKEN: ${{ secrets.PACKAGECLOUD_TOKEN }}
run: |
package_cloud push "${USERNAME}/${REPO}" "../${{steps.archive_name.outputs.name}}"

View File

@ -1,7 +1,8 @@
raspi-config is licensed under the terms of the MIT license reproduced below.
brain-config is licensed under the terms of the MIT license reproduced below.
#####################################################
Copyright (c) 2022 Brain Hackers
Copyright (c) 2012 Alex Bradbury <asb@asbradbury.org>
Permission is hereby granted, free of charge, to any person

622
brain-config Executable file
View File

@ -0,0 +1,622 @@
#!/bin/sh
# Part of brain-config https://github.com/brain-hackers/brain-config
# Forked from raspi-config https://github.com/RPi-Distro/raspi-config
#
# See LICENSE file for copyright and license details
INTERACTIVE=True
ASK_TO_REBOOT=0
BLACKLIST=/etc/modprobe.d/brain-blacklist.conf
CONFIG=/boot/config.txt
# TODO: erase these envs
USER=${SUDO_USER:-$(who -m | awk '{ print $1 }')}
CMDLINE=/boot/cmdline.txt
calc_wt_size() {
# NOTE: it's tempting to redirect stderr to /dev/null, so supress error
# output from tput. However in this case, tput detects neither stdout or
# stderr is a tty and so only gives default 80, 24 values
WT_HEIGHT=18
WT_WIDTH=$(tput cols)
if [ -z "$WT_WIDTH" ] || [ "$WT_WIDTH" -lt 60 ]; then
WT_WIDTH=80
fi
if [ "$WT_WIDTH" -gt 178 ]; then
WT_WIDTH=120
fi
WT_MENU_HEIGHT=$(($WT_HEIGHT-7))
}
do_about() {
whiptail --msgbox "\
This tool provides a straightforward way of doing initial
configuration of the SHARP Brain. Although it can be run
at any time, some of the options may have difficulties if
you have heavily customised your installation.
$(dpkg -s brain-config 2> /dev/null | grep Version)\
" 20 70 1
return 0
}
do_expand_rootfs() {
ROOT_PART="$(findmnt / -o source -n)"
ROOT_DEV="/dev/$(lsblk -no pkname "$ROOT_PART")"
PART_NUM="$(echo "$ROOT_PART" | grep -o "[[:digit:]]*$")"
# NOTE: the NOOBS partition layout confuses parted. For now, let's only
# agree to work with a sufficiently simple partition layout
if [ "$PART_NUM" -ne 2 ]; then
whiptail --msgbox "Your partition layout is not currently supported by this tool. You are probably using NOOBS, in which case your root filesystem is already expanded anyway." 20 60 2
return 0
fi
LAST_PART_NUM=$(parted "$ROOT_DEV" -ms unit s p | tail -n 1 | cut -f 1 -d:)
if [ $LAST_PART_NUM -ne $PART_NUM ]; then
whiptail --msgbox "$ROOT_PART is not the last partition. Don't know how to expand" 20 60 2
return 0
fi
# Get the starting offset of the root partition
PART_START=$(parted "$ROOT_DEV" -ms unit s p | grep "^${PART_NUM}" | cut -f 2 -d: | sed 's/[^0-9]//g')
[ "$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 "$ROOT_DEV" <<EOF
p
d
$PART_NUM
n
p
$PART_NUM
$PART_START
p
w
EOF
ASK_TO_REBOOT=1
# 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: 3
# 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 "$ROOT_PART" &&
update-rc.d resize2fs_once remove &&
rm /etc/init.d/resize2fs_once &&
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 &&
if [ "$INTERACTIVE" = True ]; then
whiptail --msgbox "Root partition has been resized.\nThe filesystem will be enlarged upon the next reboot" 20 60 2
fi
}
do_change_pass() {
whiptail --msgbox "You will now be asked to enter a new password for the $USER user" 20 60 1
passwd $USER &&
whiptail --msgbox "Password changed successfully" 20 60 1
}
do_change_locale() {
if [ "$INTERACTIVE" = True ]; then
dpkg-reconfigure locales
else
if ! LOCALE_LINE="$(grep -E "^$1( |$)" /usr/share/i18n/SUPPORTED)"; then
return 1
fi
export LC_ALL=C
export LANG=C
local LG="/etc/locale.gen"
local NEW_LANG="$(echo $LOCALE_LINE | cut -f1 -d " ")"
[ -L "$LG" ] && [ "$(readlink $LG)" = "/usr/share/i18n/SUPPORTED" ] && rm -f "$LG"
echo "$LOCALE_LINE" > /etc/locale.gen
update-locale --no-checks LANG
update-locale --no-checks "LANG=$NEW_LANG"
dpkg-reconfigure -f noninteractive locales
fi
}
do_change_timezone() {
if [ "$INTERACTIVE" = True ]; then
dpkg-reconfigure tzdata
else
local TIMEZONE="$1"
if [ ! -f "/usr/share/zoneinfo/$TIMEZONE" ]; then
return 1;
fi
rm /etc/localtime
echo "$TIMEZONE" > /etc/timezone
dpkg-reconfigure -f noninteractive tzdata
fi
}
get_wifi_country() {
CODE=${1:-0}
IFACE="$(list_wlan_interfaces | head -n 1)"
if [ -z "$IFACE" ]; then
if [ "$INTERACTIVE" = True ]; then
whiptail --msgbox "No wireless interface found" 20 60
fi
return 1
fi
if ! wpa_cli -i "$IFACE" status > /dev/null 2>&1; then
if [ "$INTERACTIVE" = True ]; then
whiptail --msgbox "Could not communicate with wpa_supplicant" 20 60
fi
return 1
fi
wpa_cli -i "$IFACE" save_config > /dev/null 2>&1
COUNTRY="$(wpa_cli -i "$IFACE" get country)"
if [ "$COUNTRY" = "FAIL" ]; then
return 1
fi
if [ $CODE = 0 ]; then
echo "$COUNTRY"
fi
return 0
}
do_wifi_country() {
IFACE="$(list_wlan_interfaces | head -n 1)"
if [ -z "$IFACE" ]; then
if [ "$INTERACTIVE" = True ]; then
whiptail --msgbox "No wireless interface found" 20 60
fi
return 1
fi
if ! wpa_cli -i "$IFACE" status > /dev/null 2>&1; then
if [ "$INTERACTIVE" = True ]; then
whiptail --msgbox "Could not communicate with wpa_supplicant" 20 60
fi
return 1
fi
oIFS="$IFS"
if [ "$INTERACTIVE" = True ]; then
value=$(cat /usr/share/zoneinfo/iso3166.tab | tail -n +26 | tr '\t' '/' | tr '\n' '/')
IFS="/"
COUNTRY=$(whiptail --menu "Select the country in which the Pi is to be used" 20 60 10 ${value} 3>&1 1>&2 2>&3)
else
COUNTRY=$1
true
fi
if [ $? -eq 0 ];then
wpa_cli -i "$IFACE" set country "$COUNTRY"
wpa_cli -i "$IFACE" save_config > /dev/null 2>&1
if iw reg set "$COUNTRY" 2> /dev/null; then
ASK_TO_REBOOT=1
fi
if hash rfkill 2> /dev/null; then
rfkill unblock wifi
for filename in /var/lib/systemd/rfkill/*:wlan ; do
echo 0 > $filename
done
fi
if [ "$INTERACTIVE" = True ]; then
whiptail --msgbox "Wireless LAN country set to $COUNTRY" 20 60 1
fi
fi
IFS=$oIFS
}
get_hostname() {
cat /etc/hostname | tr -d " \t\n\r"
}
do_hostname() {
if [ "$INTERACTIVE" = True ]; then
whiptail --msgbox "\
Please note: RFCs mandate that a hostname's labels \
may contain only the ASCII letters 'a' through 'z' (case-insensitive),
the digits '0' through '9', and the hyphen.
Hostname labels cannot begin or end with a hyphen.
No other symbols, punctuation characters, or blank spaces are permitted.\
" 20 70 1
fi
CURRENT_HOSTNAME=`cat /etc/hostname | tr -d " \t\n\r"`
if [ "$INTERACTIVE" = True ]; then
NEW_HOSTNAME=$(whiptail --inputbox "Please enter a hostname" 20 60 "$CURRENT_HOSTNAME" 3>&1 1>&2 2>&3)
else
NEW_HOSTNAME=$1
true
fi
if [ $? -eq 0 ]; then
echo $NEW_HOSTNAME > /etc/hostname
sed -i "s/127.0.1.1.*$CURRENT_HOSTNAME/127.0.1.1\t$NEW_HOSTNAME/g" /etc/hosts
ASK_TO_REBOOT=1
fi
}
get_ssh() {
if service ssh status | grep -q inactive; then
echo 1
else
echo 0
fi
}
do_ssh() {
if [ -e /var/log/regen_ssh_keys.log ] && ! grep -q "^finished" /var/log/regen_ssh_keys.log; then
whiptail --msgbox "Initial ssh key generation still running. Please wait and try again." 20 60 2
return 1
fi
DEFAULT=--defaultno
if [ $(get_ssh) -eq 0 ]; then
DEFAULT=
fi
if [ "$INTERACTIVE" = True ]; then
whiptail --yesno \
"Would you like the SSH server to be enabled?\n\nCaution: Default and weak passwords are a security risk when SSH is enabled!" \
$DEFAULT 20 60 2
RET=$?
else
RET=$1
fi
if [ $RET -eq 0 ]; then
ssh-keygen -A &&
update-rc.d ssh enable &&
invoke-rc.d ssh start &&
STATUS=enabled
elif [ $RET -eq 1 ]; then
update-rc.d ssh disable &&
invoke-rc.d ssh stop &&
STATUS=disabled
else
return $RET
fi
if [ "$INTERACTIVE" = True ]; then
whiptail --msgbox "The SSH server is $STATUS" 20 60 1
fi
}
disable_brain_config_at_boot() {
if [ -e /etc/profile.d/brain-config.sh ]; then
rm -f /etc/profile.d/brain-config.sh
if [ -e /etc/systemd/system/getty@tty1.service.d/brain-config-override.conf ]; then
rm /etc/systemd/system/getty@tty1.service.d/brain-config-override.conf
fi
telinit q
fi
}
get_net_names() {
if grep -q "net.ifnames=0" $CMDLINE || \
( [ "$(readlink -f /etc/systemd/network/99-default.link)" = "/dev/null" ] && \
[ "$(readlink -f /etc/systemd/network/73-usb-net-by-mac.link)" = "/dev/null" ] ); then
echo 1
else
echo 0
fi
}
do_net_names () {
DEFAULT=--defaultno
CURRENT=0
if [ $(get_net_names) -eq 0 ]; then
DEFAULT=
CURRENT=1
fi
if [ "$INTERACTIVE" = True ]; then
whiptail --yesno "Would you like to enable predictable network interface names?" $DEFAULT 20 60 2
RET=$?
else
RET=$1
fi
if [ $RET -eq $CURRENT ]; then
ASK_TO_REBOOT=1
fi
if [ $RET -eq 0 ]; then
sed -i $CMDLINE -e "s/net.ifnames=0 *//"
rm -f /etc/systemd/network/99-default.link
rm -f /etc/systemd/network/73-usb-net-by-mac.link
STATUS=enabled
elif [ $RET -eq 1 ]; then
ln -sf /dev/null /etc/systemd/network/99-default.link
ln -sf /dev/null /etc/systemd/network/73-usb-net-by-mac.link
STATUS=disabled
else
return $RET
fi
if [ "$INTERACTIVE" = True ]; then
whiptail --msgbox "Predictable network interface names are $STATUS" 20 60 1
fi
}
list_wlan_interfaces() {
for dir in /sys/class/net/*/wireless; do
if [ -d "$dir" ]; then
basename "$(dirname "$dir")"
fi
done
}
do_wifi_ssid_passphrase() {
RET=0
IFACE_LIST="$(list_wlan_interfaces)"
IFACE="$(echo "$IFACE_LIST" | head -n 1)"
if [ -z "$IFACE" ]; then
if [ "$INTERACTIVE" = True ]; then
whiptail --msgbox "No wireless interface found" 20 60
fi
return 1
fi
if ! wpa_cli -i "$IFACE" status > /dev/null 2>&1; then
if [ "$INTERACTIVE" = True ]; then
whiptail --msgbox "Could not communicate with wpa_supplicant" 20 60
fi
return 1
fi
if [ "$INTERACTIVE" = True ] && [ -z "$(get_wifi_country)" ]; then
do_wifi_country
fi
SSID="$1"
while [ -z "$SSID" ] && [ "$INTERACTIVE" = True ]; do
SSID=$(whiptail --inputbox "Please enter SSID" 20 60 3>&1 1>&2 2>&3)
if [ $? -ne 0 ]; then
return 0
elif [ -z "$SSID" ]; then
whiptail --msgbox "SSID cannot be empty. Please try again." 20 60
fi
done
PASSPHRASE="$2"
while [ "$INTERACTIVE" = True ]; do
PASSPHRASE=$(whiptail --passwordbox "Please enter passphrase. Leave it empty if none." 20 60 3>&1 1>&2 2>&3)
if [ $? -ne 0 ]; then
return 0
else
break
fi
done
# Escape special characters for embedding in regex below
local ssid="$(echo "$SSID" \
| sed 's;\\;\\\\;g' \
| sed -e 's;\.;\\\.;g' \
-e 's;\*;\\\*;g' \
-e 's;\+;\\\+;g' \
-e 's;\?;\\\?;g' \
-e 's;\^;\\\^;g' \
-e 's;\$;\\\$;g' \
-e 's;\/;\\\/;g' \
-e 's;\[;\\\[;g' \
-e 's;\];\\\];g' \
-e 's;{;\\{;g' \
-e 's;};\\};g' \
-e 's;(;\\(;g' \
-e 's;);\\);g' \
-e 's;";\\\\\";g')"
wpa_cli -i "$IFACE" list_networks \
| tail -n +2 | cut -f -2 | grep -P "\t$ssid$" | cut -f1 \
| while read ID; do
wpa_cli -i "$IFACE" remove_network "$ID" > /dev/null 2>&1
done
ID="$(wpa_cli -i "$IFACE" add_network)"
wpa_cli -i "$IFACE" set_network "$ID" ssid "\"$SSID\"" 2>&1 | grep -q "OK"
RET=$((RET + $?))
if [ -z "$PASSPHRASE" ]; then
wpa_cli -i "$IFACE" set_network "$ID" key_mgmt NONE 2>&1 | grep -q "OK"
RET=$((RET + $?))
else
wpa_cli -i "$IFACE" set_network "$ID" psk "\"$PASSPHRASE\"" 2>&1 | grep -q "OK"
RET=$((RET + $?))
fi
if [ $RET -eq 0 ]; then
wpa_cli -i "$IFACE" enable_network "$ID" > /dev/null 2>&1
else
wpa_cli -i "$IFACE" remove_network "$ID" > /dev/null 2>&1
if [ "$INTERACTIVE" = True ]; then
whiptail --msgbox "Failed to set SSID or passphrase" 20 60
fi
fi
wpa_cli -i "$IFACE" save_config > /dev/null 2>&1
echo "$IFACE_LIST" | while read IFACE; do
wpa_cli -i "$IFACE" reconfigure > /dev/null 2>&1
done
return $RET
}
do_finish() {
disable_brain_config_at_boot
if [ $ASK_TO_REBOOT -eq 1 ]; then
whiptail --yesno "Would you like to reboot now?" 20 60 2
if [ $? -eq 0 ]; then # yes
sync
reboot
fi
fi
exit 0
}
get_bootro_now() {
findmnt /boot | grep -q " ro,"
echo $?
}
get_bootro_conf() {
grep /boot /etc/fstab | grep -q "defaults.*,ro[ ,]"
echo $?
}
is_uname_current() {
test -d "/lib/modules/$(uname -r)"
}
nonint() {
"$@"
}
#
# Command line options for non-interactive use
#
for i in $*
do
case $i in
--expand-rootfs)
INTERACTIVE=False
do_expand_rootfs
printf "Please reboot\n"
exit 0
;;
--apply-os-config)
INTERACTIVE=False
do_apply_os_config
exit $?
;;
nonint)
INTERACTIVE=False
"$@"
exit $?
;;
*)
# unknown option
;;
esac
done
# Everything else needs to be run as root
if [ $(id -u) -ne 0 ]; then
printf "Script must be run as root. Try 'sudo brain-config'\n"
exit 1
fi
do_system_menu() {
FUN=$(whiptail --title "SHARP Brain Software Configuration Tool (brain-config)" --menu "System Options" $WT_HEIGHT $WT_WIDTH $WT_MENU_HEIGHT --cancel-button Back --ok-button Select \
"S1 Wireless LAN" "Enter SSID and passphrase" \
"S3 Password" "Change password for the '$USER' user" \
"S4 Hostname" "Set name for this computer on a network" \
3>&1 1>&2 2>&3)
RET=$?
if [ $RET -eq 1 ]; then
return 0
elif [ $RET -eq 0 ]; then
case "$FUN" in
S1\ *) do_wifi_ssid_passphrase ;;
S3\ *) do_change_pass ;;
S4\ *) do_hostname ;;
*) whiptail --msgbox "Programmer error: unrecognized option" 20 60 1 ;;
esac || whiptail --msgbox "There was an error running option $FUN" 20 60 1
fi
}
do_interface_menu() {
FUN=$(whiptail --title "SHARP Brain Software Configuration Tool (brain-config)" --menu "Interfacing Options" $WT_HEIGHT $WT_WIDTH $WT_MENU_HEIGHT --cancel-button Back --ok-button Select \
"I2 SSH" "Enable/disable remote command line access using SSH" \
3>&1 1>&2 2>&3)
RET=$?
if [ $RET -eq 1 ]; then
return 0
elif [ $RET -eq 0 ]; then
case "$FUN" in
I2\ *) do_ssh ;;
*) whiptail --msgbox "Programmer error: unrecognized option" 20 60 1 ;;
esac || whiptail --msgbox "There was an error running option $FUN" 20 60 1
fi
}
do_internationalisation_menu() {
FUN=$(whiptail --title "SHARP Brain Software Configuration Tool (brain-config)" --menu "Localisation Options" $WT_HEIGHT $WT_WIDTH $WT_MENU_HEIGHT --cancel-button Back --ok-button Select \
"L1 Locale" "Configure language and regional settings" \
"L2 Timezone" "Configure time zone" \
"L4 WLAN Country" "Set legal wireless channels for your country" \
3>&1 1>&2 2>&3)
RET=$?
if [ $RET -eq 1 ]; then
return 0
elif [ $RET -eq 0 ]; then
case "$FUN" in
L1\ *) do_change_locale ;;
L2\ *) do_change_timezone ;;
L4\ *) do_wifi_country ;;
*) whiptail --msgbox "Programmer error: unrecognized option" 20 60 1 ;;
esac || whiptail --msgbox "There was an error running option $FUN" 20 60 1
fi
}
do_advanced_menu() {
FUN=$(whiptail --title "SHARP Brain Software Configuration Tool (brain-config)" --menu "Advanced Options" $WT_HEIGHT $WT_WIDTH $WT_MENU_HEIGHT --cancel-button Back --ok-button Select \
"A1 Expand Filesystem" "Ensures that all of the SD card is available" \
"A4 Network Interface Names" "Enable/disable predictable network i/f names" \
3>&1 1>&2 2>&3)
RET=$?
if [ $RET -eq 1 ]; then
return 0
elif [ $RET -eq 0 ]; then
case "$FUN" in
A1\ *) do_expand_rootfs ;;
A4\ *) do_net_names ;;
*) whiptail --msgbox "Programmer error: unrecognized option" 20 60 1 ;;
esac || whiptail --msgbox "There was an error running option $FUN" 20 60 1
fi
}
#
# Interactive use loop
#
if [ "$INTERACTIVE" = True ]; then
[ -e $CONFIG ] || touch $CONFIG
calc_wt_size
while [ "$USER" = "root" ] || [ -z "$USER" ]; do
if ! USER=$(whiptail --inputbox "brain-config could not determine the default user.\\n\\nWhat user should these settings apply to?" 20 60 pi 3>&1 1>&2 2>&3); then
return 0
fi
done
while true; do
FUN=$(whiptail --title "SHARP Brain Software Configuration Tool (brain-config)" --menu "Setup Options" $WT_HEIGHT $WT_WIDTH $WT_MENU_HEIGHT --cancel-button Finish --ok-button Select \
"1 System Options" "Configure system settings" \
"5 Localisation Options" "Configure language and regional settings" \
"6 Advanced Options" "Configure advanced settings" \
"9 About brain-config" "Information about this configuration tool" \
3>&1 1>&2 2>&3)
RET=$?
if [ $RET -eq 1 ]; then
do_finish
elif [ $RET -eq 0 ]; then
case "$FUN" in
1\ *) do_system_menu ;;
5\ *) do_internationalisation_menu ;;
6\ *) do_advanced_menu ;;
9\ *) do_about ;;
*) whiptail --msgbox "Programmer error: unrecognized option" 20 60 1 ;;
esac || whiptail --msgbox "There was an error running option $FUN" 20 60 1
else
exit 1
fi
done
fi

View File

@ -1,6 +1,6 @@
#!/bin/sh
### BEGIN INIT INFO
# Provides: raspi-config
# Provides: brain-config
# Required-Start: udev mountkernfs $remote_fs
# Required-Stop:
# Default-Start: S 2 3 4 5

2
debian/brain-config.install vendored Normal file
View File

@ -0,0 +1,2 @@
brain-config /usr/bin
usr/

View File

@ -5,7 +5,7 @@ if [ -e /etc/init.d/switch_cpu_governor ]; then
fi
if dpkg --compare-versions "${2}" lt-nl "20170619"; then
update-rc.d -f raspi-config remove
update-rc.d -f brain-config remove
fi
#DEBHELPER#

View File

@ -1,5 +1,5 @@
#! /bin/sh
# prerm script for raspi-config
# prerm script for brain-config
#
# see: dh_installdeb(1)

922
debian/changelog vendored
View File

@ -1,921 +1,5 @@
raspi-config (20220506) bullseye; urgency=medium
brain-config (20220702) bullseye; urgency=medium
* Modify Wayland switching to work with AccountSettings
* Forked from raspi-config
-- Simon Long <simon@raspberrypi.com> Fri, 06 May 2022 14:07:57 +0100
raspi-config (20220425) bullseye; urgency=medium
* Tidy hardware detection functions
-- Simon Long <simon@raspberrypi.com> Mon, 25 Apr 2022 17:38:35 +0100
raspi-config (20220419) bullseye; urgency=medium
* Reinstate -R parameter for xcompmgr
-- Simon Long <simon@raspberrypi.com> Tue, 19 Apr 2022 10:36:34 +0100
raspi-config (20220331) bullseye; urgency=medium
[ Serge Schneider ]
* Remove nonint whiptail msgbox in do_overlayfs
* Update get_boot_cli
* Remove legacy autologin cruft
* Run systemctl daemon-reload after boot behaviour changes
* Make autologin changes quieter
[ Simon Long ]
* Add switching for experimental Wayland backend
* Fix incorrect detection of read-only boot partition
* Force xrandr to reload on non-mutter systems when overscan changed
-- Serge Schneider <serge@raspberrypi.com> Mon, 07 Mar 2022 09:26:38 +0000
raspi-config (20220303) bullseye; urgency=medium
* Use wildcards for KMS test
-- Simon Long <simon@raspberrypi.com> Thu, 03 Mar 2022 13:44:04 +0000
raspi-config (20220301) bullseye; urgency=medium
[ Serge Schneider ]
* pass -f flag to rm
* Fix init_resize.sh on Bullseye NOOBS images
[ Simon Long ]
* Rename is_fkms function to is_kms
* Remove pixel doubling for KMS systems
* Add on-the-fly overscan setting for KMS systems
* Use in-built is_kms function for cmstart script
-- Simon Long <simon@raspberrypi.com> Tue, 01 Mar 2022 11:56:27 +0000
raspi-config (20220126) bullseye; urgency=medium
* Modify overlay functions to match format of other nonint calls
-- Simon Long <simon@raspberrypi.com> Wed, 26 Jan 2022 14:55:17 +0000
raspi-config (20220112) bullseye; urgency=medium
* Run apt-get with '-y' flag when in nonint mode
- https://github.com/RPi-Distro/raspi-config/issues/177
-- Serge Schneider <serge@raspberrypi.com> Wed, 12 Jan 2022 09:04:54 +0000
raspi-config (20220110) bullseye; urgency=medium
* Add -q flag to wait.conf
- https://github.com/RPi-Distro/raspi-config/issues/173
-- Serge Schneider <serge@raspberrypi.com> Mon, 10 Jan 2022 11:54:26 +0000
raspi-config (20220106) bullseye; urgency=medium
[ garyk10 ]
* Make nonint do_change_locale work with encoding field as well (#167)
[ Aristo Chen ]
* Fix inconsistent indent (#165)
-- Serge Schneider <serge@raspberrypi.com> Thu, 06 Jan 2022 08:24:02 +0000
raspi-config (20211203) bullseye; urgency=medium
* Correct labelling for x86 version as well
-- Simon Long <simon@raspberrypi.com> Thu, 02 Dec 2021 18:39:04 +0000
raspi-config (20211202) bullseye; urgency=medium
* Correct labelling of entries in the interface menu
-- Simon Long <simon@raspberrypi.com> Thu, 02 Dec 2021 11:51:10 +0000
raspi-config (20211124) bullseye; urgency=medium
* Legacy camera mode switch added
-- Simon Long <simon@raspberrypi.com> Wed, 24 Nov 2021 16:45:14 +0000
raspi-config (20211111) bullseye; urgency=medium
* Changes to configuring of composite output under KMS
-- Simon Long <simon@raspberrypi.com> Thu, 11 Nov 2021 16:41:28 +0000
raspi-config (20211110) bullseye; urgency=medium
* Add VNC resolution option
-- Simon Long <simon@raspberrypi.com> Wed, 10 Nov 2021 11:28:55 +0000
raspi-config (20211103) bullseye; urgency=medium
* Use 'reboot' on initial resize instead of sysrq emergency reboot
-- Serge Schneider <serge@raspberrypi.com> Wed, 03 Nov 2021 17:50:52 +0000
raspi-config (20211019) bullseye; urgency=medium
* Add switching of glamor acceleration
-- Simon Long <simon@raspberrypi.com> Tue, 19 Oct 2021 18:35:03 +0100
raspi-config (20210927) bullseye; urgency=medium
* Remove resolution setting option under KMS
-- Simon Long <simon@raspberrypi.com> Mon, 27 Sep 2021 18:19:23 +0100
raspi-config (20210924) bullseye; urgency=medium
* Remove fake KMS option
-- Simon Long <simon@raspberrypi.com> Fri, 24 Sep 2021 14:32:52 +0100
raspi-config (20210923) bullseye; urgency=medium
* Updated the the wait.conf drop-in for the new dhcpcd5 package
-- Serge Schneider <serge@raspberrypi.com> Thu, 23 Sep 2021 18:24:05 +0100
raspi-config (20210922) bullseye; urgency=medium
* Handle 73-usb-net-by-mac.link when toggling network names
- https://github.com/RPi-Distro/raspi-config/issues/166
-- Serge Schneider <serge@raspberrypi.com> Wed, 22 Sep 2021 16:13:52 +0100
raspi-config (20210827) bullseye; urgency=medium
* Add switching for new camera detection in firmware
-- Simon Long <simon@raspberrypi.com> Fri, 27 Aug 2021 16:13:49 +0100
raspi-config (20210816) bullseye; urgency=medium
* Enable xcompmgr with full KMS as well as fKMS on all platforms
-- Simon Long <simon@raspberrypi.com> Mon, 16 Aug 2021 14:02:06 +0100
raspi-config (20210610) bullseye; urgency=medium
* Remove redundant xcompmgr parameter
-- Simon Long <simon@raspberrypi.com> Thu, 10 Jun 2021 17:02:43 +0100
raspi-config (20210604) bullseye; urgency=medium
* Disable xcompmgr when openbox not running
-- Simon Long <simon@raspberrypi.com> Fri, 04 Jun 2021 13:53:42 +0100
raspi-config (20210212) buster; urgency=medium
* Update boot order menu
-- Simon Long <simon@raspberrypi.com> Fri, 12 Feb 2021 12:07:27 +0000
raspi-config (20210119) buster; urgency=medium
* Move Pi 4 video output setting to advanced menu
-- Simon Long <simon@raspberrypi.com> Tue, 19 Jan 2021 14:51:58 +0000
raspi-config (20201108) buster; urgency=medium
* Fix typo in fan controller
-- Simon Long <simon@raspberrypi.com> Sun, 08 Nov 2020 11:37:08 +0000
raspi-config (20201027) buster; urgency=medium
* Add function to check whether board has an analog output jack
-- Simon Long <simon@raspberrypi.com> Tue, 27 Oct 2020 17:29:53 +0000
raspi-config (20201014) buster; urgency=medium
* Add PulseAudio output control
* Restructure menus to match GUI application
-- Simon Long <simon@raspberrypi.com> Wed, 14 Oct 2020 14:59:35 +0100
raspi-config (20201006) buster; urgency=medium
* Add fan control
-- Simon Long <simon@raspberrypi.com> Tue, 06 Oct 2020 15:17:39 +0100
raspi-config (20200902) buster; urgency=medium
* Add option to control power LED on Pi Zero
-- Simon Long <simon@raspberrypi.com> Wed, 02 Sep 2020 11:46:19 +0100
raspi-config (20200817) buster; urgency=medium
* Use processor ID to detect Pi 4 rather than board ID
-- Simon Long <simon@raspberrypi.com> Mon, 17 Aug 2020 09:24:09 +0100
raspi-config (20200727) buster; urgency=medium
* Disable initial rfkill for all platforms when setting wireless country
-- Simon Long <simon@raspberrypi.com> Mon, 27 Jul 2020 15:47:29 +0100
raspi-config (20200707) buster; urgency=medium
* Add boot ROM and boot order selection
-- Simon Long <simon@raspberrypi.com> Tue, 07 Jul 2020 09:24:56 +0100
raspi-config (20200601) buster; urgency=medium
* Fix audio device check bug when used in non-English locale
-- Simon Long <simon@raspberrypi.com> Mon, 01 Jun 2020 10:28:35 +0100
raspi-config (20200515) buster; urgency=medium
* Update initial resize script
- Change disk ID to avoid clashes
* Add support for USB resize
-- Serge Schneider <serge@raspberrypi.com> Fri, 15 May 2020 08:47:17 +0100
raspi-config (20200504) buster; urgency=medium
* Replace references to wifi
-- Simon Long <simon@raspberrypi.com> Mon, 04 May 2020 11:47:53 +0100
raspi-config (20200226) buster; urgency=medium
* Sync FKMS check with gldriver-test
* Fix is_pi check
-- Serge Schneider <serge@raspberrypi.org> Wed, 26 Feb 2020 17:51:20 +0000
raspi-config (20200207) buster; urgency=medium
* Fix bug preventing VNC from being disabled
-- Serge Schneider <serge@raspberrypi.org> Fri, 07 Feb 2020 12:59:29 +0000
raspi-config (20200205) buster; urgency=medium
* Add filter parameter to xrandr when setting pixel doubling
-- Simon Long <simon@raspberrypi.org> Wed, 05 Feb 2020 07:46:42 +0000
raspi-config (20200203) buster; urgency=medium
* Add pixel doubling option for FKMS using xrandr
-- Simon Long <simon@raspberrypi.org> Mon, 03 Feb 2020 09:36:38 +0000
raspi-config (20200120) buster; urgency=medium
* Add audio switching for discrete internal ALSA devices
-- Simon Long <simon@raspberrypi.org> Mon, 20 Jan 2020 11:38:37 +0000
raspi-config (20200117) buster; urgency=medium
* Add proxy configuration
* Handle cases where SUDO_USER is unset
* Fix VNC options
* Install required packages when changing GL settings
* Add warning when enabling SSH
* OverlayFS - try loading module from rootfs
* OverlayFS - remove initramfs when disabled
-- Serge Schneider <serge@raspberrypi.org> Fri, 17 Jan 2020 11:50:54 +0000
raspi-config (20191210) buster; urgency=medium
* Fix postrm script
-- Serge Schneider <serge@raspberrypi.org> Tue, 10 Dec 2019 14:22:08 +0000
raspi-config (20191209) buster; urgency=medium
* Add option to enable/disable screen blanking
* Simplify source package
-- Serge Schneider <serge@raspberrypi.org> Mon, 09 Dec 2019 16:20:44 +0000
raspi-config (20191021) buster; urgency=medium
* Add initramfs as dependency for overlayfs
-- Simon Long <simon@raspberrypi.org> Mon, 21 Oct 2019 14:44:54 +0100
raspi-config (20191008) buster; urgency=medium
* Remove pixel doubling option for x86
-- Simon Long <simon@raspberrypi.org> Tue, 08 Oct 2019 10:19:48 +0100
raspi-config (20191005) buster; urgency=medium
* Add overlay file system functions
-- Simon Long <simon@raspberrypi.org> Fri, 05 Oct 2019 10:13:58 +0100
raspi-config (20190917) buster; urgency=medium
* Enable overscan for FKMS
-- Simon Long <simon@raspberrypi.org> Tue, 17 Sep 2019 15:34:56 +0100
raspi-config (20190709) buster; urgency=medium
* Rename hdmi_enable_4k to hdmi_enable_4kp60
-- Simon Long <simon@raspberrypi.org> Tue, 09 Jul 2019 13:48:03 +0100
raspi-config (20190620) buster; urgency=medium
* get_wifi_country: call save_config instead of reconfigure
- Prevents WiFi from disconnecting
-- Serge Schneider <serge@raspberrypi.org> Thu, 20 Jun 2019 20:01:06 +0100
raspi-config (20190619) buster; urgency=medium
[ Simon Long ]
* Fix composite output options for Pi 4
* Keep splash screen settings when changing GPU options
-- Serge Schneider <serge@raspberrypi.org> Wed, 19 Jun 2019 15:49:38 +0100
raspi-config (20190607) buster; urgency=medium
[ Simon Long ]
* Only run xcompmgr if FKMS is enabled
-- Serge Schneider <serge@raspberrypi.org> Fri, 07 Jun 2019 16:11:11 +0100
raspi-config (20190520) buster; urgency=medium
[ Simon Long ]
* Add Pi 4 video options
-- Serge Schneider <serge@raspberrypi.org> Mon, 20 May 2019 11:01:12 +0100
raspi-config (20190514) buster; urgency=medium
[ Simon Long ]
* Add FKMS check
* Disable pixel doubling when FKMS is enabled
-- Serge Schneider <serge@raspberrypi.org> Tue, 14 May 2019 15:38:17 +0100
raspi-config (20190509) buster; urgency=medium
* init_resize.sh: Remove sdhci.debug_quirks2=4 from /boot/cmdline.txt
-- Serge Schneider <serge@raspberrypi.org> Thu, 09 May 2019 13:38:34 +0100
raspi-config (20190507) buster; urgency=medium
[ Simon Long ]
* Switch from compton to xcompmgr
* Tweak get_wifi_country to work with the desktop applet
-- Serge Schneider <serge@raspberrypi.org> Tue, 07 May 2019 16:03:15 +0100
raspi-config (20190502) buster; urgency=medium
* Use wpa_cli to check WiFi country setting
-- Serge Schneider <serge@raspberrypi.org> Thu, 02 May 2019 13:22:49 +0100
raspi-config (20190429) buster; urgency=medium
* Update do_wifi_country
- Enable wifi regardless of whether /run/wifi-country-unset exists
* Make sure SSH host keys are generated when SSH is enabled
-- Serge Schneider <serge@raspberrypi.org> Mon, 29 Apr 2019 14:52:56 +0100
raspi-config (20190424) stretch; urgency=medium
* Add Compton option to advanced options
-- Simon Long <simon@raspberrypi.org> Wed, 24 Apr 2019 13:45:54 +0100
raspi-config (20190423) stretch; urgency=medium
* Change autologin $TERM; tweaks to overclock wording
-- Simon Long <simon@raspberrypi.org> Tue, 23 Apr 2019 08:19:08 +0100
raspi-config (20190219) stretch; urgency=medium
* Update autologin behaviour for compatibility with buster
-- Simon Long <simon@raspberrypi.org> Tue, 19 Feb 2019 10:07:01 +0000
raspi-config (20181118) stretch; urgency=medium
* Set TTY autologin correctly when using desktop autologin
-- Simon Long <simon@raspberrypi.org> Sun, 18 Nov 2018 10:59:01 +0000
raspi-config (20180518) stretch; urgency=medium
* Add separate settings for serial hardware and console
-- Simon Long <simon@raspberrypi.org> Fri, 18 May 2018 07:29:57 +0100
raspi-config (20180406+1) stretch; urgency=medium
* Fix Wi-Fi country setting
-- Serge Schneider <serge@raspberrypi.org> Fri, 06 Apr 2018 14:28:02 +0100
raspi-config (20180406) stretch; urgency=medium
* Set Wi-Fi country while connecting to SSID
-- Serge Schneider <serge@raspberrypi.org> Fri, 06 Apr 2018 13:40:21 +0100
raspi-config (20180228) stretch; urgency=medium
* Setting Wi-Fi country no longer requires a reboot
-- Serge Schneider <serge@raspberrypi.org> Wed, 28 Feb 2018 17:28:50 +0000
raspi-config (20171201) stretch; urgency=medium
* Add pixel doubling option
-- Simon Long <simon@raspberrypi.org> Fri, 01 Dec 2017 08:05:53 +0000
raspi-config (20171127) stretch; urgency=medium
* Allow entering SSID and passphrase (#68)
* Console keyboard layout changes effective immediately (#67)
* Formatting fixes (#70)
* Add non-interactive timezone, locale and keyboard configuration
* Modify architecture test for piserver
-- Simon Long <simon@raspberrypi.org> Mon, 27 Nov 2017 10:14:37 +0000
raspi-config (20170926) stretch; urgency=medium
* Add option to enable predictable network interface names
-- Serge Schneider <serge@raspberrypi.org> Tue, 26 Sep 2017 12:32:25 +0100
raspi-config (20170811) stretch; urgency=medium
* Only restart pigpio daemon if it is running
-- Simon Long <simon@raspberrypi.org> Fri, 11 Aug 2017 14:40:50 +0100
raspi-config (20170803) stretch; urgency=medium
* Allow splash screen with fake KMS.
-- Simon Long <simon@raspberrypi.org> Thu, 03 Aug 2017 10:11:08 +0100
raspi-config (20170714) stretch; urgency=medium
[Simon Long]
* Autologin operations now all use current user rather than defaulting to pi
* initd support removed
[Serge Schneider]
* Add pi model as backtitle
* Define memory split units
* Fix NOOBS config keyboard setup
-- Serge Schneider <serge@raspberrypi.org> Fri, 14 Jul 2017 12:34:21 +0100
raspi-config (20170711) stretch; urgency=medium
* Fix wait for network option
* Bump compat level to 9
-- Serge Schneider <serge@raspberrypi.org> Tue, 11 Jul 2017 11:47:34 +0100
raspi-config (20170704) stretch; urgency=medium
* Remove unnecessary sudo from apt-get
-- Simon Long <simon@raspberrypi.org> Tue, 04 Jul 2017 10:28:55 +0100
raspi-config (20170627) stretch; urgency=medium
* Change configuration for GL driver - no compton, keep fbturbo, allow on Pi 1 and Pi 0
-- Simon Long <simon@raspberrypi.org> Tue, 27 Jun 2017 11:56:21 +0100
raspi-config (20170619) stretch; urgency=medium
* Start service on all runlevels
-- Serge Schneider <serge@raspberrypi.org> Mon, 19 Jun 2017 09:14:40 +0000
raspi-config (20170518) jessie; urgency=medium
* Improve x86 splash screen command line handling to remove spurious arguments and spaces
-- Simon Long <simon@raspberrypi.org> Thu, 18 May 2017 13:19:27 +0100
raspi-config (20170503) jessie; urgency=medium
* Correctly handle GRUB command line options for splash screen on x86
-- Simon Long <simon@raspberrypi.org> Wed, 03 May 2017 11:30:57 +0100
raspi-config (20170307) jessie; urgency=medium
* Run init_resize.sh through shellcheck
* Improve init_resize.sh reliability
-- Serge Schneider <serge@raspberrypi.org> Tue, 07 Mar 2017 13:49:57 +0000
raspi-config (20170228) jessie; urgency=medium
* Added detection of 0 W boards
-- Simon Long <simon@raspberrypi.org> Tue, 28 Feb 2017 10:06:36 +0000
raspi-config (20170214) jessie; urgency=medium
* Allow compton with fake KMS driver; modified check for ARM architecture
-- Simon Long <simon@raspberrypi.org> Tue, 14 Feb 2017 14:47:58 +0000
raspi-config (20170127) jessie; urgency=medium
* Prevent keyboard language from being configured over SSH
-- Simon Long <simon@raspberrypi.org> Fri, 27 Jan 2017 16:15:56 +0000
raspi-config (20170120) jessie; urgency=medium
* Mods to support use on x86; fake KMS option added for GL driver
-- Simon Long <simon@raspberrypi.org> Fri, 20 Jan 2017 14:19:18 +0000
raspi-config (20161207) jessie; urgency=medium
* Use compton for compositing with GL driver instead of xcompmgr
-- Simon Long <simon@raspberrypi.org> Wed, 07 Dec 2016 12:43:26 +0000
raspi-config (20161206) jessie; urgency=medium
* Menus reorganised; resolution setting added
-- Simon Long <simon@raspberrypi.org> Tue, 06 Dec 2016 13:43:32 +0000
raspi-config (20161114) jessie; urgency=medium
* Restore -a option for xcompmgr; disable splash screen with GL driver
-- Simon Long <simon@raspberrypi.org> Mon, 14 Nov 2016 14:25:19 +0000
raspi-config (20161108) jessie; urgency=medium
* init_resize.sh: Remove clash with pix-plym-splash
-- Serge Schneider <serge@raspberrypi.org> Tue, 08 Nov 2016 17:34:00 +0000
raspi-config (20161102) jessie; urgency=medium
* Sed processing of autologin options modified to improve robustness
-- Simon Long <simon@raspberrypi.org> Wed, 02 Nov 2016 15:02:45 +0000
raspi-config (20161013) jessie; urgency=medium
* Rastrack option removed
* Splash screen control added
-- Simon Long <simon@raspberrypi.org> Thu, 13 Oct 2016 13:53:54 +0100
raspi-config (20160527) jessie; urgency=medium
[ Simon Long ]
* Function to read hostname added
* Function added to get wifi country
* Functions to detect boot behaviour added
* Test functions added for remote GPIO and slow boot
* Added some functions to read current state for use by rc_gui
* Requirement for reboot removed from SPI and I2C settings
* A lot of NOTs taken out of serial test
* Status indications moved to end of some functions
* Overscan description amended
* Check for fs expandability added; overscan function matches others
* Added more success / fail feedback to settings
* Global check for mountpoint and existence of /boot/config.txt
* Checking of initial state added for camera and 1-wire
* Unnecessary reboots removed
* Some function names changed for consistency
* GL driver setting aligned with other functions
* Functions to control remote GPIO and boot wait for network aligned
* Tidied function to control remote GPIO access
-- Serge Schneider <serge@raspberrypi.org> Fri, 27 May 2016 11:10:11 +0100
raspi-config (20160506) jessie; urgency=medium
[ Axel Beckert ]
* Downgrade hard dependency on triggerhappy to recommendation.
+ init script: Check if thd is present before using it.
[ Simon Long ]
* New method for testing whether serial is enabled.
* Current state of serial i/f reflected in raspi-config.
* Menu option to toggle device tree removed.
-- Serge Schneider <serge@raspberrypi.org> Fri, 06 May 2016 18:41:58 +0100
raspi-config (20160428) jessie; urgency=medium
* [Simon Long]
- dtparam used instead of modprobe for SPI and I2C
-- Serge Schneider <serge@raspberrypi.org> Thu, 28 Apr 2016 15:42:42 +0100
raspi-config (20160425) jessie; urgency=medium
* [Simon Long]
- Merge - Prevent errors when enabling "Fast" network boot multiple times
- UART switch added to serial; GPIO server public access finished
- Skeleton added for setting security state of GPIO server
- Reads in gpu_mem_<size> settings and clears them when writing
* [Serge Schneider]
- Remove io_is_busy
-- Serge Schneider <serge@raspberrypi.org> Mon, 25 Apr 2016 11:58:48 +0100
raspi-config (20160322) jessie; urgency=medium
* [Simon Long]
- 1-wire interface control added
- Wifi country code setting now creates wpa_supplicant.conf
if it doesn't exist
* [Serge Schneider]
- Add first boot resize script
-- Serge Schneider <serge@raspberrypi.org> Tue, 22 Mar 2016 16:45:29 +0000
raspi-config (20160225) jessie; urgency=medium
* Added wi-fi country setting to raspi-config
* Wifi setting in raspi-config can now be called in non-interactive mode.
* Mods to support new serial device alias in cmdline.txt.
-- Serge Schneider <serge@raspberrypi.org> Thu, 25 Feb 2016 07:48:56 +0000
raspi-config (20160210) jessie; urgency=medium
* Pi board checks now take account of warranty bits.
-- Serge Schneider <serge@raspberrypi.org> Tue, 09 Feb 2016 16:16:58 +0000
raspi-config (20160209) jessie; urgency=medium
* Check for mesa driver before allowing GL driver to be enabled
-- Serge Schneider <serge@raspberrypi.org> Tue, 09 Feb 2016 13:56:44 +0000
raspi-config (20160201) jessie; urgency=medium
* Compute Module added to is_pione
-- Serge Schneider <serge@raspberrypi.org> Mon, 01 Feb 2016 12:28:22 +0000
raspi-config (20160125) jessie; urgency=medium
* Do not allow GL driver to be enabled on 2835-based Pis - it needs at least 1GB of RAM.
* Overclocking behaviour made board-specific.
-- Serge Schneider <serge@raspberrypi.org> Mon, 25 Jan 2016 12:29:54 +0000
raspi-config (20160121) jessie; urgency=medium
* GPU memory reset to default when GL driver enabled
* Launch of simple compositor added when GL driver is enabled
* Filename of V3d overlay corrected
-- Serge Schneider <serge@raspberrypi.org> Thu, 21 Jan 2016 11:12:49 +0000
raspi-config (20160119) jessie; urgency=medium
* Option added to select experimental GL driver
-- Serge Schneider <serge@raspberrypi.org> Tue, 19 Jan 2016 13:56:53 +0000
raspi-config (20160108) jessie; urgency=medium
* Update URL
* Remove first boot auto-login files
* Fix auto-login
* Fix typos
-- Serge Schneider <serge@raspberrypi.org> Fri, 08 Jan 2016 10:44:05 +0000
raspi-config (20151117) jessie; urgency=medium
* raspi-config modified to remove config variables rather than set default
values when overclocking
-- Serge Schneider <serge@raspberrypi.org> Tue, 17 Nov 2015 11:35:14 +0000
raspi-config (20151019) jessie; urgency=medium
* Add alsa-utils dependency
* Remove unnecessary sudo in init script
* Add wait for network option
-- Serge Schneider <serge@raspberrypi.org> Mon, 19 Oct 2015 13:01:26 +0100
raspi-config (20150923) jessie; urgency=medium
* Auto-login to desktop and console option for rc_gui
-- Serge Schneider <serge@raspberrypi.org> Wed, 23 Sep 2015 21:25:52 +0100
raspi-config (20150915) jessie; urgency=medium
* Add support for rc_gui from spl
-- Serge Schneider <serge@raspberrypi.org> Tue, 15 Sep 2015 10:23:52 +0100
raspi-config (20150706) jessie; urgency=low
* Include io_is_busy in cpufreq settings
* Bump standards version to 3.9.6
-- Serge Schneider <serge@raspberrypi.org> Mon, 06 Jul 2015 08:59:56 +0100
raspi-config (20150603) jessie; urgency=low
* systemd compatibility
* Add udevadm command to notify Xorg after change of keyboard layout - jojopi
* Remove boot to scratch
-- Serge Schneider <serge@raspberrypi.org> Fri, 29 May 2015 11:31:46 +0100
raspi-config (20150131-4) stable; urgency=low
* Use dh_installinit --no-start instead of --noscripts to ensure raspi-config runs
-- Serge Schneider <serge@raspberrypi.org> Thu, 14 May 2015 18:09:47 +0100
raspi-config (20150131-3) unstable; urgency=low
* Add prerm failed-upgrade to allow upgrades
-- Serge Schneider <serge@raspberrypi.org> Wed, 06 May 2015 15:33:35 +0100
raspi-config (20150131-2) unstable; urgency=low
* Prevent postinstall from trying to stop /etc/init.d/raspi-config
dh_installinit --noscripts
-- Serge Schneider <serge@raspberrypi.org> Wed, 06 May 2015 14:23:57 +0100
raspi-config (20150131-1) unstable; urgency=low
* Add Pi2 overclock preset
* Ask whether to reboot after changing devicetree
* Remove old switch_cpu_governor init script upon install
-- Alex Bradbury <asb@asbradbury.org> Sat, 31 Jan 2015 20:17:40 +0000
raspi-config (20150129-1) unstable; urgency=low
* Add devicetree support (thanks Phil Elwell)
* Always include the ondemand governor init script
* Tweak ondemand cpu scaling governor settings
-- Alex Bradbury <asb@asbradbury.org> Thu, 29 Jan 2015 23:40:15 +0000
raspi-config (20140902-1) unstable; urgency=low
* Add option to toggle i2c and serial
-- Alexander Bradbury <asb@asbradbury.org> Tue, 02 Sep 2014 17:26:06 +0100
raspi-config (20131216-1) unstable; urgency=low
* Add option to configure audio out
* Fail boot to scratch or boot to desktop setting when pi user was removed
* When enabling camera, only set gpu mem if it's unset or < 128MiB
-- Alexander Bradbury <asb@asbradbury.org> Mon, 16 Dec 2013 21:50:38 +0000
raspi-config (20130925-1) unstable; urgency=low
* Fix issue inheriting language settings from NOOBS
* Add ability to toggle spi module blacklisting
-- Alex Bradbury <asb@asbradbury.org> Wed, 25 Sep 2013 20:55:34 +0100
raspi-config (20130910-1) unstable; urgency=low
* Bugfix for boot to scratch
* Bugfix for detecting flavour set by NOOBS
-- Alexander Bradbury <asb@asbradbury.org> Tue, 10 Sep 2013 14:36:14 +0100
raspi-config (20130909-1) unstable; urgency=low
* Support boot to scratch and applying language/keyboard settings from noobs
-- Alexander Bradbury <asb@asbradbury.org> Mon, 09 Sep 2013 23:53:58 +0100
raspi-config (20130525-1) unstable; urgency=low
* Use start_x rather than startx in config.txt for enabling camera to reduce
confusion
-- Alex Bradbury <asb@asbradbury.org> Sat, 25 May 2013 17:15:07 +0100
raspi-config (20130525) unstable; urgency=low
* Tweak height of whiptail display (thanks Rob Bishop)
* Fix issue of gpu_mem=16 not working when camera is enabled
-- Alex Bradbury <asb@asbradbury.org> Sat, 25 May 2013 16:49:19 +0100
raspi-config (20130522) unstable; urgency=low
* Re-organise menus and give better explanations for options (thanks Rob
Bishop)
* Refuse to expand_rootfs on NOOBS partition layouts.
-- Alex Bradbury <asb@asbradbury.org> Wed, 22 May 2013 20:51:07 +0100
raspi-config (20130520) unstable; urgency=low
* Make expand_rootfs work if /dev/root is not second partition
-- Alex Bradbury <asb@asbradbury.org> Mon, 20 May 2013 19:48:02 +0100
raspi-config (20130515) unstable; urgency=low
* Lower cpufreq threshold when overclocking
-- Alex Bradbury <asb@asbradbury.org> Wed, 15 May 2013 19:47:40 +0100
raspi-config (20130510) unstable; urgency=low
* Added support for registering on rastrack (thanks Ryan Walmsley)
* Added ability to set hostname (thanks Andrew Stone)
* Added --expand-rootfs option (thanks Viktor Petersson)
* Added ability to enable Raspberry Pi camera support
-- Alex Bradbury <asb@asbradbury.org> Fri, 10 May 2013 12:19:42 +0100
raspi-config (20121028) unstable; urgency=low
* Update overclocking options
* Disable command-line options for non-interactive use
* Support new gpu_mem config option
-- Alex Bradbury <asb@asbradbury.org> Sun, 28 Oct 2012 21:11:34 +0000
raspi-config (20120918) unstable; urgency=low
* Add overclocking options
* Add command-line options for non-interactive use (James Hewitt)
-- Alexander Bradbury <asb@asbradbury.org> Tue, 18 Sep 2012 12:02:13 +0100
raspi-config (20120815) unstable; urgency=low
* Various updates, recognise 240M memory split
-- Alex Bradbury <asb@asbradbury.org> Wed, 15 Aug 2012 23:10:03 +0000
raspi-config (20120715) unstable; urgency=low
* Various updates
-- Alex Bradbury <asb@asbradbury.org> Sun, 15 Jul 2012 19:47:39 +0100
raspi-config (20120617) unstable; urgency=low
* Fix keyboard configuration, misc other enhancements
* See git log for full changelog
-- Alex Bradbury <asb@asbradbury.org> Sun, 17 Jun 2012 19:36:20 +0100
raspi-config (20120610) unstable; urgency=low
* Initial release
-- Alex Bradbury <asb@asbradbury.org> Sun, 10 Jun 2012 15:59:17 +0000
-- Brain Hackers <dummy@example.com> Sat, 02 Jul 2022 23:13:50 +0900

13
debian/control vendored
View File

@ -1,15 +1,14 @@
Source: raspi-config
Source: brain-config
Section: utils
Priority: optional
Maintainer: Serge Schneider <serge@raspberrypi.com>
Maintainer: Brain Hackers <dummy@example.com>
Build-Depends: debhelper (>= 8.0.0)
Standards-Version: 4.3.0
Vcs-Git: git://git@github.com:RPi-Distro/raspi-config.git
Vcs-Browser: https://github.com/RPi-Distro/raspi-config
Vcs-Git: git@github.com:brain-hackers/brain-config.git
Vcs-Browser: https://github.com/brain-hackers/brain-config
Package: raspi-config
Package: brain-config
Architecture: all
Depends: ${misc:Depends}, whiptail, parted, lua5.1, alsa-utils, psmisc, initramfs-tools
Recommends: triggerhappy, iw
Description: Raspberry Pi configuration tool
A simple configuration tool for common Raspberry Pi administrative tasks
Description: SHARP Brain configuration tool

4
debian/copyright vendored
View File

@ -1,8 +1,8 @@
Format: https://www.debian.org/doc/packaging-manuals/copyright-format/1.0/
Source: https://github.com/RPi-Distro/raspi-config
Source: https://github.com/brain-hackers/brain-config
Files: *
Copyright: 2012 Alex Bradbury <asb@asbradbury.org>
Copyright: 2022 Brain Hackers <dummy@example.com>
License: MIT
License: MIT

View File

@ -1,3 +0,0 @@
raspi-config /usr/bin
usr/
etc/

View File

@ -1,5 +0,0 @@
Defaults env_keep += "http_proxy HTTP_PROXY"
Defaults env_keep += "https_proxy HTTPS_PROXY"
Defaults env_keep += "ftp_proxy FTP_PROXY"
Defaults env_keep += "RSYNC_PROXY"
Defaults env_keep += "no_proxy NO_PROXY"

File diff suppressed because it is too large Load Diff

View File

@ -1,17 +1,9 @@
#!/bin/sh
reboot_pi () {
reboot_brain () {
umount /boot
mount / -o remount,ro
sync
if [ "$NOOBS" = "1" ]; then
if [ "$NEW_KERNEL" = "1" ]; then
reboot -f "$BOOT_PART_NUM"
sleep 5
else
echo "$BOOT_PART_NUM" > "/sys/module/${BCM_MODULE}/parameters/reboot_part"
fi
fi
reboot -f
sleep 5
exit 0
@ -32,14 +24,6 @@ check_commands () {
return 0
}
check_noobs () {
if [ "$BOOT_PART_NUM" = "1" ]; then
NOOBS=0
else
NOOBS=1
fi
}
get_variables () {
ROOT_PART_DEV=$(findmnt / -o source -n)
ROOT_PART_NAME=$(echo "$ROOT_PART_DEV" | cut -d "/" -f 3)
@ -54,8 +38,6 @@ get_variables () {
OLD_DISKID=$(fdisk -l "$ROOT_DEV" | sed -n 's/Disk identifier: 0x\([^ ]*\)/\1/p')
check_noobs
ROOT_DEV_SIZE=$(cat "/sys/block/${ROOT_DEV_NAME}/size")
TARGET_END=$((ROOT_DEV_SIZE - 1))
@ -66,13 +48,6 @@ get_variables () {
ROOT_PART_LINE=$(echo "$PARTITION_TABLE" | grep -e "^${ROOT_PART_NUM}:")
ROOT_PART_START=$(echo "$ROOT_PART_LINE" | cut -d ":" -f 2)
ROOT_PART_END=$(echo "$ROOT_PART_LINE" | cut -d ":" -f 3)
if [ "$NOOBS" = "1" ]; then
EXT_PART_LINE=$(echo "$PARTITION_TABLE" | grep ":::;" | head -n 1)
EXT_PART_NUM=$(echo "$EXT_PART_LINE" | cut -d ":" -f 1)
EXT_PART_START=$(echo "$EXT_PART_LINE" | cut -d ":" -f 2)
EXT_PART_END=$(echo "$EXT_PART_LINE" | cut -d ":" -f 3)
fi
}
fix_partuuid() {
@ -97,15 +72,6 @@ EOF
}
check_variables () {
if [ "$NOOBS" = "1" ]; then
if [ "$EXT_PART_NUM" -gt 4 ] || \
[ "$EXT_PART_START" -gt "$ROOT_PART_START" ] || \
[ "$EXT_PART_END" -lt "$ROOT_PART_END" ]; then
FAIL_REASON="Unsupported extended partition"
return 1
fi
fi
if [ "$BOOT_DEV_NAME" != "$ROOT_DEV_NAME" ]; then
FAIL_REASON="Boot and root partitions are on different devices"
return 1
@ -127,18 +93,6 @@ check_variables () {
fi
}
check_kernel () {
MAJOR="$(uname -r | cut -f1 -d.)"
MINOR="$(uname -r | cut -f2 -d.)"
if [ "$MAJOR" -eq "4" ] && [ "$MINOR" -lt "9" ]; then
return 0
fi
if [ "$MAJOR" -lt "4" ]; then
return 0
fi
NEW_KERNEL=1
}
main () {
get_variables
@ -146,25 +100,8 @@ main () {
return 1
fi
check_kernel
if [ "$NOOBS" = "1" ] && [ "$NEW_KERNEL" != "1" ]; then
BCM_MODULE=$(grep -e "^Hardware" /proc/cpuinfo | cut -d ":" -f 2 | tr -d " " | tr '[:upper:]' '[:lower:]')
if ! modprobe "$BCM_MODULE"; then
FAIL_REASON="Couldn't load BCM module $BCM_MODULE"
return 1
fi
fi
if [ "$ROOT_PART_END" -eq "$TARGET_END" ]; then
reboot_pi
fi
if [ "$NOOBS" = "1" ]; then
if ! printf "resizepart %s\nyes\n%ss\n" "$EXT_PART_NUM" "$TARGET_END" | parted "$ROOT_DEV" ---pretend-input-tty; then
FAIL_REASON="Extended partition resize failed"
return 1
fi
reboot_brain
fi
if ! parted -m "$ROOT_DEV" u s resizepart "$ROOT_PART_NUM" "$TARGET_END"; then
@ -185,7 +122,7 @@ mkdir -p /run/systemd
mount /boot
mount / -o remount,ro
sed -i 's| init=/usr/lib/raspi-config/init_resize\.sh||' /boot/cmdline.txt
sed -i 's| init=/usr/lib/brain-config/init_resize\.sh||' /boot/cmdline.txt
sed -i 's| sdhci\.debug_quirks2=4||' /boot/cmdline.txt
if ! grep -q splash /boot/cmdline.txt; then
@ -195,15 +132,15 @@ mount /boot -o remount,ro
sync
if ! check_commands; then
reboot_pi
reboot_brain
fi
if main; then
whiptail --infobox "Resized root filesystem. Rebooting in 5 seconds..." 20 60
sleep 5
else
whiptail --msgbox "Could not expand filesystem, please try raspi-config or rc_gui.\n${FAIL_REASON}" 20 60
whiptail --msgbox "Could not expand filesystem, please try brain-config or rc_gui.\n${FAIL_REASON}" 20 60
sleep 5
fi
reboot_pi
reboot_brain

View File

@ -1,6 +0,0 @@
#!/bin/sh
if raspi-config nonint is_kms ; then
if ps ax | grep -v grep | grep -q openbox ; then
exec xcompmgr -aR
fi
fi

View File

@ -1,11 +0,0 @@
Section "Extensions"
Option "DPMS" "Disable"
EndSection
Section "ServerLayout"
Identifier "ServerLayout0"
Option "StandbyTime" "0"
Option "SuspendTime" "0"
Option "OffTime" "0"
Option "BlankTime" "0"
EndSection