Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/inindev/nanopi-r4s
debian arm64 linux for the nanopi r4s
https://github.com/inindev/nanopi-r4s
arm arm64 debian device-tree linux nanopi nanopi-r4s r4s r4s-firmware rk3399 u-boot
Last synced: about 1 month ago
JSON representation
debian arm64 linux for the nanopi r4s
- Host: GitHub
- URL: https://github.com/inindev/nanopi-r4s
- Owner: inindev
- License: gpl-3.0
- Created: 2021-06-14T01:28:04.000Z (over 3 years ago)
- Default Branch: main
- Last Pushed: 2023-06-04T20:30:46.000Z (over 1 year ago)
- Last Synced: 2023-06-04T21:21:37.301Z (over 1 year ago)
- Topics: arm, arm64, debian, device-tree, linux, nanopi, nanopi-r4s, r4s, r4s-firmware, rk3399, u-boot
- Language: Shell
- Homepage:
- Size: 114 KB
- Stars: 14
- Watchers: 1
- Forks: 2
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# nanopi-r4s
debian arm64 linux for the nanopi r4s---
#### Notice: Unmaintained Repository
This repository is no longer being maintained. An attempt was made to update to debian 12 bookworm (see [bookworm](https://github.com/inindev/nanopi-r4s/tree/bookworm) branch) but the pci lan nic is not loading in linux. This device was always unreliable on reboot and would often need to be power cycled to restart. I recommend looking at the [nanopi r5c or r5s](https://github.com/inindev/nanopi-r5) instead. The [debian bullseye release](https://github.com/inindev/nanopi-r4s/releases/tag/v11.4) here is a functioning load.---
### debian bullseye setup
**1. download image:**
```
wget https://github.com/inindev/nanopi-r4s/releases/download/v11.4/bullseye.img.xz
```
**2. determine the location of the target micro sd card:**
* before plugging-in device:
```
ls -l /dev/sd*
ls: cannot access '/dev/sd*': No such file or directory
```* after plugging-in device:
```
ls -l /dev/sd*
brw-rw---- 1 root disk 8, 0 Jul 2 16:33 /dev/sda
```
* note: for mac, the device is ```/dev/rdiskX```
**3. in the case above, substitute 'a' for 'X' in the command below (for /dev/sda):**
```
sudo sh -c 'xzcat bullseye.img.xz > /dev/sdX && sync'
```#### when the micro sd has finished imaging, eject and use it to boot the nanopi r4s to finish setup
**4. login:**
```
user: [email protected]
pass: debian
```
**5. take updates:**
```
sudo apt update
sudo apt upgrade
```
**6. create account & login as new user:**
```
sudo adduser youruserid
echo ' ALL=(ALL) NOPASSWD: ALL' | sudo tee /etc/sudoers.d/
sudo chmod 440 /etc/sudoers.d/
```
**7. lockout and/or delete debian account:**
```
sudo passwd -l debian
sudo chsh -s /usr/sbin/nologin debian
``````
sudo deluser --remove-home debian
sudo rm /etc/sudoers.d/debian
```
**8. change hostname (optional):**
```
sudo nano /etc/hostname
sudo nano /etc/hosts
```
---
### booting directly to usb from micro sd bootstrap
The nanopi r4s board always needs to bootstrap from a micro sd card as it contains no embedded flash like a raspberry pi4.
The minimum required binary for the micro sd is a special version of uboot which redirects the boot process to an attached
usb emmc (nand flash) drive.
**1. download images:**
```
wget https://github.com/inindev/nanopi-r4s/releases/download/v11.4/usb_rksd_loader.img
wget https://github.com/inindev/nanopi-r4s/releases/download/v11.4/usb_u-boot.itb
```
**2. determine the location of the target micro sd card:**
* before plugging-in device:
```
ls -l /dev/sd*
ls: cannot access '/dev/sd*': No such file or directory
```* after plugging-in device:
```
ls -l /dev/sd*
brw-rw---- 1 root disk 8, 0 Jul 2 16:33 /dev/sda
```
* note: for mac, the device is ```/dev/rdiskX```
**3. in the case above, substitute 'a' for 'X' in the command below (for /dev/sda):**
```
cat /dev/zero | sudo tee /dev/sdX
sudo dd bs=4K seek=8 if=usb_rksd_loader.img of=/dev/sdX conv=notrunc
sudo dd bs=4K seek=2048 if=usb_u-boot.itb of=/dev/sdX conv=notrunc
sync
```#### when the micro sd has finished imaging, eject and use it to boot the nanopi r4s to usb
---
### building debian bullseye arm64 for the nanopi r4s from scratch
The build script builds native arm64 binaries and thus needs to be run from an arm64 device such as a raspberry pi4 running
a 64 bit arm linux. The initial build of this project used a debian arm64 raspberry pi4, but now uses a nanopi r4s running
pure debian bullseye arm64.
**1. clone the repo:**
```
git clone https://github.com/inindev/nanopi-r4s.git
cd nanopi-r4s
```
**2. run the debian build script**
```
cd debian
sudo sh make_debian_img.sh
```
* note: edit the build script to change various options: ```nano make_debian_img.sh```
**3. the output if the build completes successfully**
```
mmc_2g.img.xz
```