You are viewing an old version of this page. Return to the latest version.
Difference between revisions of "Operating System installation"
(→getting the Kernel-Sources) |
(→getting the Kernel-Sources) |
||
Line 76: | Line 76: | ||
</pre> | </pre> | ||
− | * | + | ==== configuring the kernel ==== |
+ | * configuring the base configuration of the kernel | ||
<pre> | <pre> | ||
$ make odroidg12_defconfig | $ make odroidg12_defconfig | ||
</pre> | </pre> | ||
+ | |||
+ | * edit the uart-driver with an editor of your choice - for me it's vi -> linux/drivers/amlogic/uart/meson_uart.c | ||
+ | <pre> | ||
+ | static void meson_uart_change_speed(struct uart_port *port, unsigned long baud) | ||
+ | { | ||
+ | u32 val; | ||
+ | struct meson_uart_port *mup = to_meson_port(port); | ||
+ | struct platform_device *pdev = to_platform_device(port->dev); | ||
+ | |||
+ | while (!(readl(port->membase + AML_UART_STATUS) & AML_UART_TX_EMPTY)) | ||
+ | cpu_relax(); | ||
+ | |||
+ | #ifdef UART_TEST_DEBUG | ||
+ | if (port->line != 0) | ||
+ | baud = 115200; | ||
+ | #endif | ||
+ | |||
+ | // this part is added. | ||
+ | // trace_printk() is not neccesarry, it is just for debugging. | ||
+ | trace_printk("Your baudrate: %ld\n", baud); | ||
+ | if(baud == 38400) | ||
+ | { | ||
+ | baud = 31250; | ||
+ | trace_printk("Change to %ld\n", baud); | ||
+ | } | ||
+ | </pre> | ||
+ | |||
+ | |||
---- | ---- | ||
> [[Main Page]] > [[Piano Expander based on Pianotec and Odroid-N2]] | > [[Main Page]] > [[Piano Expander based on Pianotec and Odroid-N2]] |
Revision as of 17:06, 11 June 2020
> Main Page > Piano Expander based on Pianotec and Odroid-N2
Contents
Installation of the base-system
- The installation of the operating system is pretty easy when you are using the Linux distributions which are supported by "Hardkernel".
- The OS which I have used for doing my first experiences is UBUNTU MATE 18.04.4-4.9-mate-odroid-n2-20200224
Enable Auto-Login
Enabling the On-Screen-Keyboard
- In applications, where you don't want to use an external keyboard you have the possibility to use an "On-Screen-Keyboard" which could be controlled via the Touch-Screen.
Switch-On the On-Screen-Keyboard on Ubuntu-Mate
- On Ubuntu-Mate the On-Screen-Keyboard is already installed. You can find it in the ‘Universal Access’ menu. In this menu you find the application "Onboard" -> a click on this menu-point activates the On-Screen-Keyboard.
Adding support for ARM 32-bit code execution
- Pianoteq 6 for ARM architecture is unfortunatly only available as 32-bit code - by meaning we have to install first the 32-bit support on the Ubuntu-Mate distribution supplied by "Hardkernel".
- Here is an article about how much the 64-bit CPUs would benefit from the additional AARCH64 instructions: 64-bit ARM (Aarch64) Instructions Boost Performance by 15 to 30% Compared to 32-bit ARM (Aarch32) Instructions.
- Odroid-Forum article: 32 Bit executables in AARCH64 system
odroid64:$ sudo dpkg --add-architecture armhf odroid64:$ sudo apt-get update apt install libc6:armhf apt install libx11-6:armhf apt install libfreetype6:armhf apt install libxext6:armhf apt install libasound2:armhf
Changing FDT (Flattened Device Tree) to support second UART-Interface for MIDI
- Article on the Odroid-Wiki: UART Interface on the 40 Pin Header
Enabling 31250 UART-Baud-Rate for Midi-Usage
- The baud-rate 31250 which is used for MIDI-trafic is normally NOT supported on standard UART drivers.
- We have to tweek the UART-Kernel-driver for supporting this baud rate. This sounds like a complicated action, but it isn't really complicated - take a look on this article in the Odroid-Magazine -> ODROID-N2 UART Custom Baud Rate for MIDI
Cross-Compiling or compiling the Kernel natively (on the Odroid-N2 itself)
- You have the possibility to compile the Kernel external (e.g. on your Desktop-PC/Laptop) where you have to install the Cross-Compiler-Toolchain and the other build utilities) or directly on the Odroid itself.
- I am a fan of doing it directly on the Odroid-N2 itself. Therefore I describe this procedure first.
getting the Kernel-Sources
- changing the user to be "root"
$ sudo su --> enter your root password
Attention: Be careful - the root-user can do really everything on the system - also damaging the running OS
- going to the directory where you want to build the kernel
$ cd /usr/src/
- install the source code version control system software "git":
$ apt install git
- going into the kernel-root-path
$ cd /usr/src/linux/
- getting the kernel-sources (cloning) from github:
$ git clone --depth 1 https://github.com/hardkernel/linux.git -b odroidg12-4.9.y
configuring the kernel
- configuring the base configuration of the kernel
$ make odroidg12_defconfig
- edit the uart-driver with an editor of your choice - for me it's vi -> linux/drivers/amlogic/uart/meson_uart.c
static void meson_uart_change_speed(struct uart_port *port, unsigned long baud) { u32 val; struct meson_uart_port *mup = to_meson_port(port); struct platform_device *pdev = to_platform_device(port->dev); while (!(readl(port->membase + AML_UART_STATUS) & AML_UART_TX_EMPTY)) cpu_relax(); #ifdef UART_TEST_DEBUG if (port->line != 0) baud = 115200; #endif // this part is added. // trace_printk() is not neccesarry, it is just for debugging. trace_printk("Your baudrate: %ld\n", baud); if(baud == 38400) { baud = 31250; trace_printk("Change to %ld\n", baud); }
> Main Page > Piano Expander based on Pianotec and Odroid-N2