9 Commits

Author SHA1 Message Date
Takumi Sueda
fa8cc9817b Update changelog 2023-03-27 17:09:40 +09:00
Takumi Sueda
fe188624c3 Add USB role configuration 2023-03-22 03:58:56 +09:00
Takumi Sueda
fa182a3348 Correct menu numbering / resurrect the interface menu 2023-03-22 03:28:41 +09:00
Takumi Sueda
bdd36153eb Merge pull request #1 from brain-hackers/brain
raspi-config -> brain-config
2022-08-07 18:32:25 +09:00
Takumi Sueda
be4af19fb8 Build on GitHub Actions 2022-08-07 12:12:10 +09:00
Takumi Sueda
fcbed7d6fa Remove unused files 2022-08-07 12:12:06 +09:00
Takumi Sueda
ab773c60b2 Replace and rename raspi -> brain 2022-08-07 12:12:06 +09:00
Takumi Sueda
6dacfaef74 init_resize: remove RasPi lines 2022-08-07 12:12:02 +09:00
Takumi Sueda
47b00abe54 Remove unused commands 2022-08-07 12:11:56 +09:00
4 changed files with 105 additions and 70 deletions

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')

View File

@@ -35,62 +35,46 @@ jobs:
github_token: ${{ secrets.GITHUB_TOKEN }} github_token: ${{ secrets.GITHUB_TOKEN }}
- name: Create release - name: Create release
id: create_release id: create_release
uses: actions/create-release@v1 uses: softprops/action-gh-release@v1
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with: with:
tag_name: ${{ env.RELEASE_TAG_NAME }}
release_name: ${{ steps.release_name.outputs.name }}
body_path: CHANGES.md body_path: CHANGES.md
draft: false draft: false
prerelease: true prerelease: true
name: ${{ steps.release_name.outputs.name }}
tag_name: ${{ env.RELEASE_TAG_NAME }}
# build-linux: build-linux:
# runs-on: ubuntu-20.04 runs-on: ubuntu-20.04
# needs: [create_release] needs: [create_release]
# steps: steps:
# - uses: actions/checkout@v2 - uses: actions/checkout@v2
# with: with:
# submodules: true submodules: true
# - name: Workaround for apt update failure - name: Workaround for apt update failure
# run: sudo rm /etc/apt/sources.list.d/github_git-lfs.* run: sudo rm /etc/apt/sources.list.d/github_git-lfs.*
# - name: Install deps - name: Prepare packaging & packagecloud CLI
# run: sudo apt update && sudo apt install build-essential bison flex libncurses5-dev gcc-arm-linux-gnueabi qemu-user-static debootstrap python3-pip run: |
# - name: Upgrade pip and setuptools sudo apt update
# run: pip3 install -U pip setuptools sudo apt install debhelper ruby-dev
# - name: Install listconfig sudo gem install package_cloud
# run: pip3 install listconfig - name: Build the Debian package
# - name: Configure for Linux run: ./debian/rules build && sudo ./debian/rules binary
# run: make ldefconfig - name: Generate archive name
# - name: Build Linux id: archive_name
# run: make lbuild run: echo ::set-output name=name::$(python .github/archive_name.py)
# - name: Setup releases - name: Upload the package to GitHub
# id: release_name uses: actions/upload-release-asset@v1
# run: | env:
# mkdir release GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
# cp ./linux-brain/arch/arm/boot/dts/imx28-pwsh*.dtb release/ with:
# cp ./linux-brain/arch/arm/boot/zImage release/zImage upload_url: ${{ needs.create_release.outputs.upload_url }}
# zip -r release.zip release/ asset_path: ../${{ steps.archive_name.outputs.name }}
# - name: Generate archive name asset_name: ${{ steps.archive_name.outputs.name }}
# id: archive_name asset_content_type: application/vnd.debian.binary-package
# run: echo ::set-output name=name::linux-${GITHUB_REF/refs\/*s\//} - name: Upload the package to packagecloud
# - name: Upload release.zip env:
# uses: actions/upload-release-asset@v1 USERNAME: brainhackers
# env: REPO: brainux/any/any
# GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} PACKAGECLOUD_TOKEN: ${{ secrets.PACKAGECLOUD_TOKEN }}
# with: run: |
# upload_url: ${{ needs.create_release.outputs.upload_url }} package_cloud push "${USERNAME}/${REPO}" "../${{steps.archive_name.outputs.name}}"
# asset_path: release.zip
# asset_name: ${{ steps.archive_name.outputs.name }}.zip
# asset_content_type: application/zip
# - name: Generate listconfig
# run: listconfig ./linux-brain/Kconfig ./linux-brain/.config > listconfig
# - name: Upload listconfig
# uses: actions/upload-release-asset@v1
# env:
# GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
# with:
# upload_url: ${{ needs.create_release.outputs.upload_url }}
# asset_path: listconfig
# asset_name: listconfig
# asset_content_type: text/plain

