Difference between revisions of "Raspberry Pi 4"

From Funtoo
Jump to navigation Jump to search
m (→‎Pre-boot Configuration: no grub uboot)
(update everything!)
Line 1: Line 1:
This guide draws heavily on [[Raspberry_Pi_2]]
This guide draws heavily on [[Raspberry_Pi_2]], [[Undead_USB_Install]], and [[Install]]


== What you need ==
== What you need ==
Line 174: Line 174:
}}
}}


==Clean unmount==
Set your timezone:
{{console|body=
###i## ln -sf /usr/share/zoneinfo/America/Detroit /etc/localtime
}}


Make sure all buffers have been flushed and unmount the temp directories:
*Set Services:
{{console|body=
{{console|body=
###i## exit
###i## rc-update add dhcpcd default
###i## cd .. && sync
###i## rc-update add busybox-ntpd sysinit
###i## umount -lR funtoo
###i## rc-update add swclock boot
###i## rc-update del hwclock boot
###i## rc-update del swap boot
}}
}}


==Booting the Raspberry Pi 4==
{{note|you should probably test that your pi boots at this point BEFORE emerging everything.}}
*Set your profile:


{{console|body=
{{console|body=
###i## /etc/init.d/busybox-ntpd restart
###i## epro list
or
###i## epro flavor server
###i## date MMDDHHMMCCYY
}}
}}


Next, set your timezone:
{{console|body=
{{console|body=
###i## ln -sf /usr/share/zoneinfo/America/Detroit /etc/localtime
###i## emerge -avuND @world
}}
}}


Set your profile with epro:
[[Install/Stage3_Desktop]]


{{console|body=
==Clean unmount==
###i## epro list
###i## epro flavor server
}}


Make sure all buffers have been flushed and unmount the temp directories:
{{console|body=
{{console|body=
###i## rc-update add dhcpcd default
###i## exit
###i## rc-update add busybox-ntpd sysinit
###i## cd .. && sync
###i## rc-update add swclock boot
###i## umount -lR funtoo
###i## rc-update del hwclock boot
###i## rc-update del swap boot
}}
}}


Now you can follow the [[Funtoo Linux Installation|Funtoo Install documentation]] to continue configuring your system.  You'll definitely want to look into {{Package|sys-devel/distcc}} if you are going to be adding lots of software to your system.
Now you can follow the [[Funtoo Linux Installation|Funtoo Install documentation]] to continue configuring your system.  You'll definitely want to look into {{Package|sys-devel/distcc}} if you are going to be adding lots of software to your system.

Revision as of 07:33, November 14, 2020

This guide draws heavily on Raspberry_Pi_2, Undead_USB_Install, and Install

What you need

  1. Raspberry PI 4
  2. An existing Linux install Undead_USB_Install built with fchroot is a solid choice if you do not have funtoo installed on a hard drive.
  3. A suitable SD card for your PI.

Prepare your SD card

List the device to be partitioned, mine is on /dev/sdc

root # lsblk -o name,size,label,partlabel
root # gdisk /dev/sdc
Command: o ↵
This option deletes all partitions and creates a new protective MBR.
Proceed? (Y/N): y ↵
Command: n ↵
Partition Number: 1 ↵
First sector: 
Last sector: +1M ↵
Hex Code: EF02 ↵
Command: c ↵
Partition number: 1
Enter name: BIOS Boot
Command: n ↵
Partition Number: 2 ↵
First sector: 
Last sector: +384M ↵
Hex Code: EF00 ↵
Command: c ↵
Partition number: 2
Enter name: BOOT
Command: n ↵
Partition Number: 3 ↵
First sector: 
Last sector: 
Hex Code:  8305 ↵
Command: c ↵
Partition number: 3
Enter name: FUNTOO
Command: w ↵
Do you want to proceed? (Y/N): Y ↵
           1007.0 KiB  free space
  1        1024.0 KiB  BIOS boot partition	  BIOS Boot
  2        256.0 MiB   EFI System                BOOT
  3        29.5 GiB    Linux ARM64 root (/)      FUNTOO

