Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Upgrade to Linux 4.14 #49

Open
wants to merge 2 commits into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
32 changes: 30 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,8 @@
# pi64

pi64 is an experimental 64-bit OS for the Raspberry Pi 3. It is based on Debian Stretch and backed by a 4.11 Linux kernel.
pi64 is a 64-bit OS for the Raspberry Pi 3, backed by a 4.14 Linux kernel.

It is essentially a minimalist Debian distribution shipping with systemd and a basic networking setup, just enough to let you boot and run `apt-get`!

## Releases

Expand All @@ -24,6 +26,12 @@ On the lite version, SSH is enabled by default.

## FAQ

- [How do I update the Linux Kernel?](#how-do-i-update-the-linux-kernel)
- [Can I still run 32-bit programs with pi64?](#can-i-still-run-32-bit-programs-with-pi64)
- [How can I remove SSH?](#how-can-i-remove-ssh)
- [Is there a way to run custom post-installation steps?](#is-there-a-way-to-run-custom-post-installation-steps)
- [How to build pi64 from source?](#how-to-build-pi64-from-source)

### How do I update the Linux Kernel?

You can upgrade the Linux Kernel using this command :
Expand All @@ -36,7 +44,7 @@ This would make sure the latest release from https://github.com/bamarni/pi64-ker

### Can I still run 32-bit programs with pi64?

You should be able to run 32-bit programs out of the box as long as they're statically linked. You can check this with the `file` command :
You should be able to run 32-bit programs out of the box as long as they're statically linked. You can check this with the `file` command :

$ file ./my-executable
./my-executable: ELF 32-bit LSB executable, ARM, EABI5 version 1 (SYSV), statically linked, not stripped
Expand All @@ -61,3 +69,23 @@ of an extra monitor / keyboard. If you want to remove it, just run :
You can just drop a file called `setup` on the boot partition. When the installer notices that file at `/boot/setup`, it will automatically execute it using bash when installation finishes.

This can be useful if you want to distribute your own image based on pi64.

### How to build pi64 from source?

If you feel adventurous and want to build pi64 from source, you can easily do so through Docker.

This is mostly useful if you want to make a custom Kernel build or want to tweak the distribution to your needs.

To proceed with the build, run the following command :

docker build -t pi64 .

Then you can build an image of the lite or desktop version :

docker run -it --privileged -v $PWD:/root/pi64 -v /opt/vc:/opt/vc -w /root/pi64 \
pi64 make build/pi64-lite.img

docker run -it --privileged -v $PWD:/root/pi64 -v /opt/vc:/opt/vc -w /root/pi64 \
pi64 make build/pi64-desktop.img

The image will appear under the `./build` folder.
5 changes: 4 additions & 1 deletion cmd/pi64-build/finish.go
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,10 @@ rsync -a linux/ root-$version/

# https://github.com/RPi-Distro/repo/issues/51
mkdir -p root-$version/lib/firmware/brcm
wget -P root-$version/lib/firmware/brcm https://github.com/RPi-Distro/firmware-nonfree/raw/master/brcm80211/brcm/brcmfmac43430-sdio.txt
wget -P root-$version/lib/firmware/brcm https://github.com/RPi-Distro/firmware-nonfree/raw/master/brcm/brcmfmac43430-sdio.txt
wget -P root-$version/lib/firmware/brcm https://github.com/RPi-Distro/firmware-nonfree/raw/master/brcm/brcmfmac43455-sdio.bin
wget -P root-$version/lib/firmware/brcm https://github.com/RPi-Distro/firmware-nonfree/raw/master/brcm/brcmfmac43455-sdio.clm_blob
wget -P root-$version/lib/firmware/brcm https://github.com/RPi-Distro/firmware-nonfree/raw/master/brcm/brcmfmac43455-sdio.txt
`)
if out, err := script.CombinedOutput(); err != nil {
fmt.Fprintln(os.Stderr, string(out))
Expand Down
2 changes: 1 addition & 1 deletion make/linux-src
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ set -ex

mkdir -p build && cd build

git clone --depth=1 -b rpi-4.11.y https://github.com/raspberrypi/linux.git linux-src
git clone --depth=1 -b rpi-4.14.y https://github.com/raspberrypi/linux.git linux-src

cd linux-src

Expand Down