§2023-09-01 !!!Failed!!
¶1. Create disk image file to simulate
$ pwd
/home/alexlai/build/gentoo/src
alexlai@h2Jammy:~/build/gentoo/src$ ls -l
total 40846536
drwxrwxr-x 2 alexlai alexlai 6 九 1 15:34 boot
drwxr-xr-x 21 root root 4096 八 28 10:32 root
-rw-rw-r-- 1 alexlai alexlai 34359738368 九 2 08:24 rpi3-32G-openrc.img
-rw-rw-r-- 1 alexlai alexlai 34359738368 九 2 08:21 rpi3-32G-systemd-failed.img
-rw-rw-r-- 1 alexlai alexlai 34359738368 九 1 16:56 rpi3-boot.img.old
-rw-rw-r-- 1 alexlai alexlai 224341624 八 28 08:36 stage3-arm64-openrc-20230827T234643Z.tar.xz
-rw-rw-r-- 1 alexlai alexlai 245624008 八 28 11:06 stage3-arm64-systemd-20230827T234643Z.tar.xz
- rpi3-boot.img, 32G was created by,
alexlai@h2Jammy:~/build/gentoo/src$ dd if=/dev/zero of=rpi3-32G-openrc.img bs=1M count=32768
# find out which /dev/loop?? is available
$ sudo losetup -f
[sudo] password for alexlai:
/dev/loop24
# associate the loop to img file
$ sudo losetup /dev/loop24 rpi3-32G-openrc.img
alexlai@h2Jammy:~/build/gentoo/src$ sudo fdisk /dev/loop24
Welcome to fdisk (util-linux 2.37.2).
Changes will remain in memory only, until you decide to write them.
Be careful before using the write command.
Device does not contain a recognized partition table.
Created a new DOS disklabel with disk identifier 0xbcc810c9.
Command (m for help): n
Partition type
p primary (0 primary, 0 extended, 4 free)
e extended (container for logical partitions)
Select (default p):
Using default response p.
Partition number (1-4, default 1):
First sector (2048-67108863, default 2048):
Last sector, +/-sectors or +/-size{K,M,G,T,P} (2048-67108863, default 67108863): +512M
Created a new partition 1 of type 'Linux' and of size 512 MiB.
Command (m for help): t
Selected partition 1
Hex code or alias (type L to list all): 0c
Changed type of partition 'Linux' to 'W95 FAT32 (LBA)'.
Command (m for help): n
Partition type
p primary (1 primary, 0 extended, 3 free)
e extended (container for logical partitions)
Select (default p):
Using default response p.
Partition number (2-4, default 2):
First sector (1050624-67108863, default 1050624):
Last sector, +/-sectors or +/-size{K,M,G,T,P} (1050624-67108863, default 67108863):
Created a new partition 2 of type 'Linux' and of size 31.5 GiB.
Command (m for help): p
Disk /dev/loop24: 32 GiB, 34359738368 bytes, 67108864 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0xbcc810c9
Device Boot Start End Sectors Size Id Type
/dev/loop24p1 2048 1050623 1048576 512M c W95 FAT32 (LBA)
/dev/loop24p2 1050624 67108863 66058240 31.5G 83 Linux
Command (m for help): w
The partition table has been altered.
Calling ioctl() to re-read partition table.
Re-reading the partition table failed.: Invalid argument
The kernel still uses the old table. The new table will be used at the next reboot or after you run partprobe(8) or partx(8).
$ losetup -a
/dev/loop1: []: (/var/lib/snapd/snaps/core18_2790.snap)
/dev/loop19: []: (/home/alexlai/build/gentoo/src/rpi3-boot.img.old)
/dev/loop17: []: (/var/lib/snapd/snaps/core22_864.snap)
/dev/loop8: []: (/var/lib/snapd/snaps/firefox_3068.snap)
/dev/loop15: []: (/var/lib/snapd/snaps/snapd_19457.snap)
/dev/loop6: []: (/var/lib/snapd/snaps/zola_810.snap)
/dev/loop23: []: (/var/lib/snapd/snaps/ubuntu-budgie-welcome_469.snap)
/dev/loop13: []: (/var/lib/snapd/snaps/gtk-common-themes_1535.snap)
/dev/loop4: []: (/var/lib/snapd/snaps/core20_2015.snap)
/dev/loop21: []: (/var/lib/snapd/snaps/snapd-desktop-integration_83.snap)
/dev/loop11: []: (/var/lib/snapd/snaps/gnome-3-38-2004_143.snap)
/dev/loop2: []: (/var/lib/snapd/snaps/core20_1974.snap)
/dev/loop0: []: (/var/lib/snapd/snaps/bare_5.snap)
/dev/loop18: []: (/var/lib/snapd/snaps/snapd_19993.snap)
/dev/loop9: []: (/var/lib/snapd/snaps/gnome-42-2204_120.snap)
/dev/loop16: []: (/var/lib/snapd/snaps/snapd-desktop-integration_57.snap)
/dev/loop7: []: (/var/lib/snapd/snaps/firefox_3026.snap)
/dev/loop24: []: (/home/alexlai/build/gentoo/src/rpi3-32G.img)
/dev/loop14: []: (/var/lib/snapd/snaps/hunspell-dictionaries-1-7-2004_2.snap)
/dev/loop5: []: (/var/lib/snapd/snaps/core22_858.snap)
/dev/loop22: []: (/var/lib/snapd/snaps/zola_806.snap)
/dev/loop12: []: (/var/lib/snapd/snaps/gnome-3-38-2004_140.snap)
/dev/loop3: []: (/var/lib/snapd/snaps/core18_2785.snap)
/dev/loop20: []: (/var/lib/snapd/snaps/ubuntu-budgie-welcome_467.snap)
/dev/loop10: []: (/var/lib/snapd/snaps/gnome-42-2204_126.snap)
$ sudo partprobe /dev/loop24 <--- !!! This is a must !!!!
$ sudo mkfs.vfat -F 32 /dev/loop24p1
mkfs.fat 4.2 (2021-01-31)
alexlai@h2Jammy:~/build/gentoo/src$ sudo mkfs.ext4 /dev/loop24p2
mke2fs 1.46.5 (30-Dec-2021)
Discarding device blocks: done
Creating filesystem with 8257280 4k blocks and 2064384 inodes
Filesystem UUID: 0b28f169-afbb-4f0c-93f4-3754e627af42
Superblock backups stored on blocks:
32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208,
4096000, 7962624
Allocating group tables: done
Writing inode tables: done
Creating journal (32768 blocks): done
Writing superblocks and filesystem accounting information: done
$ sudo mount /dev/loop24p2 root
$ sudo tar xvpf stage3-arm64-openrc-20230827T234643Z.tar.xz -C root
$ sudo arch-chroot root /bin/bash
h2Jammy / # source /etc/profile
h2Jammy / # export PS1="(chroot) $PS1"
(chroot) h2Jammy / #
(chroot) h2Jammy / # lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTS
loop0 7:0 0 4K 1 loop
loop1 7:1 0 55.7M 1 loop
loop2 7:2 0 63.4M 1 loop
loop3 7:3 0 55.7M 1 loop
loop4 7:4 0 63.5M 1 loop
loop5 7:5 0 73.9M 1 loop
loop6 7:6 0 7.7M 1 loop
loop7 7:7 0 237.2M 1 loop
loop8 7:8 0 236.8M 1 loop
loop9 7:9 0 485.5M 1 loop
loop10 7:10 0 485.5M 1 loop
loop11 7:11 0 349.7M 1 loop
loop12 7:12 0 349.7M 1 loop
loop13 7:13 0 91.7M 1 loop
loop14 7:14 0 37.1M 1 loop
loop15 7:15 0 53.3M 1 loop
loop16 7:16 0 428K 1 loop
loop17 7:17 0 73.9M 1 loop
loop18 7:18 0 40.8M 1 loop
loop19 7:19 0 32G 0 loop
loop20 7:20 0 26.8M 1 loop
loop21 7:21 0 452K 1 loop
loop22 7:22 0 7.6M 1 loop
loop23 7:23 0 26.8M 1 loop
loop24 7:24 0 32G 0 loop
|-loop24p1 259:0 0 512M 0 part
`-loop24p2 259:1 0 31.5G 0 part /
sda 8:0 0 931.5G 0 disk
|-sda1 8:1 0 512M 0 part
|-sda2 8:2 0 15.2G 0 part [SWAP]
`-sda3 8:3 0 915.8G 0 part
¶2. nano /etc/resolv.conf
as
nameserver 8.8.8.8
nameserver 8.8.4.4
``
- test
¶2-1. set locale
- /etc/locale.gen as
h2Jammy / # cat /etc/locale.gen
# /etc/locale.gen: list all of the locales you want to have on your system.
# See the locale.gen(5) man page for more details.
#
# The format of each line:
# <locale name> <charset>
#
# Where <locale name> starts with a name as found in /usr/share/i18n/locales/.
# It must be unique in the file as it is used as the key to locale variables.
# For non-default encodings, the <charset> is typically appended.
#
# Where <charset> is a charset located in /usr/share/i18n/charmaps/ (sans any
# suffix like ".gz").
#
# All blank lines and lines starting with # are ignored.
#
# For the default list of supported combinations, see the file:
# /usr/share/i18n/SUPPORTED
#
# Whenever glibc is emerged, the locales listed here will be automatically
# rebuilt for you. After updating this file, you can simply run `locale-gen`
# yourself instead of re-emerging glibc.
#en_US ISO-8859-1
en_US.UTF-8 UTF-8
#ja_JP.EUC-JP EUC-JP
#ja_JP.UTF-8 UTF-8
#ja_JP EUC-JP
#en_HK ISO-8859-1
#en_PH ISO-8859-1
#de_DE ISO-8859-1
#de_DE@euro ISO-8859-15
#es_MX ISO-8859-1
#fa_IR UTF-8
#fr_FR ISO-8859-1
#fr_FR@euro ISO-8859-15
#it_IT ISO-8859-1
- `locale-gen
h2Jammy / # locale-gen
* Generating 2 locales (this might take a while) with 4 jobs
* (2/2) Generating C.UTF-8 ... [ ok ]
* (1/2) Generating en_US.UTF-8 ... [ ok ]
* Generation complete
* Adding locales to archive ...
¶2.2 /etc/profile
- nano /etc/profile
# /etc/profile: login shell setup
#
# That this file is used by any Bourne-shell derivative to setup the
# environment for login shells.
#
# Load environment settings from profile.env, which is created by
# env-update from the files in /etc/env.d
if [ -e /etc/profile.env ] ; then
. /etc/profile.env
fi
# You should override these in your ~/.bashrc (or equivalent) for per-user
# settings. For system defaults, you can add a new file in /etc/profile.d/.
export EDITOR=${EDITOR:-/bin/nano}
export PAGER=${PAGER:-/usr/bin/less}
unset ROOTPATH
# process *.sh files in /etc/profile.d
for sh in /etc/profile.d/*.sh ; do
[ -r "$sh" ] && . "$sh"
done
unset sh
if [ -n "${BASH_VERSION-}" ] ; then
# Newer bash ebuilds include /etc/bash/bashrc which will setup PS1
# including color. We leave out color here because not all
# terminals support it.
if [ -f /etc/bash/bashrc ] ; then
# Bash login shells run only /etc/profile
# Bash non-login shells run only /etc/bash/bashrc
# Since we want to run /etc/bash/bashrc regardless, we source it
# from here. It is unfortunate that there is no way to do
# this *after* the user's .bash_profile runs (without putting
# it in the user's dot-files), but it shouldn't make any
# difference.
. /etc/bash/bashrc
else
PS1='\u@\h \w \$ '
fi
else
# Setup a bland default prompt. Since this prompt should be useable
# on color and non-color terminals, as well as shells that don't
# understand sequences such as \h, don't put anything special in it.
PS1="${USER:-$(whoami 2>/dev/null)}@$(uname -n 2>/dev/null) \$ "
fi
# export LANG, LC_ALL
export LANG=en_US.UTF-8
# LANG is the primary environmental variable that sets the default locale for your system.
export LC_ALL=C.UTF-8
# LC_ALL is another environmental variable that can override the settings of LANG and other LC_* variables for all locale categories.
#
# PS1
export PS1="(chroot) $PS1"
source /etc/profile
¶2.3 set time zone
(chroot) h2Jammy / # date
Sat Sep 2 01:21:48 -00 2023
(chroot) h2Jammy / # ln -sf /usr/share/zoneinfo/Asia/Taipei /etc/localtime
(chroot) h2Jammy / # date
Sat Sep 2 09:22:00 CST 2023
¶3.
-
(chroot) hc4Gentoo / # mkdir /etc/portage/repos.conf
-
nano /etc/portage/repos.conf/gentoo.conf
[gentoo]
location = /usr/portage
sync-type = rsync
sync-uri = rsync://rsync.namerica.gentoo.org/gentoo-portage
auto-sync = yes
priority = 10
¶3. /etc/portage/make.conf
- sample make.conf is from,
# These settings were set by the catalyst build script that automatically
# built this stage.
# Please consult /usr/share/portage/config/make.conf.example for a more
# detailed example.
COMMON_FLAGS="-O2 -pipe"
CFLAGS="${COMMON_FLAGS}"
CXXFLAGS="${COMMON_FLAGS}"
FCFLAGS="${COMMON_FLAGS}"
FFLAGS="${COMMON_FLAGS}"
# WARNING: Changing your CHOST is not something that should be done lightly.
# Please consult https://wiki.gentoo.org/wiki/Changing_the_CHOST_variable before changing.
CHOST="aarch64-unknown-linux-gnu"
# NOTE: This stage was built with the bindist Use flag enabled
# This sets the language of build output to English.
# Please keep this setting intact when reporting bugs.
LC_MESSAGES=C.utf8
# Pi3 users (or Pi4 users with a 1GiB variant) should be
# less aggressive here
MAKEOPTS="-j4"
¶4. emerge-webrsync
chroot) h2Jammy / # emerge-webrsync
!!! Section 'gentoo' in repos.conf has location attribute set to nonexistent directory: '/usr/portage'
!!! Invalid Repository Location (not a dir): '/usr/portage'
* PGP verification method: gemato
* Fetching most recent snapshot ...
* Trying to retrieve 20230831 snapshot from http://distfiles.gentoo.org ...
* Fetching file gentoo-20230831.tar.xz.md5sum ...
...
* Checking digest ...
* Checking signature ...
[ INFO] Refreshing keys...
[ INFO] Keys refreshed.
[ INFO] File /var/tmp/portage/webrsync-z12BIH/gentoo-20230831.tar.xz verified successfully against the signature in /var/tmp/portage/webrsync-z12BIH/gentoo-20230831.tar.xz.gpgsig:
[ INFO] - status: OpenPGPSignatureStatus.GOOD
[ INFO] - valid: True, trusted: True
[ INFO] - primary key: DCD05B71EAB94199527F44ACDB6B8C1F96D8BF6D
[ INFO] - subkey: E1D6ABB63BFCFB4BA02FDF1CEC590EEAC9189250
[ INFO] - timestamp: 2023-09-01 00:56:31 UTC
* Getting snapshot timestamp ...
* Syncing local repository ...
...
Performing Global Updates
(Could take a couple of minutes if you have a lot of binary packages.)
!!! /etc/portage/make.profile is not a symlink and will probably prevent most merges. <-- I did not have this error??
!!! It should point into a profile within /usr/portage/profiles/
!!! (You can safely ignore this message when syncing. It's harmless.)
!!! Your current profile is invalid. If you have just changed your profile
!!! configuration, you should revert back to the previous configuration.
!!! Allowed actions are limited to --help, --info, --search, --sync, and
!!! --version.
¶ 5. fix /etc/portage/make.profile
# ls -l /etc/portage/make.profile
lrwxrwxrwx 1 root root 67 Aug 28 02:48 /etc/portage/make.profile -> ../../var/db/repos/gentoo/profiles/default/linux/arm64/17.0/systemd
(chroot) h2Jammy / # ls -l /etc/portage/make.profile
lrwxrwxrwx 1 root root 67 Aug 28 02:48 /etc/portage/make.profile -> ../../var/db/repos/gentoo/profiles/default/linux/arm64/17.0/systemd
(chroot) h2Jammy / # ls -l /usr/portage/profiles/default/linux/amd64/
total 24
drwxr-xr-x 10 root root 4096 Sep 1 08:21 17.0
drwxr-xr-x 9 root root 4096 Sep 1 08:21 17.1
drwxr-xr-x 10 root root 4096 Sep 1 08:21 23.0
-rw-r--r-- 1 root root 2 Aug 9 2015 eapi
-rw-r--r-- 1 root root 338 Jul 1 2019 package.use.mask
-rw-r--r-- 1 root root 17 Dec 8 2017 parent
(chroot) h2Jammy / # ln -sf /usr/portage/profiles/default/linux/amd64/23.0 /etc/portage/make.profile
- rfetry `` (chroot) h2Jammy / # emerge-webrsync
- PGP verification method: gemato
- Fetching most recent snapshot ...
- Latest snapshot date: 20230831
- Approximate snapshot timestamp: 1693529100
-
Current local timestamp: 1693528801
- The current local timestamp is possibly identical to the
- timestamp of the latest snapshot. In order to force sync, use
- the --revert option or remove the timestamp file located at
- '/usr/portage/metadata/timestamp.x'. (chroot) h2Jammy / # rm /usr/portage/metadata/timestamp.x (chroot) h2Jammy / # emerge-webrsync ... (chroot) h2Jammy / # emerge-webrsync
- PGP verification method: gemato
- Fetching most recent snapshot ...
- Latest snapshot date: 20230831
- Approximate snapshot timestamp: 1693529100
-
Current local timestamp: 1693528801
- The current local timestamp is possibly identical to the
- timestamp of the latest snapshot. In order to force sync, use
- the --revert option or remove the timestamp file located at
- '/usr/portage/metadata/timestamp.x'. (chroot) h2Jammy / # rm /usr/portage/metadata/timestamp.x (chroot) h2Jammy / # emerge-webrsync ---> OK
¶ 6. Perform your first update
(chroot) h2Jammy / # emerge --ask --update --deep --newuse @world
- IMPORTANT: 13 news items need reading for repository 'gentoo'.
- Use eselect news read to view new items.
These are the packages that would be merged, in order:
¶7. `emerge --ask dev-vcs/git`
(chroot) h2Jammy / # emerge --ask dev-vcs/git setlocale: unsupported locale setting setlocale: unsupported locale setting
- IMPORTANT: 10 news items need reading for repository 'gentoo'.
- Use eselect news read to view new items.
- fix `setlocale: unsupported locale setting`
(chroot) h2Jammy / # nano /etc/locale.gen (chroot) h2Jammy / # locale-gen
- Generating 2 locales (this might take a while) with 4 jobs
- (2/2) Generating C.UTF-8 ... [ ok ]
- (1/2) Generating en_US.UTF-8 ... [ ok ]
- Generation complete
- Adding locales to archive ... [ ok ]
(chroot) h2Jammy / # localectl set-locale LANG=en_US.UTF-8 (chroot) h2Jammy / # locale locale: Cannot set LC_ALL to default locale: No such file or directory LANG=C.UTF8 LC_CTYPE="C.UTF8" LC_NUMERIC=lzh_TW LC_TIME=lzh_TW LC_COLLATE="C.UTF8" LC_MONETARY=lzh_TW LC_MESSAGES="C.UTF8" LC_PAPER=lzh_TW LC_NAME=lzh_TW LC_ADDRESS=lzh_TW LC_TELEPHONE=lzh_TW LC_MEASUREMENT=lzh_TW LC_IDENTIFICATION=lzh_TW LC_ALL= (chroot) h2Jammy / # export LANG=en_US.UTF-8 && export LC_ALL=en_US.UTF-8
- /etc/profile
/etc/profile: login shell setup
That this file is used by any Bourne-shell derivative to setup the
environment for login shells.
Load environment settings from profile.env, which is created by
env-update from the files in /etc/env.d
if [ -e /etc/profile.env ] ; then . /etc/profile.env fi
You should override these in your ~/.bashrc (or equivalent) for per-user
settings. For system defaults, you can add a new file in /etc/profile.d/.
export EDITOR=${EDITOR:-/bin/nano} export PAGER=${PAGER:-/usr/bin/less}
unset ROOTPATH
process *.sh files in /etc/profile.d
for sh in /etc/profile.d/*.sh ; do [ -r "$sh" ] && . "$sh" done unset sh
if [ -n "${BASH_VERSION-}" ] ; then # Newer bash ebuilds include /etc/bash/bashrc which will setup PS1 # including color. We leave out color here because not all # terminals support it. if [ -f /etc/bash/bashrc ] ; then # Bash login shells run only /etc/profile # Bash non-login shells run only /etc/bash/bashrc # Since we want to run /etc/bash/bashrc regardless, we source it # from here. It is unfortunate that there is no way to do # this after the user's .bash_profile runs (without putting # it in the user's dot-files), but it shouldn't make any # difference. . /etc/bash/bashrc else PS1='\u@\h \w $ ' fi else # Setup a bland default prompt. Since this prompt should be useable # on color and non-color terminals, as well as shells that don't # understand sequences such as \h, don't put anything special in it. PS1="${USER:-$(whoami 2>/dev/null)}@$(uname -n 2>/dev/null) $ " fi
export LANG, LC_ALL
export LANG=en_US.UTF-8 export LC_ALL=en_US.UTF-8
- `source /etc/profile`
- set time-zone
(chroot) h2Jammy / # date Fri Sep 1 21:59:16 -00 2023 (chroot) h2Jammy / # ln -sf /usr/share/zoneinfo/Asia/Taipei /etc/localtime (chroot) h2Jammy / # date Sat Sep 2 06:00:34 CST 2023
- try again, `
(chroot) h2Jammy / # emerge --ask dev-vcs/git
- IMPORTANT: 10 news items need reading for repository 'gentoo'.
- Use eselect news read to view new items.
These are the packages that would be merged, in order:
Calculating dependencies... done! Dependency resolution took 18.95 s.
[ebuild N ] virtual/perl-Digest-MD5-2.580.0-r1 [ebuild N ] dev-perl/Error-0.170.290 USE="-test" [ebuild N ] dev-perl/TimeDate-2.330.0-r1 USE="-test" [ebuild N ] virtual/perl-IO-1.500.0 [ebuild N ] dev-perl/Mozilla-CA-20999999-r1 USE="-test" [ebuild N ] virtual/perl-MIME-Base64-3.160.0-r1 [ebuild N ] virtual/perl-Digest-SHA-6.20.0-r3 [ebuild N ] dev-perl/Digest-HMAC-1.40.0 [ebuild N ] dev-perl/Net-SSLeay-1.920.0-r1 USE="-examples -minimal -test" [ebuild N ] dev-perl/Authen-SASL-2.160.0-r2 USE="-kerberos -test" [ebuild N ] dev-perl/IO-Socket-SSL-2.83.0 USE="-examples -idn -test" [ebuild N ] virtual/perl-libnet-3.140.0 USE="ssl" [ebuild N ] dev-perl/MailTools-2.210.0 USE="-examples -test" [ebuild N ] dev-vcs/git-2.41.0 USE="blksha1 curl gpg iconv nls pcre perl safe-directory webdav -cgi -cvs -doc -highlight -keyring (-mediawiki) -perforce (-selinux) -subversion -test -tk -xinetd" PYTHON_SINGLE_TARGET="python3_11 -python3_10 (-python3_12)"
Would you like to merge these packages? [Yes/No] Yes
Verifying ebuild manifests
Emerging (1 of 14) virtual/perl-Digest-MD5-2.580.0-r1::gentoo
- Fetching files in the background.
- To view fetch progress, run in another terminal:
- tail -f /var/log/emerge-fetch.log qemu: qemu_thread_create: Invalid argument
- The ebuild phase 'die_hooks' has been aborted since PORTAGE_BUILDDIR
- does not exist: '/var/tmp/portage/virtual/perl-Digest-MD5-2.580.0-r1'
Failed to emerge virtual/perl-Digest-MD5-2.580.0-r1
- Messages for package virtual/perl-Digest-MD5-2.580.0-r1:
- Fix `/var/tmp/portage/virtual/perl-Digest-MD5-2.580.0-r1'
(chroot) h2Jammy / # ls -l /var/tmp/ total 4 drwxrwxr-x 2 portage portage 4096 Sep 2 06:05 portage
¶7.
emerge --ask sys-devel/crossdev
- /etc/portage/make.conf
# Simple make.conf for 64-bit Raspberry Pi 3 & Pi 4 SBCs
# NB most settings now taken from the default/linux/arm64/17.0/desktop/genpi64
# profile
# See /usr/local/portage/genpi64/profiles/targets/genpi64/<...>
# You can override as desired in this file (/etc/portage/make.conf)
# (and via the other /etc/portage/<...> subdirectory entries)
# global USE flag overrides
USE=""
# some scripts looks for PORTDIR in make.conf explicitly
PORTDIR=/var/db/repos/gentoo
# override default build parallelism by changing the following
# two lines, and modifying the values as required
# Pi3 users (or Pi4 users with a 1GiB variant) should be
# less aggressive here
MAKEOPTS="-j5 -l4"
EMERGE_DEFAULT_OPTS="--jobs=5 --load-average=4"
# caution! many parallel threads and / or emerge jobs may cause your
# RPi3/4 to run out of memory during large builds, or genup runs
# to get the old (<portage-2.3.77) autoumask behaviour back,
# uncomment the following line
#EMERGE_DEFAULT_OPTS="${EMERGE_DEFAULT_OPTS} --autounmask"
# per https://wiki.gentoo.org/wiki/Raspberry_Pi_VC4
VIDEO_CARDS="fbdev vc4"
INPUT_DEVICES="evdev synaptics"
# uncomment to build binary packages as a byproduct of each emerge
# (these are useful backups) in /usr/portage/packages
FEATURES="${FEATURES} buildpkg"
# uncomment to disribute emerges, where possible, using distcc
# (NB: distcc-pump mode is now effectively deprecated)
#FEATURES="${FEATURES} distcc"
# uncomment to use binary packages from PORTAGE_BINHOST, where available,
# (and build normally, where not)
FEATURES="${FEATURES} getbinpkg"
PORTAGE_BINHOST="https://isshoni.org/pi64pie"
GENTOO_MIRRORS="http://gentoo.osuosl.org/ http://trumpetti.atm.tut.fi/gentoo/ http://distfiles.gentoo.org"
PKGDIR=/var/cache/binpkgs
DISTDIR=/var/cache/distfiles
# the above is from pi64
# the followings are mine
# These settings were set by the catalyst build script that automatically
# built this stage.
# Please consult /usr/share/portage/config/make.conf.example for a more
# detailed example.
# COMMON_FLAGS="-O2 -pipe"
# CFLAGS="${COMMON_FLAGS}"
# CXXFLAGS="${COMMON_FLAGS}"
# FCFLAGS="${COMMON_FLAGS}"
# FFLAGS="${COMMON_FLAGS}"
# WARNING: Changing your CHOST is not something that should be done lightly.
# Please consult https://wiki.gentoo.org/wiki/Changing_the_CHOST_variable before changing.
CHOST="aarch64-unknown-linux-gnu"
# NOTE: This stage was built with the bindist Use flag enabled
# This sets the language of build output to English.
# Please keep this setting intact when reporting bugs.
# LC_MESSAGES=C.utf8
# Pi3 users (or Pi4 users with a 1GiB variant) should be
# less aggressive here
# MAKEOPTS="-j4"
# - sys-kernel/linux-firmware-20230804::gentoo (masked by: || ( ) linux-fw-redistributable license(s))
# - sys-kernel/linux-firmware-20230625_p20230724::gentoo (masked by: || ( ) linux-fw-redistributable license(s))
# - sys-kernel/linux-firmware-20230625_p20230707::gentoo (masked by: || ( ) linux-fw-redistributable license(s))
# - sys-kernel/linux-firmware-20230515::gentoo (masked by: || ( ) linux-fw-redistributable license(s))
ACCEPT_LICENSE="linux-fw-redistributable"