Difference between revisions of "Raspberry Pi 1"

From Funtoo
Jump to navigation Jump to search
(→‎Download the Necessary Files: swap to stage3 latest link instead of dated link.)
(→‎set your pass: remove cruft that doesn't need configured, swap from partlabel to label, partlabel looks like it's not supported on zero, tzselect)
Line 166: Line 166:
###i## echo "sys-kernel/raspberrypi-image **" >> /etc/portage/package.accept_keywords
###i## echo "sys-kernel/raspberrypi-image **" >> /etc/portage/package.accept_keywords
###i## emerge raspberrypi-userland-bin raspberrypi-firmware raspberrypi-image
###i## emerge raspberrypi-userland-bin raspberrypi-firmware raspberrypi-image
}}
{{console|body=
###i## nano /boot/config.txt
}}
{{file|name=/boot/config.txt|body=
kernel=kernel7l.img
disable_overscan=0
}}
}}


Line 182: Line 173:


{{file|name=/boot/cmdline.txt|desc=Stifler's Mom|body=
{{file|name=/boot/cmdline.txt|desc=Stifler's Mom|body=
console=tty1 root=PARTLABEL=FUNTOO rootfstype=ext4 elevator=noop fsck.repair=yes quiet rootwait
console=tty1 root=LABEL=FUNTOO rootfstype=ext4 elevator=noop fsck.repair=yes quiet rootwait
}}
}}


Set your timezone:
Set your timezone:
{{console|body=
{{console|body=
###i## ln -sf /usr/share/zoneinfo/America/Detroit /etc/localtime
###i## ln -sf /usr/share/zoneinfo/$(tzselect) /etc/localtime
}}
}}



Revision as of 20:57, July 26, 2021

   Warning

this document is under construction

This guide draws heavily on Raspberry_Pi_2, Raspberry_Pi_4, Undead_USB_Install, and Install

What you need

  1. Raspberry PI zero w
  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

usb drive

root # echo 'KERNEL=="sdc*", SYMLINK+="funtoo%n"' > /etc/udev/rules.d/01-funtoo.rules
root # rc-service udev-trigger restart

mmc drive

root # echo 'KERNEL=="mmcblk0", SYMLINK+="funtoo"' > /etc/udev/rules.d/01-funtoo.rules
root # echo 'KERNEL=="mmcblk0p*", SYMLINK+="funtoo%n"' >> /etc/udev/rules.d/01-funtoo.rules
root # rc-service udev-trigger restart
root # cgdisk /dev/funtoo
  • delete everything:
Command: new ↵
First sector: 
Size:  +1M ↵
Hex Code: EF02 ↵
Name: BIOS Boot ↵
  • scroll down to the large chunk of free space:
Command: new ↵
First sector: 
Last sector: +256M ↵
Hex Code: EF00 ↵
Name: BOOT ↵
  • scroll down to the large chunk of free space:
Command: new ↵
First sector: 
Last sector: 
Hex Code:  8307 ↵
Name: FUNTOO ↵
Disk Drive: /dev/sdc
                            Size: 62333952, 29.7 GiB

Part. #     Size        Partition Type            Partition Name
----------------------------------------------------------------
            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 ARM32 root (/)      FUNTOO
Command: write ↵
Do you want to proceed? (Y/N): yes ↵
Command: quit ↵

Create File Systems

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

root # mkfs.vfat -F 32 /dev/funtoo2
root # fatlabel /dev/funtoo2 "BOOT"
root # mkfs.ext4 /dev/funtoo3
root # e2label /dev/funtoo3 "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/funtoo3 /mnt/funtoo 
root # mkdir /mnt/funtoo/boot
root # mount /dev/funtoo2 /mnt/funtoo/boot

Get the Funtoo Files Onto the SD Card

Download the Necessary Files

Grab the latest Raspberry_Pi_(Version_1) stage 3 file: Subarches

root # cd /mnt/funtoo
root # wget https://build.funtoo.org/1.4-release-std/arm-32bit/raspi/stage3-latest.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:
root # nano /mnt/funtoo/etc/portage/make.conf
   /mnt/funtoo/etc/portage/make.conf
FEATURES="-pid-sandbox"
  • Edit your fstab file so everything mounts correctly on boot:
  • Raspberry pi only supports partuuid and partlabel loading:
root # nano /mnt/funtoo/etc/fstab
   /mnt/funtoo/etc/fstab
proc /proc proc defaults 0 0
PARTLABEL=BOOT /boot vfat noauto,noatime 1 2
PARTLABEL=FUNTOO / ext4 noatime 0 1
tmpfs /var/tmp/portage tmpfs size=4G,uid=portage,gid=portage,mode=775,noatime 0 0

Chrooting into your new installation

for a good time install Package:Fchroot

root # cd /mnt/funtoo
root # fchroot .

set your pass

  • Set yo password
root # useradd -o -u 0 -g 0 funtoo && passwd funtoo && ego sync
  • mount ramdisk, unmount if insufficient compile space:
root # mkdir /var/tmp/portage
root # chown portage:portage /var/tmp/portage
root # mount /var/tmp/portage
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/cmdline.txt
   /boot/cmdline.txt - Stifler's Mom
console=tty1 root=LABEL=FUNTOO rootfstype=ext4 elevator=noop fsck.repair=yes quiet rootwait

Set your timezone:

root # ln -sf /usr/share/zoneinfo/$(tzselect) /etc/localtime
  • Set Services:
root # rc-update add dhcpcd default
root # rc-update add busybox-ntpd boot
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.

Reboot and merge,or just merge

  • Set your profile:
root # epro list 
root # epro flavor desktop
root # epro mix-in lxde
root # echo "media-plugins/alsa-plugins pulseaudio" >> /etc/portage/package.use
root # echo "net-print/cups -zeroconf" >> /etc/portage/package.use
root # echo "gnome-base/gvfs -http" >> /etc/portage/package.use
root # emerge xorg-x11 elogind pulseaudio networkmanager lightdm lxde-meta dillo
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
root # rm /etc/udev/rules.d/01-funtoo.rules

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.