basic stuff I can remember at the moment...
This commit is contained in:
parent
70bcb15a68
commit
899cd5af96
4 changed files with 8684 additions and 0 deletions
16
IMG-SETUP
Normal file
16
IMG-SETUP
Normal file
|
@ -0,0 +1,16 @@
|
|||
|
||||
mkdir root.setup
|
||||
mount /dev/mmcblk1p2 root.setup
|
||||
pacstrap root.setup base base-devel dhcpcd wget vim emacs-nox man-db man-pages
|
||||
arch-chroot root.setup
|
||||
ln -s /usr/share/zoneinfo/Europe/Berlin /etc/localtime
|
||||
sed -i "s|\#en_US.UTF-8 UTF-8|en_US.UTF-8 UTF-8|g;" /etc/locale.gen
|
||||
locale-gen
|
||||
echo "KEYMAP=de-latin1" > /etc/vconsole.conf
|
||||
echo "bpi-r2-arch" > /etc/hostname
|
||||
systemctl enable dhcpcd
|
||||
exit
|
||||
genfstab -U root.setup/ >> root.setup/etc/fstab
|
||||
genfstab -U /boot >> root.setup/etc/fstab
|
||||
sync
|
||||
umount root.setup
|
57
README.md
57
README.md
|
@ -0,0 +1,57 @@
|
|||
|
||||
Everything this document is about is how to setup the sd card that finally is inserted to the banana. So lets start:
|
||||
|
||||
The sd card contains the following:
|
||||
* Pre-Loader
|
||||
* u-boot
|
||||
* vfat: boot (`/dev/mmcblk1p1`)
|
||||
* ext4: root (`/dev/mmcblk1p2`)
|
||||
* ...
|
||||
|
||||
## Pre-Loader:
|
||||
|
||||
...!!!
|
||||
|
||||
## u-boot:
|
||||
|
||||
...!!!
|
||||
|
||||
## boot-partition:
|
||||
|
||||
Contains:
|
||||
|
||||
```bash
|
||||
/zImage
|
||||
/dts/mt7623n-bananapi-bpi-r2.dtb
|
||||
```
|
||||
|
||||
and further images (eg diifferent kernel versions etc...)
|
||||
|
||||
### how to create these files:
|
||||
(because they are not available anywhere, at least not for the most recent kernel. The most recent version provided by some debain derivates is 4.4 or 4.14... too old for my taste!)
|
||||
|
||||
```bash
|
||||
git clone https://github.com/mbgg/linux-mediatek.git
|
||||
cd linux-mediatek
|
||||
git checkout <commit_I_recommend>
|
||||
cp <this_repo>/kernel/linux-mediatek-<commit_hash>.config .config
|
||||
cp <this_repo>/kernel/mt7623n-bananapi-bpi-r2.dts arch/arm/boot/dts
|
||||
make ARCH=arm CROSS_COMPILE=/usr/bin/arm-linux-gnueabihf- oldconfig
|
||||
make -j4 ARCH=arm CROSS_COMPILE=/usr/bin/arm-linux-gnueabihf- zImage dtbs
|
||||
mkdir boot.setup
|
||||
mount /dev/mmcblk0p1 boot.setup
|
||||
cp arch/arm/boot/zImage boot.setup
|
||||
cp arch/arm/boot/dts/mt7623n-bananapi-bpi-r2.dtb boot.setup/dts
|
||||
sync
|
||||
umount boot.setup
|
||||
rmdir boot.setup
|
||||
```
|
||||
|
||||
## root-partition:
|
||||
|
||||
If you did no mistake so far (...) this should be the easiest part:
|
||||
There are two possibilities:
|
||||
* Use the provided image [name], dd it to your root partition, boot into this root and update and customaize the system
|
||||
* dd the image to a temporary partition, boot into it, and setup the root partition using pacstrap (you dont need the linux or linux-firmware package, you already cared about these parts in the previous section)
|
||||
|
||||
... !!!
|
File diff suppressed because it is too large
Load diff
333
kernel/mt7623n-bananapi-bpi-r2.dts
Normal file
333
kernel/mt7623n-bananapi-bpi-r2.dts
Normal file
|
@ -0,0 +1,333 @@
|
|||
/*
|
||||
* Copyright 2017-2018 Sean Wang <sean.wang@mediatek.com>
|
||||
*
|
||||
* SPDX-License-Identifier: (GPL-2.0+ OR MIT)
|
||||
*/
|
||||
|
||||
/dts-v1/;
|
||||
#include <dt-bindings/input/input.h>
|
||||
#include "mt7623.dtsi"
|
||||
#include "mt6323.dtsi"
|
||||
|
||||
/ {
|
||||
model = "Bananapi BPI-R2";
|
||||
compatible = "bananapi,bpi-r2", "mediatek,mt7623";
|
||||
|
||||
aliases {
|
||||
serial2 = &uart2;
|
||||
};
|
||||
|
||||
chosen {
|
||||
stdout-path = "serial2:115200n8";
|
||||
};
|
||||
|
||||
cpus {
|
||||
cpu@0 {
|
||||
proc-supply = <&mt6323_vproc_reg>;
|
||||
};
|
||||
|
||||
cpu@1 {
|
||||
proc-supply = <&mt6323_vproc_reg>;
|
||||
};
|
||||
|
||||
cpu@2 {
|
||||
proc-supply = <&mt6323_vproc_reg>;
|
||||
};
|
||||
|
||||
cpu@3 {
|
||||
proc-supply = <&mt6323_vproc_reg>;
|
||||
};
|
||||
};
|
||||
|
||||
reg_1p8v: regulator-1p8v {
|
||||
compatible = "regulator-fixed";
|
||||
regulator-name = "fixed-1.8V";
|
||||
regulator-min-microvolt = <1800000>;
|
||||
regulator-max-microvolt = <1800000>;
|
||||
regulator-boot-on;
|
||||
regulator-always-on;
|
||||
};
|
||||
|
||||
reg_3p3v: regulator-3p3v {
|
||||
compatible = "regulator-fixed";
|
||||
regulator-name = "fixed-3.3V";
|
||||
regulator-min-microvolt = <3300000>;
|
||||
regulator-max-microvolt = <3300000>;
|
||||
regulator-boot-on;
|
||||
regulator-always-on;
|
||||
};
|
||||
|
||||
reg_5v: regulator-5v {
|
||||
compatible = "regulator-fixed";
|
||||
regulator-name = "fixed-5V";
|
||||
regulator-min-microvolt = <5000000>;
|
||||
regulator-max-microvolt = <5000000>;
|
||||
regulator-boot-on;
|
||||
regulator-always-on;
|
||||
};
|
||||
|
||||
gpio-keys {
|
||||
compatible = "gpio-keys";
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&key_pins_a>;
|
||||
|
||||
factory {
|
||||
label = "factory";
|
||||
linux,code = <BTN_0>;
|
||||
gpios = <&pio 256 GPIO_ACTIVE_LOW>;
|
||||
};
|
||||
|
||||
wps {
|
||||
label = "wps";
|
||||
linux,code = <KEY_WPS_BUTTON>;
|
||||
gpios = <&pio 257 GPIO_ACTIVE_HIGH>;
|
||||
};
|
||||
};
|
||||
|
||||
leds {
|
||||
compatible = "gpio-leds";
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&led_pins_a>;
|
||||
|
||||
blue {
|
||||
label = "bpi-r2:pio:blue";
|
||||
gpios = <&pio 240 GPIO_ACTIVE_LOW>;
|
||||
default-state = "off";
|
||||
};
|
||||
|
||||
green {
|
||||
label = "bpi-r2:pio:green";
|
||||
gpios = <&pio 241 GPIO_ACTIVE_LOW>;
|
||||
default-state = "off";
|
||||
};
|
||||
|
||||
red {
|
||||
label = "bpi-r2:pio:red";
|
||||
gpios = <&pio 239 GPIO_ACTIVE_LOW>;
|
||||
default-state = "off";
|
||||
};
|
||||
};
|
||||
|
||||
memory@80000000 {
|
||||
device_type = "memory";
|
||||
reg = <0 0x80000000 0 0x80000000>;
|
||||
};
|
||||
};
|
||||
|
||||
&btif {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&cir {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&cir_pins_a>;
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&crypto {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
ð {
|
||||
status = "okay";
|
||||
|
||||
gmac0: mac@0 {
|
||||
compatible = "mediatek,eth-mac";
|
||||
reg = <0>;
|
||||
phy-mode = "trgmii";
|
||||
|
||||
fixed-link {
|
||||
speed = <1000>;
|
||||
full-duplex;
|
||||
pause;
|
||||
};
|
||||
};
|
||||
|
||||
mdio: mdio-bus {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
|
||||
switch@0 {
|
||||
compatible = "mediatek,mt7530";
|
||||
reg = <0>;
|
||||
reset-gpios = <&pio 33 0>;
|
||||
core-supply = <&mt6323_vpa_reg>;
|
||||
io-supply = <&mt6323_vemc3v3_reg>;
|
||||
|
||||
ports {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
|
||||
port@0 {
|
||||
reg = <0>;
|
||||
label = "wan";
|
||||
};
|
||||
|
||||
port@1 {
|
||||
reg = <1>;
|
||||
label = "lan0";
|
||||
};
|
||||
|
||||
port@2 {
|
||||
reg = <2>;
|
||||
label = "lan1";
|
||||
};
|
||||
|
||||
port@3 {
|
||||
reg = <3>;
|
||||
label = "lan2";
|
||||
};
|
||||
|
||||
port@4 {
|
||||
reg = <4>;
|
||||
label = "lan3";
|
||||
};
|
||||
|
||||
port@6 {
|
||||
reg = <6>;
|
||||
label = "cpu";
|
||||
ethernet = <&gmac0>;
|
||||
phy-mode = "trgmii";
|
||||
|
||||
fixed-link {
|
||||
speed = <1000>;
|
||||
full-duplex;
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
&i2c0 {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&i2c0_pins_a>;
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&i2c1 {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&i2c1_pins_a>;
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&mmc0 {
|
||||
pinctrl-names = "default", "state_uhs";
|
||||
pinctrl-0 = <&mmc0_pins_default>;
|
||||
pinctrl-1 = <&mmc0_pins_uhs>;
|
||||
status = "okay";
|
||||
bus-width = <8>;
|
||||
max-frequency = <50000000>;
|
||||
cap-mmc-highspeed;
|
||||
vmmc-supply = <®_3p3v>;
|
||||
vqmmc-supply = <®_1p8v>;
|
||||
non-removable;
|
||||
};
|
||||
|
||||
&mmc1 {
|
||||
pinctrl-names = "default", "state_uhs";
|
||||
pinctrl-0 = <&mmc1_pins_default>;
|
||||
pinctrl-1 = <&mmc1_pins_uhs>;
|
||||
status = "okay";
|
||||
bus-width = <4>;
|
||||
max-frequency = <50000000>;
|
||||
cap-sd-highspeed;
|
||||
cd-gpios = <&pio 261 GPIO_ACTIVE_LOW>;
|
||||
vmmc-supply = <®_3p3v>;
|
||||
vqmmc-supply = <®_3p3v>;
|
||||
};
|
||||
|
||||
&mt6323_leds {
|
||||
status = "okay";
|
||||
|
||||
led@0 {
|
||||
reg = <0>;
|
||||
label = "bpi-r2:isink:green";
|
||||
default-state = "off";
|
||||
};
|
||||
|
||||
led@1 {
|
||||
reg = <1>;
|
||||
label = "bpi-r2:isink:red";
|
||||
default-state = "off";
|
||||
};
|
||||
|
||||
led@2 {
|
||||
reg = <2>;
|
||||
label = "bpi-r2:isink:blue";
|
||||
default-state = "off";
|
||||
};
|
||||
};
|
||||
|
||||
&pcie {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&pcie_default>;
|
||||
status = "okay";
|
||||
|
||||
pcie@0,0 {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
pcie@1,0 {
|
||||
status = "okay";
|
||||
};
|
||||
};
|
||||
|
||||
&pcie0_phy {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&pcie1_phy {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&pwm {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&pwm_pins_a>;
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&spi0 {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&spi0_pins_a>;
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&uart0 {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&uart0_pins_a>;
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&uart1 {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&uart1_pins_a>;
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&uart2 {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&uart2_pins_a>;
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&usb1 {
|
||||
vusb33-supply = <®_3p3v>;
|
||||
vbus-supply = <®_5v>;
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&usb2 {
|
||||
vusb33-supply = <®_3p3v>;
|
||||
vbus-supply = <®_5v>;
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&u3phy1 {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&u3phy2 {
|
||||
status = "okay";
|
||||
};
|
||||
|
Loading…
Reference in a new issue