write quit

Create File Systems

Next, we need to create file systems on the partitions:

root # mkfs.vfat -F 32 /dev/sdc2
root # fatlabel /dev/sdc2 "BOOT"
root # mkfs.ext4 /dev/sdc3
root # e2label /dev/sdc3 "FUNTOO"

Prepare Your Boot Partition

Make mount points for your boot and root partitions on the SD card:

root # mkdir /mnt/funtoo

Mount your SD card:

root # mount /dev/sdc3 /mnt/funtoo 
root # mkdir /mnt/funtoo/boot
root # mount /dev/sdc2 /mnt/funtoo/boot

Get the Funtoo Files Onto the SD Card

Download the Necessary Files

Grab the latest Arm64_generic stage 3 file: Subarches

root # cd /mnt/funtoo
root # wget https://build.funtoo.org/1.4-release-std/arm-64bit/arm64_generic/2020-09-07/stage3-arm64_generic-1.4-release-std-2020-09-07.tar.xz

Extract the stage 3:

root # tar --numeric-owner --xattrs --xattrs-include='*' -xpf stage3*

Pre-boot Configuration

Edit your make.conf file to enable fchroot to compile:

   /mnt/funtoo/etc/portage/make.conf
FEATURES="-pid-sandbox"
PORTAGE_TMPDIR="/run"

Edit your fstab file so everything mounts correctly on boot:

root # lsblk -o name,size,partuuid
root # nano /mnt/funtoo/etc/fstab
   /mnt/funtoo/etc/fstab
proc /proc proc defaults 0 0
PARTUUID=1727e25d-a9c4-455c-95e7-8feb7f28622d /boot vfat noauto,noatime 1 2
PARTUUID=f91ca0ab-74cf-4381-ae50-11ffb853fb3b / ext4 noatime 0 1

Chrooting into your new installation

for a good time install Package:Fchroot

as root, start the binfmt service:

root # /etc/init.d/binfmt restart

Finally perform the usually chroot routine (as described in detail in the Funtoo Linux Installation Guide):

root # cd /mnt/funtoo
root # mount --rbind /run run
root # fchroot .
  • Set yo password
root # passwd && ego sync
root # echo "media-libs/raspberrypi-userland-bin **" >> /etc/portage/package.accept_keywords
root # echo "sys-boot/raspberrypi-firmware **" >> /etc/portage/package.accept_keywords
root # echo "sys-kernel/raspberrypi-image **" >> /etc/portage/package.accept_keywords
root # emerge raspberrypi-userland-bin raspberrypi-firmware raspberrypi-image
root # nano /boot/config.txt
   /boot/config.txt
dtparam=audio=on
dtoverlay=vc4-fkms-v3d
max_framebuffers=2
arm_64bit=1
root # lsblk -o name,size,partuuid
root # nano /boot/cmdline.txt
   /boot/cmdline.txt - Stifler's Mom
console=serial0,115200 console=tty1 root=PARTUUID=f91ca0ab-74cf-4381-ae50-11ffb853fb3b rootfstype=ext4 elevator=noop fsck.repair=yes rootwait

Set your timezone:

root # ln -sf /usr/share/zoneinfo/America/Detroit /etc/localtime
  • Set Services:
root # rc-update add dhcpcd default
root # rc-update add busybox-ntpd sysinit
root # rc-update add swclock boot
root # rc-update del hwclock boot
root # rc-update del swap boot
   Note

you should probably test that your pi boots at this point BEFORE emerging everything.

  • Set your profile:
root # epro list 
root # epro flavor server
root # emerge -avuND @world

Install/Stage3_Desktop

Clean unmount

Make sure all buffers have been flushed and unmount the temp directories:

root # exit
root # cd .. && sync 
root # umount -lR funtoo

Now you can follow the Funtoo Install documentation to continue configuring your system. You'll definitely want to look into sys-devel/distcc if you are going to be adding lots of software to your system.