View File

@@ -295,6 +295,38 @@ do_ssh() {
fi fi
} }
do_usb() {
if [ "$INTERACTIVE" = True ]; then
MODE=$(whiptail --menu "Select the role of the USB Host Controller." 20 60 10 "host" "USB Host Mode" "peripheral" "USB Device Mode (for Gadget)" 3>&1 1>&2 2>&3)
else
MODE=$1
true
fi
MODEL=$(cat /sys/firmware/devicetree/base/compatible | grep -Eao 'pw-[a-z0-9]+' | sed -E 's/-//g')
DTB="/boot/imx28-${MODEL}.dtb"
DTS=`mktemp`
if [ "${MODE}" != "host" -a "${MODE}" != "peripheral" ]; then
echo "Specify the mode from 'host' or 'peripheral'."
return 1
fi
dtc -I dtb -O dts ${DTB} > ${DTS} 2> /dev/null
RE='(^[\t ]*dr_mode[\t ]*=[\t ]*\")(.*)(\"[\t ]*;[\t ]*$)'
CURRENT=`sed -En "s|${RE}|\2|p" ${DTS} | head -1`
if [ "${CURRENT}" != "${MODE}" ]; then
mount -o rw,remount /boot
echo "Changing dr_mode to ${MODE}"
sed -Ei "s|${RE}|\1${MODE}\3|" ${DTS}
dtc -I dts -O dtb ${DTS} > ${DTB} 2> /dev/null
sync
ASK_TO_REBOOT=1
fi
}
disable_brain_config_at_boot() { disable_brain_config_at_boot() {
if [ -e /etc/profile.d/brain-config.sh ]; then if [ -e /etc/profile.d/brain-config.sh ]; then
rm -f /etc/profile.d/brain-config.sh rm -f /etc/profile.d/brain-config.sh
@@ -519,8 +551,8 @@ fi
do_system_menu() { 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 \ 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" \ "S1 Wireless LAN" "Enter SSID and passphrase" \
"S3 Password" "Change password for the '$USER' user" \ "S2 Password" "Change password for the '$USER' user" \
"S4 Hostname" "Set name for this computer on a network" \ "S3 Hostname" "Set name for this computer on a network" \
3>&1 1>&2 2>&3) 3>&1 1>&2 2>&3)
RET=$? RET=$?
if [ $RET -eq 1 ]; then if [ $RET -eq 1 ]; then
@@ -528,8 +560,8 @@ do_system_menu() {
elif [ $RET -eq 0 ]; then elif [ $RET -eq 0 ]; then
case "$FUN" in case "$FUN" in
S1\ *) do_wifi_ssid_passphrase ;; S1\ *) do_wifi_ssid_passphrase ;;
S3\ *) do_change_pass ;; S2\ *) do_change_pass ;;
S4\ *) do_hostname ;; S3\ *) do_hostname ;;
*) whiptail --msgbox "Programmer error: unrecognized option" 20 60 1 ;; *) whiptail --msgbox "Programmer error: unrecognized option" 20 60 1 ;;
esac || whiptail --msgbox "There was an error running option $FUN" 20 60 1 esac || whiptail --msgbox "There was an error running option $FUN" 20 60 1
fi fi
@@ -537,14 +569,16 @@ do_system_menu() {
do_interface_menu() { 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 \ 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" \ "I1 SSH" "Enable/disable remote command line access using SSH" \
"I2 USB" "Switch the role of the USB Host Controller" \
3>&1 1>&2 2>&3) 3>&1 1>&2 2>&3)
RET=$? RET=$?
if [ $RET -eq 1 ]; then if [ $RET -eq 1 ]; then
return 0 return 0
elif [ $RET -eq 0 ]; then elif [ $RET -eq 0 ]; then
case "$FUN" in case "$FUN" in
I2\ *) do_ssh ;; I1\ *) do_ssh ;;
I2\ *) do_usb ;;
*) whiptail --msgbox "Programmer error: unrecognized option" 20 60 1 ;; *) whiptail --msgbox "Programmer error: unrecognized option" 20 60 1 ;;
esac || whiptail --msgbox "There was an error running option $FUN" 20 60 1 esac || whiptail --msgbox "There was an error running option $FUN" 20 60 1
fi fi
@@ -554,7 +588,7 @@ 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 \ 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" \ "L1 Locale" "Configure language and regional settings" \
"L2 Timezone" "Configure time zone" \ "L2 Timezone" "Configure time zone" \
"L4 WLAN Country" "Set legal wireless channels for your country" \ "L3 WLAN Country" "Set legal wireless channels for your country" \
3>&1 1>&2 2>&3) 3>&1 1>&2 2>&3)
RET=$? RET=$?
if [ $RET -eq 1 ]; then if [ $RET -eq 1 ]; then
@@ -563,7 +597,7 @@ do_internationalisation_menu() {
case "$FUN" in case "$FUN" in
L1\ *) do_change_locale ;; L1\ *) do_change_locale ;;
L2\ *) do_change_timezone ;; L2\ *) do_change_timezone ;;
L4\ *) do_wifi_country ;; L3\ *) do_wifi_country ;;
*) whiptail --msgbox "Programmer error: unrecognized option" 20 60 1 ;; *) whiptail --msgbox "Programmer error: unrecognized option" 20 60 1 ;;
esac || whiptail --msgbox "There was an error running option $FUN" 20 60 1 esac || whiptail --msgbox "There was an error running option $FUN" 20 60 1
fi fi
@@ -572,7 +606,7 @@ do_internationalisation_menu() {
do_advanced_menu() { 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 \ 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" \ "A1 Expand Filesystem" "Ensures that all of the SD card is available" \
"A4 Network Interface Names" "Enable/disable predictable network i/f names" \ "A2 Network Interface Names" "Enable/disable predictable network i/f names" \
3>&1 1>&2 2>&3) 3>&1 1>&2 2>&3)
RET=$? RET=$?
if [ $RET -eq 1 ]; then if [ $RET -eq 1 ]; then
@@ -580,7 +614,7 @@ do_advanced_menu() {
elif [ $RET -eq 0 ]; then elif [ $RET -eq 0 ]; then
case "$FUN" in case "$FUN" in
A1\ *) do_expand_rootfs ;; A1\ *) do_expand_rootfs ;;
A4\ *) do_net_names ;; A2\ *) do_net_names ;;
*) whiptail --msgbox "Programmer error: unrecognized option" 20 60 1 ;; *) whiptail --msgbox "Programmer error: unrecognized option" 20 60 1 ;;
esac || whiptail --msgbox "There was an error running option $FUN" 20 60 1 esac || whiptail --msgbox "There was an error running option $FUN" 20 60 1
fi fi
@@ -600,9 +634,10 @@ if [ "$INTERACTIVE" = True ]; then
while true; do 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 \ 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" \ "1 System Options" "Configure system settings" \
"5 Localisation Options" "Configure language and regional settings" \ "2 Interface Options" "Configure connections to peripherals" \
"6 Advanced Options" "Configure advanced settings" \ "3 Localisation Options" "Configure language and regional settings" \
"9 About brain-config" "Information about this configuration tool" \ "4 Advanced Options" "Configure advanced settings" \
"5 About brain-config" "Information about this configuration tool" \
3>&1 1>&2 2>&3) 3>&1 1>&2 2>&3)
RET=$? RET=$?
if [ $RET -eq 1 ]; then if [ $RET -eq 1 ]; then
@@ -610,9 +645,10 @@ if [ "$INTERACTIVE" = True ]; then
elif [ $RET -eq 0 ]; then elif [ $RET -eq 0 ]; then
case "$FUN" in case "$FUN" in
1\ *) do_system_menu ;; 1\ *) do_system_menu ;;
5\ *) do_internationalisation_menu ;; 2\ *) do_interface_menu ;;
6\ *) do_advanced_menu ;; 3\ *) do_internationalisation_menu ;;
9\ *) do_about ;; 4\ *) do_advanced_menu ;;
5\ *) do_about ;;
*) whiptail --msgbox "Programmer error: unrecognized option" 20 60 1 ;; *) whiptail --msgbox "Programmer error: unrecognized option" 20 60 1 ;;
esac || whiptail --msgbox "There was an error running option $FUN" 20 60 1 esac || whiptail --msgbox "There was an error running option $FUN" 20 60 1
else else

6
debian/changelog vendored
View File

@@ -1,3 +1,9 @@
brain-config (20230327) bullseye; urgency=medium
* Added do_usb
-- Brain Hackers <dummy@example.com> Mon, 27 Mar 2022 16:56:00 +0900
brain-config (20220702) bullseye; urgency=medium brain-config (20220702) bullseye; urgency=medium
* Forked from raspi-config * Forked from raspi-config