From cc3bfd245b8799efd23b8ea73c977ba487dd34d8 Mon Sep 17 00:00:00 2001 From: Bilal Amarni Date: Sun, 3 Dec 2017 18:32:22 +0100 Subject: [PATCH 1/5] Upgrade to Linux 4.14 --- README.md | 32 ++++++++++++++++++++++++++++++-- make/linux-src | 2 +- 2 files changed, 31 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index ff08117..e9f2b6d 100644 --- a/README.md +++ b/README.md @@ -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 @@ -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 : @@ -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 @@ -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. diff --git a/make/linux-src b/make/linux-src index b6ab756..300846b 100755 --- a/make/linux-src +++ b/make/linux-src @@ -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 From f92d90499425c072342ffbc1d0d31af19b0e35e6 Mon Sep 17 00:00:00 2001 From: Thomas Kaiser Date: Tue, 20 Mar 2018 20:39:10 +0100 Subject: [PATCH 2/5] Add brcmfmac43455-sdio and adjust paths https://github.com/RPi-Distro/firmware-nonfree/commit/e18f47df5728a89a424df0e00d113decd64ae526 --- cmd/pi64-build/finish.go | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/cmd/pi64-build/finish.go b/cmd/pi64-build/finish.go index bed95c9..f3cf24b 100644 --- a/cmd/pi64-build/finish.go +++ b/cmd/pi64-build/finish.go @@ -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)) From bc14d32b0d452f517348d1980626b2d34c6093e6 Mon Sep 17 00:00:00 2001 From: Crazyhead90 <20604229+Crazyhead90@users.noreply.github.com> Date: Thu, 12 Apr 2018 12:00:37 +0200 Subject: [PATCH 3/5] update bootfiles from Pi 3b to 3b + --- make/linux | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/make/linux b/make/linux index 5687b86..3a3e829 100755 --- a/make/linux +++ b/make/linux @@ -7,7 +7,7 @@ cd build/linux-src mkdir -p ../linux/boot ../linux/usr/bin ../linux/opt cp arch/arm64/boot/Image ../linux/boot/kernel8.img -cp arch/arm64/boot/dts/broadcom/bcm2710-rpi-3-b.dtb ../linux/boot +cp arch/arm64/boot/dts/broadcom/bcm2710-rpi-3-b-plus.dtb ../linux/boot make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- INSTALL_MOD_PATH=$(dirname $PWD)/linux modules_install make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- INSTALL_HDR_PATH=$(dirname $PWD)/linux/usr headers_install From 3b88ff8bf85ffd3ed9df264a625ccc6bf8fca447 Mon Sep 17 00:00:00 2001 From: Crazyhead90 <20604229+Crazyhead90@users.noreply.github.com> Date: Thu, 12 Apr 2018 12:01:33 +0200 Subject: [PATCH 4/5] Updated to ubuntu 17.10 and added rsync \ command --- Dockerfile | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/Dockerfile b/Dockerfile index 595f8ca..842dc79 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,4 +1,4 @@ -FROM ubuntu:17.04 +FROM ubuntu:17.10 ENV GOPATH=/go PATH=/go/bin:/usr/lib/go-1.8/bin:$PATH @@ -19,6 +19,7 @@ RUN apt-get update \ dosfstools \ kpartx \ golang-1.8-go \ + rsync \ && apt-get clean \ && rm -rf /var/lib/apt/lists/* \ && go get \ From 3ea63a85643ce84db3b86c5cce286ad1e764faac Mon Sep 17 00:00:00 2001 From: Crazyhead90 <20604229+Crazyhead90@users.noreply.github.com> Date: Fri, 20 Apr 2018 09:38:13 +0200 Subject: [PATCH 5/5] Update linux --- make/linux | 1 + 1 file changed, 1 insertion(+) diff --git a/make/linux b/make/linux index 3a3e829..c5a7c4b 100755 --- a/make/linux +++ b/make/linux @@ -7,6 +7,7 @@ cd build/linux-src mkdir -p ../linux/boot ../linux/usr/bin ../linux/opt cp arch/arm64/boot/Image ../linux/boot/kernel8.img +cp arch/arm64/boot/dts/broadcom/bcm2710-rpi-3-b.dtb ../linux/boot cp arch/arm64/boot/dts/broadcom/bcm2710-rpi-3-b-plus.dtb ../linux/boot make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- INSTALL_MOD_PATH=$(dirname $PWD)/linux modules_install make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- INSTALL_HDR_PATH=$(dirname $PWD)/linux/usr headers_install