Merge pull request #50 from SolidHal/develop
Pull in keybindings, copyright, README changes, installer changes
This commit is contained in:
commit
7099215b02
3
.gitmodules
vendored
3
.gitmodules
vendored
@ -1,3 +0,0 @@
|
||||
[submodule "chromeos-3.14"]
|
||||
path = chromeos-3.14
|
||||
url = https://chromium.googlesource.com/chromiumos/third_party/kernel
|
6
AUTHORS
6
AUTHORS
@ -1,2 +1,4 @@
|
||||
SolidHal (find me on github, or send me a message in a bottle, emails kinda lame)
|
||||
Dima Krasner (dima@dimakrasner.com)
|
||||
SolidHal (hal@halemmerich.com)
|
||||
With spcial thanks to:
|
||||
Dima Krasner (dima@dimakrasner.com)
|
||||
- The core concepts of filesystem and kernel building for the c201 are based on his work with devsus
|
52
DOCUMENTATION.md
Normal file
52
DOCUMENTATION.md
Normal file
@ -0,0 +1,52 @@
|
||||
# PrawnOS Documentation
|
||||
|
||||
Some additional documentation for PrawnOS that wouldn't fit in the README
|
||||
|
||||
## Useful XFCE4 keybindings and libinput-gestures:
|
||||
### Gestures:
|
||||
#### Config file: /etc/libinput-gestures.conf
|
||||
* four finger swipe left: Switch to left workspace
|
||||
* four finger swipe right: Switch to right worksace
|
||||
|
||||
### Keybindings
|
||||
|
||||
#### Configure under Settings->Window Manager->Keyboard
|
||||
* control+alt+left: move window to left workspace
|
||||
* control+alt+right: move window to right workspace
|
||||
|
||||
* control+left: tile widow to the left
|
||||
* control+right: tile window to the right
|
||||
* control+up: maximize window
|
||||
|
||||
* alt+tab: app switcher
|
||||
|
||||
#### Configure under Settings->Keyboard->Application Shortcuts
|
||||
* alt+space : App launcher (spotlight-esque)
|
||||
* control+alt+l: Lock screen
|
||||
* Brightness scripts are also called here and can be remapped here or in ~/.Xmodmap
|
||||
|
||||
#### Configured using ~/.Xmodmap
|
||||
* "search" key: Mode switch aka m_s (function key)
|
||||
|
||||
* m_s + backspace: delete
|
||||
* m_s + up: page up
|
||||
* m_s + down: page down
|
||||
* m_s + left: home
|
||||
* m_s + right: end
|
||||
* m_s + period: insert
|
||||
|
||||
* "brightness up key": increase backlight
|
||||
* "brightness down key": decrease backlight
|
||||
* "volume mute": mute volume
|
||||
* "volume down": decrease volume
|
||||
* "volume up": increase volume
|
||||
|
||||
* m_s + "brightness up key": F7
|
||||
* m_s + "brightness down key": F6
|
||||
* m_s + "volume mute key": F8
|
||||
* m_s + "volume down key": F9
|
||||
* m_s + "volume up key": F10
|
||||
|
||||
#### Configured using ~/.xinputrc
|
||||
* alt+left left a word
|
||||
* alt+right right a word
|
100
README.md
100
README.md
@ -13,9 +13,11 @@ Build a deblobbed mainline kernel with:
|
||||
* Support for Atheros AR9271 and AR7010 WiFi dongles
|
||||
* Support for CSR8150 bluetooth dongles
|
||||
|
||||
Don't want to use one of the two usb ports of for the WIFI dongle? [check out this](#build-the-wifi-dongle-into-the-laptop)
|
||||
|
||||
### why
|
||||
|
||||
Combined with libreboot, an AR9271 wifi dongle, and a libre OS (like Debian with the main repos, the one built by this) the asus c201 is a fully libre machine with no blobs, or microcode, or Intel Management Engine.
|
||||
Combined with libreboot, an AR9271 or AR7010 wifi dongle, and a libre OS (like Debian with the main repos, the one built by this) the asus c201 is a fully libre machine with no blobs, or microcode, or Intel Management Engine.
|
||||
|
||||
### Image Download
|
||||
|
||||
@ -44,31 +46,98 @@ Build the `PrawnOS-...-.img` by running `sudo make image`
|
||||
|
||||
This has only been tested on a Debian stretch VM, and borrows some components from the host system to setup apt/debootstrap during the build process so I would recommend using a Debian Stretch VM to avoid any issues.
|
||||
|
||||
### Install
|
||||
Write the 2GB image to a flash drive. Make sure to replace $USB_DEVICE with the desired target flash drive
|
||||
### Write to a flash drive or sd card
|
||||
Write the 2GB image to a flash drive. Make sure to replace $USB_DEVICE with the desired target flash drive or sd card device. If you're not familiar with dd, check out Debians
|
||||
how to page https://www.debian.org/CD/faq/#write-usb
|
||||
```
|
||||
sudo dd if=PrawnOs-*-c201-libre-2GB.img of=/dev/$USB_DEVICE bs=50M
|
||||
sudo dd if=PrawnOs-*-c201-libre-2GB.img of=/dev/$USB_DEVICE bs=50M; sync
|
||||
```
|
||||
Now on the C201, login as root. The password is blank.
|
||||
If you would like to install it to the internal emmc storage run:
|
||||
|
||||
### Installing
|
||||
|
||||
There are two ways to use PrawnOS.
|
||||
|
||||
The first option is to boot from the external usb or sd device you wrote the image to.
|
||||
[click here](#install-to-usb-drive-or-sd-card)
|
||||
* Booting from an external device allows you to try PrawnOS without removing ChromeOS or whatever linux you are running on your internal storage (emmc), but it is a much slower experience as the c201 only has usb 2.0.
|
||||
|
||||
The second and, recommended, option is to install it on your internal storage (emmc)
|
||||
[click here](#install-to-internal-drive-emmc)
|
||||
* This is faster, and frees up a usb port.
|
||||
|
||||
### Install To USB drive or SD card
|
||||
Now on the C201, press `control+u` at boot to boot from the usb drive.
|
||||
|
||||
If you are running stock coreboot and haven't flashed libreboot, you will first have to enable developer mode and enable usb booting. A quick search should get you some good guides, but if you're having issues feel free to open an issue here on github.
|
||||
|
||||
|
||||
When it boots, login as root. The password is blank.
|
||||
|
||||
#### If you simply want a basic linux environment with not desktop environment or window manager:
|
||||
Make sure its the only storage device plugged in, and run this script to expand the partition and filesystem to the full usb drive
|
||||
```
|
||||
cd /InstallResources/
|
||||
./InstallToUSB
|
||||
```
|
||||
Congratulations: you are done! Welcome to PrawnOS. You should probably change the root password and make a user, but I'm not your boss or anything so I'll leave that to you.
|
||||
If you want a quick guide on how to connect to wifi, check out [this down below](#connecting-to-wifi-in-a-basic-environment)
|
||||
|
||||
#### For everyone else, two scripts need to be ran.
|
||||
|
||||
The first expands the partition and filesystem to use the entire drive.
|
||||
Make sure you only have one usb or sd storage device plugged into the machine.
|
||||
Run:
|
||||
```
|
||||
cd /InstallResources/
|
||||
./InstallToUSB
|
||||
```
|
||||
Then run this script which installs the either the xfce4 or the lxqt desktop enviroment, sound, trackpad, and Xorg configurations as well as prompts you to make a new user that automatically gets sudo privileges.
|
||||
|
||||
If it asks you about terminal encoding and/or locale, just hit enter. The default works for both.
|
||||
When finished, it will reboot once again placing you at a login screen.
|
||||
```
|
||||
./InstallPackages.sh
|
||||
```
|
||||
This will take a while; usb 2.0 is slow.
|
||||
Welcome to PrawnOS. If you like it, I would suggest installing it to your internal storage (emmc).
|
||||
|
||||
|
||||
### Install to Internal drive (emmc)
|
||||
Now on the C201, press `control+u` at boot to boot from the usb drive.
|
||||
|
||||
|
||||
If you are running stock coreboot and haven't flashed libreboot, you will first have to enable developer mode and enable usb booting. A quick search should get you some good guides, but if you're having issues feel free to open an issue here on github.
|
||||
|
||||
At the prompt, login as root. The password is blank.
|
||||
|
||||
WARNING! THIS WILL ERASE YOUR INTERNAL EMMC STORAGE (your chrome OS install or other linux install and all of the associated user data) Make sure to back up any data you would like to keep before running this.
|
||||
|
||||
If you would like to install it to the internal emmc storage run:
|
||||
```
|
||||
cd /
|
||||
./InstallToInternal.sh
|
||||
```
|
||||
**This will show a bunch of scary red warnings that are a result of the emmc (internal storage) being touchy. They don't seem to effect anything longterm.
|
||||
_This will show a bunch of scary red warnings that are a result of the emmc (internal storage) being touchy and the kernel message level being set low for debugging. They don't seem to effect anything longterm._
|
||||
|
||||
The device will then reboot, and should boot to the internal storage by default. If it doesn't, turn off the device and remove the flash drive before turning it on again.
|
||||
The device will then reboot. If you are running the stock coreboot, you will have to press `control+d` or wait 30 seconds past the beep to boot to the internal storage.
|
||||
|
||||
If you are running libreboot, it should boot to the internal storage by default. If it doesn't, turn off the device and remove the flash drive before turning it on again.
|
||||
|
||||
Now login as root again and run:
|
||||
```
|
||||
cd /InstallResources
|
||||
./InstallPackages.sh
|
||||
```
|
||||
Which installs the either the xfce4 or the lxqt desktop enviroment, sound, trackpad, and Xorg configurations as well as prompts you to make a new user that automatically gets sudo priviledges.
|
||||
Which installs the either the xfce4 or the lxqt desktop enviroment, sound, trackpad, and Xorg configurations as well as prompts you to make a new user that automatically gets sudo privileges.
|
||||
|
||||
|
||||
If it asks you about terminal encoding and/or locale, just hit enter. The default works for both.
|
||||
|
||||
When finished, it will reboot once again placing you at a login screen.
|
||||
|
||||
Congratulations! Your computer is now a Prawn! https://sprorgnsm.bandcamp.com/track/the-prawn-song
|
||||
|
||||
#### Connecting to Wifi in a basic environment
|
||||
If you just want a basic enviroment without xfce or lxqt can skip running InstallPackages.sh. You can connect to wifi using wpa_supplicant by running the following commands:
|
||||
```
|
||||
wpa_passphrase <Network_name> <network_password> > wpa.conf
|
||||
@ -77,14 +146,17 @@ wpa_supplicant -D wext -i wlan0 -c wpa.conf
|
||||
Now switch to another tty by pressing ctrl+alt+f2
|
||||
Login as root, and run
|
||||
```
|
||||
dhclient
|
||||
dhclient wlan0
|
||||
```
|
||||
When that finishes, you should have access to the internet.
|
||||
|
||||
Congratulations! Your computer is now a Prawn! https://sprorgnsm.bandcamp.com/track/the-prawn-song
|
||||
|
||||
### Documentation
|
||||
Some useful things can be found in `DOCUMENTATION.md`
|
||||
|
||||
|
||||
### Make options, developer tools
|
||||
(ALl of these should be ran as root or with sudo to avoid issues)
|
||||
(All of these should be ran as root or with sudo to avoid issues)
|
||||
The makefile automates many processes that make debuggung the kernel or the filesystem easier.
|
||||
TO begin with:
|
||||
|
||||
@ -106,9 +178,9 @@ https://rosenzweig.io/blog/gpu-feed.xml
|
||||
|
||||
### Build the wifi dongle into the laptop
|
||||
|
||||
Sick of having a wsb dongle on the outside of your machine for wi-fi? Want to be able to use two usb devices at once without a hub?
|
||||
Sick of having a usb dongle on the outside of your machine for wi-fi? Want to be able to use two usb devices at once without a hub?
|
||||
Check out the instructions here: https://github.com/SolidHal/AsusC201-usb-wifi-from-webcam
|
||||
Waringing: decent soldering skills required
|
||||
Warning: decent soldering skills required
|
||||
|
||||
### Troubleshooting
|
||||
|
||||
|
@ -1,12 +0,0 @@
|
||||
#!/bin/sh -xe
|
||||
|
||||
#Build everything
|
||||
|
||||
#Get sudo
|
||||
sudo echo "Thanks."
|
||||
#Build kernel WITHOUT SUDO, building the kernel with sudo is bad practice
|
||||
#Once, sometime in the kernel version 2 days building the kernel with sudo broke the
|
||||
#The system it was built on
|
||||
./scripts/buildKernel.sh
|
||||
#build os WITH sudo, debootstrap requires sudo
|
||||
sudo ./scripts/buildDebianFs.sh
|
15
makefile
15
makefile
@ -1,3 +1,18 @@
|
||||
# This file is part of PrawnOS (http://www.prawnos.com)
|
||||
# Copyright (c) 2018 Hal Emmerich <hal@halemmerich.com>
|
||||
|
||||
# PrawnOS is free software: you can redistribute it and/or modify
|
||||
# it under the terms of the GNU General Public License version 2
|
||||
# as published by the Free Software Foundation.
|
||||
|
||||
# PrawnOS is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
# GNU General Public License for more details.
|
||||
|
||||
# You should have received a copy of the GNU General Public License
|
||||
# along with PrawnOS. If not, see <https://www.gnu.org/licenses/>.
|
||||
|
||||
.PHONY: clean
|
||||
clean:
|
||||
@echo "Enter one of:"
|
||||
|
@ -1497,7 +1497,24 @@ CONFIG_DM_INTEGRITY=y
|
||||
# CONFIG_FIREWIRE_NOSY is not set
|
||||
CONFIG_NETDEVICES=y
|
||||
CONFIG_MII=y
|
||||
# CONFIG_NET_CORE is not set
|
||||
CONFIG_NET_CORE=y
|
||||
# CONFIG_BONDING is not set
|
||||
# CONFIG_DUMMY is not set
|
||||
# CONFIG_EQUALIZER is not set
|
||||
# CONFIG_NET_FC is not set
|
||||
# CONFIG_IFB is not set
|
||||
# CONFIG_NET_TEAM is not set
|
||||
# CONFIG_MACVLAN is not set
|
||||
# CONFIG_IPVLAN is not set
|
||||
# CONFIG_VXLAN is not set
|
||||
# CONFIG_MACSEC is not set
|
||||
# CONFIG_NETCONSOLE is not set
|
||||
CONFIG_TUN=y
|
||||
# CONFIG_TUN_VNET_CROSS_LE is not set
|
||||
# CONFIG_VETH is not set
|
||||
# CONFIG_VIRTIO_NET is not set
|
||||
# CONFIG_NLMON is not set
|
||||
# CONFIG_NET_VRF is not set
|
||||
# CONFIG_ARCNET is not set
|
||||
|
||||
#
|
||||
@ -2087,6 +2104,8 @@ CONFIG_CHARGER_GPIO=y
|
||||
# CONFIG_CHARGER_SMB347 is not set
|
||||
# CONFIG_BATTERY_GAUGE_LTC2941 is not set
|
||||
# CONFIG_CHARGER_RT9455 is not set
|
||||
CONFIG_POWER_SEQUENCE=y
|
||||
CONFIG_PWRSEQ_GENERIC=y
|
||||
# CONFIG_HWMON is not set
|
||||
CONFIG_THERMAL=y
|
||||
# CONFIG_THERMAL_STATISTICS is not set
|
||||
|
@ -1,2 +1,9 @@
|
||||
deb http://ftp.us.debian.org/debian/ stretch main
|
||||
deb-src http://ftp.us.debian.org/debian/ stretch main
|
||||
deb http://deb.debian.org/debian stretch main
|
||||
deb-src http://deb.debian.org/debian stretch main
|
||||
|
||||
deb http://deb.debian.org/debian stretch-updates main
|
||||
deb-src http://deb.debian.org/debian stretch-updates main
|
||||
|
||||
#Disable these, as the new versions of firefox or chromium installed crash immediately see issue #29
|
||||
#deb http://security.debian.org/debian-security/ stretch/updates main
|
||||
#deb-src http://security.debian.org/debian-security/ stretch/updates main
|
||||
|
43
resources/InstallResources/xfce-config/inputrc/.inputrc
Normal file
43
resources/InstallResources/xfce-config/inputrc/.inputrc
Normal file
@ -0,0 +1,43 @@
|
||||
# Make Tab autocomplete regardless of filename case
|
||||
set completion-ignore-case on
|
||||
|
||||
# List all matches in case multiple possible completions are possible
|
||||
set show-all-if-ambiguous on
|
||||
|
||||
# Immediately add a trailing slash when autocompleting symlinks to directories
|
||||
set mark-symlinked-directories on
|
||||
|
||||
# Show all autocomplete results at once
|
||||
set page-completions off
|
||||
|
||||
# If there are more than 200 possible completions for a word, ask to show them all
|
||||
set completion-query-items 100
|
||||
|
||||
# Show extra file information when completing, like `ls -F` does
|
||||
set visible-stats on
|
||||
|
||||
# Be more intelligent when autocompleting by also looking at the text after
|
||||
# the cursor. For example, when the current line is "cd ~/src/mozil", and
|
||||
# the cursor is on the "z", pressing Tab will not autocomplete it to "cd
|
||||
# ~/src/mozillail", but to "cd ~/src/mozilla". (This is supported by the
|
||||
# Readline used by Bash 4.)
|
||||
set skip-completed-text on
|
||||
|
||||
# This line sets readline to display possible completions using different colors to indicate their file types.
|
||||
# The colors are determined by the environmental variable LS_COLORS, which can be nicely configured.
|
||||
set colored-stats On
|
||||
|
||||
|
||||
|
||||
# This line sets the completions to be listed immediately instead of ringing
|
||||
# the bell, when the completing word has more than one possible completion.
|
||||
set show-all-if-ambiguous On
|
||||
|
||||
# This line sets the completions to be listed immediately instead of ringing the bell,
|
||||
# when the completing word has more than one possible completion but no partial completion can be made.
|
||||
set show-all-if-unmodified On
|
||||
|
||||
|
||||
## enable Alt-arrows for word jumping
|
||||
"\e[1;3D": backward-word ### Alt left
|
||||
"\e[1;3C": forward-word ### Alt right
|
@ -3,27 +3,11 @@
|
||||
<channel name="xfce4-keyboard-shortcuts" version="1.0">
|
||||
<property name="commands" type="empty">
|
||||
<property name="default" type="empty">
|
||||
<property name="<Alt>F1" type="empty"/>
|
||||
<property name="<Alt>F2" type="empty">
|
||||
<property name="startup-notify" type="empty"/>
|
||||
</property>
|
||||
<property name="<Alt>F3" type="empty">
|
||||
<property name="startup-notify" type="empty"/>
|
||||
</property>
|
||||
<property name="<Primary><Alt>Delete" type="empty"/>
|
||||
<property name="<Primary><Alt>l" type="empty"/>
|
||||
<property name="XF86Display" type="empty"/>
|
||||
<property name="<Super>p" type="empty"/>
|
||||
<property name="<Primary>Escape" type="empty"/>
|
||||
<property name="XF86WWW" type="empty"/>
|
||||
<property name="XF86Mail" type="empty"/>
|
||||
</property>
|
||||
<property name="custom" type="empty">
|
||||
<property name="<Alt>F3" type="string" value="xfce4-appfinder">
|
||||
<property name="<Alt>F1" type="string" value="xfce4-popup-applicationsmenu"/>
|
||||
<property name="<Alt>space" type="string" value="xfce4-appfinder --collapsed">
|
||||
<property name="startup-notify" type="bool" value="true"/>
|
||||
</property>
|
||||
<property name="<Alt>F1" type="string" value="xfce4-popup-applicationsmenu"/>
|
||||
<property name="<Alt>F2" type="empty">
|
||||
<property name="<Alt>F3" type="string" value="xfce4-appfinder">
|
||||
<property name="startup-notify" type="bool" value="true"/>
|
||||
</property>
|
||||
<property name="<Primary><Alt>Delete" type="string" value="xflock4"/>
|
||||
@ -31,70 +15,15 @@
|
||||
<property name="XF86Display" type="string" value="xfce4-display-settings --minimal"/>
|
||||
<property name="<Super>p" type="string" value="xfce4-display-settings --minimal"/>
|
||||
<property name="<Primary>Escape" type="string" value="xfdesktop --menu"/>
|
||||
<property name="XF86WWW" type="string" value="exo-open --launch WebBrowser"/>
|
||||
<property name="XF86Mail" type="string" value="exo-open --launch MailReader"/>
|
||||
<property name="override" type="bool" value="true"/>
|
||||
<property name="<Alt>space" type="string" value="xfce4-appfinder --collapsed">
|
||||
<property name="startup-notify" type="bool" value="true"/>
|
||||
</property>
|
||||
<property name="XF86MonBrightnessUp" type="string" value="/usr/sbin/backlight_up.sh"/>
|
||||
<property name="XF86MonBrightnessDown" type="string" value="/usr/sbin/backlight_down.sh"/>
|
||||
<property name="XF86MonBrightnessUp" type="string" value="/usr/sbin/backlight_up.sh"/>
|
||||
</property>
|
||||
</property>
|
||||
<property name="xfwm4" type="empty">
|
||||
<property name="default" type="empty">
|
||||
<property name="<Alt>Insert" type="empty"/>
|
||||
<property name="Escape" type="empty"/>
|
||||
<property name="Left" type="empty"/>
|
||||
<property name="Right" type="empty"/>
|
||||
<property name="Up" type="empty"/>
|
||||
<property name="Down" type="empty"/>
|
||||
<property name="<Alt>Tab" type="empty"/>
|
||||
<property name="<Alt><Shift>Tab" type="empty"/>
|
||||
<property name="<Alt>Delete" type="empty"/>
|
||||
<property name="<Primary><Alt>Down" type="empty"/>
|
||||
<property name="<Primary><Alt>Left" type="empty"/>
|
||||
<property name="<Shift><Alt>Page_Down" type="empty"/>
|
||||
<property name="<Alt>F4" type="empty"/>
|
||||
<property name="<Alt>F6" type="empty"/>
|
||||
<property name="<Alt>F7" type="empty"/>
|
||||
<property name="<Alt>F8" type="empty"/>
|
||||
<property name="<Alt>F9" type="empty"/>
|
||||
<property name="<Alt>F10" type="empty"/>
|
||||
<property name="<Alt>F11" type="empty"/>
|
||||
<property name="<Alt>F12" type="empty"/>
|
||||
<property name="<Primary><Shift><Alt>Left" type="empty"/>
|
||||
<property name="<Primary><Alt>End" type="empty"/>
|
||||
<property name="<Primary><Alt>Home" type="empty"/>
|
||||
<property name="<Primary><Shift><Alt>Right" type="empty"/>
|
||||
<property name="<Primary><Shift><Alt>Up" type="empty"/>
|
||||
<property name="<Primary><Alt>KP_1" type="empty"/>
|
||||
<property name="<Primary><Alt>KP_2" type="empty"/>
|
||||
<property name="<Primary><Alt>KP_3" type="empty"/>
|
||||
<property name="<Primary><Alt>KP_4" type="empty"/>
|
||||
<property name="<Primary><Alt>KP_5" type="empty"/>
|
||||
<property name="<Primary><Alt>KP_6" type="empty"/>
|
||||
<property name="<Primary><Alt>KP_7" type="empty"/>
|
||||
<property name="<Primary><Alt>KP_8" type="empty"/>
|
||||
<property name="<Primary><Alt>KP_9" type="empty"/>
|
||||
<property name="<Alt>space" type="empty"/>
|
||||
<property name="<Shift><Alt>Page_Up" type="empty"/>
|
||||
<property name="<Primary><Alt>Right" type="empty"/>
|
||||
<property name="<Primary><Alt>d" type="empty"/>
|
||||
<property name="<Primary><Alt>Up" type="empty"/>
|
||||
<property name="<Super>Tab" type="empty"/>
|
||||
<property name="<Primary>F1" type="empty"/>
|
||||
<property name="<Primary>F2" type="empty"/>
|
||||
<property name="<Primary>F3" type="empty"/>
|
||||
<property name="<Primary>F4" type="empty"/>
|
||||
<property name="<Primary>F5" type="empty"/>
|
||||
<property name="<Primary>F6" type="empty"/>
|
||||
<property name="<Primary>F7" type="empty"/>
|
||||
<property name="<Primary>F8" type="empty"/>
|
||||
<property name="<Primary>F9" type="empty"/>
|
||||
<property name="<Primary>F10" type="empty"/>
|
||||
<property name="<Primary>F11" type="empty"/>
|
||||
<property name="<Primary>F12" type="empty"/>
|
||||
</property>
|
||||
<property name="custom" type="empty">
|
||||
<property name="Up" type="string" value="up_key"/>
|
||||
<property name="<Primary><Alt>KP_9" type="string" value="move_window_workspace_9_key"/>
|
||||
<property name="<Primary><Alt>KP_8" type="string" value="move_window_workspace_8_key"/>
|
||||
@ -104,11 +33,12 @@
|
||||
<property name="<Alt>Tab" type="string" value="cycle_windows_key"/>
|
||||
<property name="<Alt><Shift>Tab" type="string" value="cycle_reverse_windows_key"/>
|
||||
<property name="<Primary><Alt>KP_7" type="string" value="move_window_workspace_7_key"/>
|
||||
<property name="<Primary><Shift><Alt>Right" type="string" value="move_window_right_key"/>
|
||||
<property name="<Primary><Alt>d" type="string" value="show_desktop_key"/>
|
||||
<property name="<Primary>F7" type="string" value="workspace_7_key"/>
|
||||
<property name="<Alt>F4" type="string" value="close_window_key"/>
|
||||
<property name="<Primary><Shift><Alt>Left" type="string" value="move_window_left_key"/>
|
||||
<property name="<Alt>F6" type="string" value="stick_window_key"/>
|
||||
<property name="<Alt>F10" type="string" value="maximize_window_key"/>
|
||||
<property name="<Alt>F12" type="string" value="above_key"/>
|
||||
<property name="<Alt>F9" type="string" value="hide_window_key"/>
|
||||
<property name="<Alt>F8" type="string" value="resize_window_key"/>
|
||||
@ -139,14 +69,13 @@
|
||||
<property name="<Primary><Alt>KP_4" type="string" value="move_window_workspace_4_key"/>
|
||||
<property name="<Primary><Alt>KP_5" type="string" value="move_window_workspace_5_key"/>
|
||||
<property name="override" type="bool" value="true"/>
|
||||
<property name="<Primary>Up" type="string" value="maximize_window_key"/>
|
||||
<property name="<Primary>Left" type="string" value="tile_left_key"/>
|
||||
<property name="<Primary>Right" type="string" value="tile_right_key"/>
|
||||
<property name="<Primary><Alt>Up" type="string" value="prev_workspace_key"/>
|
||||
<property name="<Primary><Alt>Down" type="string" value="next_workspace_key"/>
|
||||
<property name="<Primary><Alt>Right" type="string" value="move_window_next_workspace_key"/>
|
||||
<property name="<Primary><Alt>Left" type="string" value="move_window_prev_workspace_key"/>
|
||||
<property name="<Primary><Alt>Right" type="string" value="move_window_next_workspace_key"/>
|
||||
</property>
|
||||
</property>
|
||||
<property name="providers" type="array">
|
||||
<value type="string" value="xfwm4"/>
|
||||
<value type="string" value="commands"/>
|
||||
</property>
|
||||
</channel>
|
||||
|
0
resources/InstallResources/xfce-config/xfce-perchannel-xml/xfwm4.xml
Executable file → Normal file
0
resources/InstallResources/xfce-config/xfce-perchannel-xml/xfwm4.xml
Executable file → Normal file
@ -1,5 +1,21 @@
|
||||
#!/bin/bash -xe
|
||||
|
||||
|
||||
# This file is part of PrawnOS (http://www.prawnos.com)
|
||||
# Copyright (c) 2018 Hal Emmerich <hal@halemmerich.com>
|
||||
|
||||
# PrawnOS is free software: you can redistribute it and/or modify
|
||||
# it under the terms of the GNU General Public License version 2
|
||||
# as published by the Free Software Foundation.
|
||||
|
||||
# PrawnOS is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
# GNU General Public License for more details.
|
||||
|
||||
# You should have received a copy of the GNU General Public License
|
||||
# along with PrawnOS. If not, see <https://www.gnu.org/licenses/>.
|
||||
|
||||
DIR=/InstallResources
|
||||
|
||||
while true; do
|
||||
@ -13,8 +29,8 @@ done
|
||||
|
||||
locale-gen
|
||||
#Install shared packages
|
||||
apt install -y xorg acpi-support lightdm tasksel dpkg librsvg2-common xorg xserver-xorg-input-libinput alsa-utils anacron avahi-daemon eject iw libnss-mdns xdg-utils xserver-xorg-input-synaptics mousepad vlc dconf-tools sudo dtrx
|
||||
apt install -y network-manager-gnome network-manager-openvpn
|
||||
apt install -y xorg acpi-support lightdm tasksel dpkg librsvg2-common xorg xserver-xorg-input-libinput alsa-utils anacron avahi-daemon eject iw libnss-mdns xdg-utils xserver-xorg-input-synaptics mousepad vlc dconf-tools sudo dtrx emacs25
|
||||
apt install -y network-manager-gnome network-manager-openvpn network-manager-openvpn-gnome
|
||||
|
||||
[ "$DE" = "xfce" ] && apt install -y xfce4 dbus-user-session system-config-printer tango-icon-theme xfce4-power-manager xfce4-terminal xfce4-goodies numix-gtk-theme plank
|
||||
[ "$DE" = "lxqt" ] && apt install -y lxqt
|
||||
@ -56,6 +72,9 @@ then
|
||||
cp -rf $DIR/xfce-config/xmodmap/.Xmodmap /etc/skel/
|
||||
cp -rf $DIR/xfce-config/xmodmap/.xinitrc /etc/skel/
|
||||
|
||||
#Install inputrc
|
||||
cp -rf $DIR/xfce-config/inputrc/.inputrc /etc/skel/
|
||||
|
||||
#Install brightness controls
|
||||
cp $DIR/xfce-config/brightness/backlight_* /usr/sbin/
|
||||
mkdir -p /etc/udev/rules.d/
|
||||
@ -76,18 +95,21 @@ dmesg -D
|
||||
|
||||
#Force a safe username
|
||||
while true; do
|
||||
echo " Enter new username: "
|
||||
read username
|
||||
#ensure no whitespace
|
||||
case $username in *\ *) echo usernames may not contain whitespace;; *) break;; esac
|
||||
done
|
||||
until adduser $username --gecos ""
|
||||
do
|
||||
while true; do
|
||||
echo " Enter new username: "
|
||||
read username
|
||||
#ensure no whitespace
|
||||
case $username in *\ *) echo usernames may not contain whitespace;; *) break;; esac
|
||||
done
|
||||
adduser $username --gecos ""
|
||||
retVal=$?
|
||||
if [ $retVal == 0 ]; then
|
||||
break
|
||||
fi
|
||||
done
|
||||
done
|
||||
|
||||
usermod -a -G sudo,netdev,input,video $username
|
||||
|
||||
dmesg -E
|
||||
|
@ -4,6 +4,21 @@
|
||||
#and erase ALL data on it
|
||||
|
||||
|
||||
# This file is part of PrawnOS (http://www.prawnos.com)
|
||||
# Copyright (c) 2018 Hal Emmerich <hal@halemmerich.com>
|
||||
|
||||
# PrawnOS is free software: you can redistribute it and/or modify
|
||||
# it under the terms of the GNU General Public License version 2
|
||||
# as published by the Free Software Foundation.
|
||||
|
||||
# PrawnOS is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
# GNU General Public License for more details.
|
||||
|
||||
# You should have received a copy of the GNU General Public License
|
||||
# along with PrawnOS. If not, see <https://www.gnu.org/licenses/>.
|
||||
|
||||
RESOURCES=/InstallResources
|
||||
|
||||
read -p "This will ERASE ALL DATA ON THE INTERNAL STORAGE (EMMC) and reboot when finished, do you want to continue? [Y/n]" -n 1 -r
|
||||
|
21
scripts/InstallScripts/InstallToUSB.sh
Normal file → Executable file
21
scripts/InstallScripts/InstallToUSB.sh
Normal file → Executable file
@ -1,10 +1,17 @@
|
||||
|
||||
#!/bin/bash
|
||||
|
||||
#Install PrawnOS to an external device, the first usb by default
|
||||
apt install -y parted
|
||||
parted /dev/sda \
|
||||
print \
|
||||
Fix \
|
||||
partx -s /dev/sda2
|
||||
resize2fs /dev/sda2
|
||||
apt install -y gdisk parted
|
||||
#Make the boot partition fille the whole drive
|
||||
#Delete the partition
|
||||
sgdisk -d 2 /dev/sda
|
||||
#Make new partition map entry, with full size
|
||||
sgdisk -N 2 /dev/sda
|
||||
#Set the type to "data"
|
||||
sgdisk -t 2:0700 /dev/sda
|
||||
#Name is "properly" - Probably not required, but looks nice
|
||||
sgdisk -c 2:Root /dev/sda
|
||||
#Reload the partition mapping
|
||||
partprobe /dev/sda
|
||||
#Force the filesystem to fill the new partition
|
||||
resize2fs -f /dev/sda2
|
||||
|
@ -3,6 +3,22 @@
|
||||
# Build fs, image
|
||||
|
||||
|
||||
# This file is part of PrawnOS (http://www.prawnos.com)
|
||||
# Copyright (c) 2018 Hal Emmerich <hal@halemmerich.com>
|
||||
|
||||
# PrawnOS is free software: you can redistribute it and/or modify
|
||||
# it under the terms of the GNU General Public License version 2
|
||||
# as published by the Free Software Foundation.
|
||||
|
||||
# PrawnOS is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
# GNU General Public License for more details.
|
||||
|
||||
# You should have received a copy of the GNU General Public License
|
||||
# along with PrawnOS. If not, see <https://www.gnu.org/licenses/>.
|
||||
|
||||
|
||||
KVER=4.17.2
|
||||
|
||||
#Ensure Sudo
|
||||
@ -78,7 +94,7 @@ chmod +x $outmnt/*.sh
|
||||
#Setup the chroot for apt
|
||||
#This is what https://wiki.debian.org/EmDebian/CrossDebootstrap suggests
|
||||
cp /etc/hosts $outmnt/etc/
|
||||
cp $build_resources/sources.list $outmount/etc/apt/sources.list
|
||||
cp $build_resources/sources.list $outmnt/etc/apt/sources.list
|
||||
|
||||
#Setup the locale
|
||||
chroot $outmnt echo en_US.UTF-8 UTF-8 > /etc/locale.gen
|
||||
@ -86,14 +102,14 @@ chroot $outmnt locale-gen
|
||||
|
||||
#Install the base packages
|
||||
chroot $outmnt apt update
|
||||
chroot $outmnt apt install -y initscripts udev kmod net-tools inetutils-ping traceroute iproute2 isc-dhcp-client wpasupplicant iw alsa-utils cgpt vim-tiny less psmisc netcat-openbsd ca-certificates bzip2 xz-utils ifupdown nano apt-utils git
|
||||
chroot $outmnt apt install -y initscripts udev kmod net-tools inetutils-ping traceroute iproute2 isc-dhcp-client wpasupplicant iw alsa-utils cgpt vim-tiny less psmisc netcat-openbsd ca-certificates bzip2 xz-utils ifupdown nano apt-utils git kpartx
|
||||
|
||||
#Cleanup to reduce install size
|
||||
chroot $outmnt apt-get autoremove --purge
|
||||
chroot $outmnt apt-get clean
|
||||
|
||||
#Download the packages to be installed by Install.sh:
|
||||
chroot $outmnt apt-get install -y -d xorg acpi-support lightdm tasksel dpkg librsvg2-common xorg xserver-xorg-input-libinput alsa-utils anacron avahi-daemon eject iw libnss-mdns xdg-utils lxqt xserver-xorg-input-synaptics crda xfce4 dbus-user-session system-config-printer tango-icon-theme xfce4-power-manager xfce4-terminal xfce4-goodies mousepad vlc libutempter0 xterm numix-gtk-theme dconf-tools plank network-manager-gnome network-manager-openvpn dtrx
|
||||
chroot $outmnt apt-get install -y -d xorg acpi-support lightdm tasksel dpkg librsvg2-common xorg xserver-xorg-input-libinput alsa-utils anacron avahi-daemon eject iw libnss-mdns xdg-utils lxqt xserver-xorg-input-synaptics crda xfce4 dbus-user-session system-config-printer tango-icon-theme xfce4-power-manager xfce4-terminal xfce4-goodies mousepad vlc libutempter0 xterm numix-gtk-theme dconf-tools plank network-manager-gnome network-manager-openvpn network-manager-openvpn-gnome dtrx emacs25
|
||||
|
||||
#Download support for libinput-gestures
|
||||
chroot $outmnt apt install -y libinput-tools xdotool build-essential
|
||||
|
@ -3,6 +3,22 @@
|
||||
#Build kenerl, wifi firmware
|
||||
|
||||
|
||||
# This file is part of PrawnOS (http://www.prawnos.com)
|
||||
# Copyright (c) 2018 Hal Emmerich <hal@halemmerich.com>
|
||||
|
||||
# PrawnOS is free software: you can redistribute it and/or modify
|
||||
# it under the terms of the GNU General Public License version 2
|
||||
# as published by the Free Software Foundation.
|
||||
|
||||
# PrawnOS is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
# GNU General Public License for more details.
|
||||
|
||||
# You should have received a copy of the GNU General Public License
|
||||
# along with PrawnOS. If not, see <https://www.gnu.org/licenses/>.
|
||||
|
||||
|
||||
KVER=4.17.2
|
||||
TEST_PATCHES=false
|
||||
|
||||
|
@ -1,5 +1,19 @@
|
||||
#!/bin/sh -xe
|
||||
|
||||
# This file is part of PrawnOS (http://www.prawnos.com)
|
||||
# Copyright (c) 2018 Hal Emmerich <hal@halemmerich.com>
|
||||
|
||||
# PrawnOS is free software: you can redistribute it and/or modify
|
||||
# it under the terms of the GNU General Public License version 2
|
||||
# as published by the Free Software Foundation.
|
||||
|
||||
# PrawnOS is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
# GNU General Public License for more details.
|
||||
|
||||
# You should have received a copy of the GNU General Public License
|
||||
# along with PrawnOS. If not, see <https://www.gnu.org/licenses/>.
|
||||
|
||||
KVER=4.17.2
|
||||
|
||||
|
@ -3,6 +3,22 @@
|
||||
#Runs Make menuconfig with the proper enviroment vars for cross compiling arm
|
||||
#Grabs the file named config in resources/BuildResources directory, and updates it
|
||||
|
||||
|
||||
# This file is part of PrawnOS (http://www.prawnos.com)
|
||||
# Copyright (c) 2018 Hal Emmerich <hal@halemmerich.com>
|
||||
|
||||
# PrawnOS is free software: you can redistribute it and/or modify
|
||||
# it under the terms of the GNU General Public License version 2
|
||||
# as published by the Free Software Foundation.
|
||||
|
||||
# PrawnOS is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
# GNU General Public License for more details.
|
||||
|
||||
# You should have received a copy of the GNU General Public License
|
||||
# along with PrawnOS. If not, see <https://www.gnu.org/licenses/>.
|
||||
|
||||
KVER=4.17.2
|
||||
|
||||
ROOT_DIR=`pwd`
|
||||
|
Loading…
Reference in New Issue
Block a user