Variable | Value |
Edit count of the user (user_editcount) | 66 |
Name of the user account (user_name) | 'Minou' |
Age of the user account (user_age) | 209959954 |
Page ID (page_id) | 365225 |
Page namespace (page_namespace) | 2 |
Page title (without namespace) (page_title) | 'Minou/RiscV/D1-Nezha' |
Full page title (page_prefixedtitle) | 'User:Minou/RiscV/D1-Nezha' |
Action (action) | 'edit' |
Edit summary/reason (summary) | '' |
Old content model (old_content_model) | 'wikitext' |
New content model (new_content_model) | 'wikitext' |
Old page wikitext, before the edit (old_wikitext) | 'This document describes how to install Gentoo Linux on the D1 Nezha development board.<br>
<br>
'''
I just started on this so it will take a few weeks before it is completed'''<br>
<br>
== '''Prepare micro SD''' ==
=== '''Download Fedora image''' ===
To simplify the installation we will use a Fedora image to start with.<br>
You need to change /dev/sdd to whatever your micro SD is mounted on<br>
Use a 32G or larger device. Here I use a 64GB device<br>
Patience is needed here since the image is around 13.5GB
{{RootCmd
|cd /usr/src
|mkdir Nezha_D1
|cd Nezha_D1
|wget http://openkoji-bj.isrc.ac.cn/pub/dl/riscv/Allwinner/Nezha_D1/images-release/Fedora/fedora-riscv64-d1-developer-xfce-rawhide-Rawhide-latest-sda.raw.zst
|unzstd fedora-riscv64-d1-developer-xfce-rawhide-Rawhide-latest-sda.raw.zst
|dd if{{=}}fedora-riscv64-d1-developer-xfce-rawhide-Rawhide-latest-sda.raw of{{=}}/dev/sdd status{{=}}progress iflag{{=}}direct oflag{{=}}direct bs{{=}}4M
|sync
}}
=== '''Create new partition for gentoo''' ===
Remove micro SD and put back in<br>
The partitions may or may not be mounted.<br>
I used fdisk to see what partitions are created on this image
#fdisk /dev/sdd
Les modifications resteront en mémoire jusqu'à écriture.
Soyez prudent avant d'utiliser la commande d'écriture.
Commande (m pour l'aide) : p
Disque /dev/sdd : 59,48 GiB, 63864569856 octets, 124735488 secteurs
Modèle de disque : Storage Device
Unités : secteur de 1 × 512 = 512 octets
Taille de secteur (logique / physique) : 512 octets / 512 octets
taille d'E/S (minimale / optimale) : 512 octets / 512 octets
Type d'étiquette de disque : dos
Identifiant de disque : 0xf8dc2749
Périphérique Amorçage Début Fin Secteurs Taille Id Type
/dev/sdd2 69632 319487 249856 122M c W95 FAT32 (LBA)
/dev/sdd3 * 319488 1320959 1001472 489M 83 Linux
/dev/sdd4 1320960 25319423 23998464 11,4G 83 Linux
Commande (m pour l'aide) :
You can use gparted to create a new partition that will be used by gentoo<br>
Make sure the partitions are unmounted before attempting the next step<br>
Use gparted to expand the partition since it doesn't use the whole disk<br>
The order is weird here and this may not be what gentoo sees when it boots which is why you need to use the uuid<br>
You will need to get the uuid numbers that you will use in /etc/fstab<br>
For that you need to do "ls -la /dev/disk/by-uuid"<br>
/dev/sdd2 uuid is 3BB0-2DF2
/dev/sdd3 uuid is d78f1d1e-acc9-4022-85cf-c6d4dc54a07b
/dev/sdd4 uuid is 5a865133-2792-4ac8-a7a8-2e75c103336c
/dev/sdd1 uuid is 58f21d2f-7dac-4a78-a5a1-d18318b9647a
Do not mess with the unused fat16 partition or the unused area at the beginning of the disk since binary are written at the beginning.<br>
I think that the fat16 partition is unused, but since I didn't create that Fedora boot I wouldn't know if it is needed or not.<br>
After you create the gentoo rootfs you will need to boot on Fedora and add gentoo to grub.<br>
The Fedora grub.cfg looks like this :
set default=0
set timeout_style=menu
set timeout=3
set debug="linux,loader,mm"
set term="vt100"
menuentry 'Fedora vmlinux-5.15.0-rc1' {
linux /vmlinuz-5.15.0-rc1 earlyprintk=sunxi-uart,0x02500000 console=ttyS0,115200 console=tty0 loglevel=8 root=/dev/mmcblk0p4 selinux=0 rhgb LANG=en_US.UTF-8
devicetree /sun20i-d1-nezha.dtb
initrd /initramfs-5.15.0-rc1.img
}
== '''Create gentoo rootfs''' ==
=== Prepare code for chroot ===
Download stage3 and decompress in rootfs directory
{{RootCmd
|cd /usr/src
|cd D1
|mkdir rootfs-D1H
|cd rootfs-D1H
|wget https://distfiles.gentoo.org/releases/riscv/autobuilds/current-stage3-rv64_lp64d-openrc/stage3-rv64_lp64d-openrc-20250116T141832Z.tar.xz
|tar --numeric-owner --xattrs -xvJpf stage3-rv64_lp64d-openrc-20250116T141832Z.tar.xz
|rm -f stage3-rv64_lp64d-openrc-20250116T141832Z.tar.xz
|cp /etc/resolv.conf etc
|cd ..
}}
=== chroot in rootfs directory ===
==== First bind misc directories ====
{{RootCmd
|mount --rbind /dev /usr/src/D1/rootfs-D1H/proc/dev
|mount --make-rslave /usr/src/D1/rootfs-D1H/proc/dev
|mount -t proc /proc /usr/src/D1/rootfs-D1H/proc/proc
|mount --rbind /sys /usr/src/D1/rootfs-D1H/proc/sys
|mount --make-rslave /usr/src/D1/rootfs-D1H/proc/sys
|mount --rbind /tmp /usr/src/D1/rootfs-D1H/proc/tmp
|mount --bind /run /usr/src/D1/rootfs-D1H/proc/run
}}
==== Then chroot into rootfs directory ====
{{RootCmd
|chroot /usr/src/D1/rootfs-D1H /bin/env -i TERM{{=}}$TERM /bin/bash
|env-update
|source /etc/profile
|export PS1{{=}}"(chroot) $PS1"
}}
==== emerge needed files ====
{{RootCmd
|emerge-webrsync
|emerge --sync
}}
==== Edit /etc/portage/make.conf file ====
Content of my make.conf' |
New page wikitext, after the edit (new_wikitext) | 'This document describes how to install Gentoo Linux on the D1 Nezha development board.<br>
<br>
'''
I just started on this so it will take a few weeks before it is completed'''<br>
<br>
== '''Prepare micro SD''' ==
=== '''Download Fedora image''' ===
To simplify the installation we will use a Fedora image to start with.<br>
You need to change /dev/sdd to whatever your micro SD is mounted on<br>
Use a 32G or larger device. Here I use a 64GB device<br>
Patience is needed here since the image is around 13.5GB
{{RootCmd
|cd /usr/src
|mkdir Nezha_D1
|cd Nezha_D1
|wget http://openkoji-bj.isrc.ac.cn/pub/dl/riscv/Allwinner/Nezha_D1/images-release/Fedora/fedora-riscv64-d1-developer-xfce-rawhide-Rawhide-latest-sda.raw.zst
|unzstd fedora-riscv64-d1-developer-xfce-rawhide-Rawhide-latest-sda.raw.zst
|dd if{{=}}fedora-riscv64-d1-developer-xfce-rawhide-Rawhide-latest-sda.raw of{{=}}/dev/sdd status{{=}}progress iflag{{=}}direct oflag{{=}}direct bs{{=}}4M
|sync
}}
=== '''Create new partition for gentoo''' ===
Remove micro SD and put back in<br>
The partitions may or may not be mounted.<br>
I used fdisk to see what partitions are created on this image
#fdisk /dev/sdd
Les modifications resteront en mémoire jusqu'à écriture.
Soyez prudent avant d'utiliser la commande d'écriture.
Commande (m pour l'aide) : p
Disque /dev/sdd : 59,48 GiB, 63864569856 octets, 124735488 secteurs
Modèle de disque : Storage Device
Unités : secteur de 1 × 512 = 512 octets
Taille de secteur (logique / physique) : 512 octets / 512 octets
taille d'E/S (minimale / optimale) : 512 octets / 512 octets
Type d'étiquette de disque : dos
Identifiant de disque : 0xf8dc2749
Périphérique Amorçage Début Fin Secteurs Taille Id Type
/dev/sdd2 69632 319487 249856 122M c W95 FAT32 (LBA)
/dev/sdd3 * 319488 1320959 1001472 489M 83 Linux
/dev/sdd4 1320960 25319423 23998464 11,4G 83 Linux
Commande (m pour l'aide) :
You can use gparted to create a new partition that will be used by gentoo<br>
Make sure the partitions are unmounted before attempting the next step<br>
Use gparted to expand the partition since it doesn't use the whole disk<br>
The order is weird here and this may not be what gentoo sees when it boots which is why you need to use the uuid<br>
You will need to get the uuid numbers that you will use in /etc/fstab<br>
For that you need to do "ls -la /dev/disk/by-uuid"<br>
/dev/sdd2 uuid is 3BB0-2DF2
/dev/sdd3 uuid is d78f1d1e-acc9-4022-85cf-c6d4dc54a07b
/dev/sdd4 uuid is 5a865133-2792-4ac8-a7a8-2e75c103336c
/dev/sdd1 uuid is 58f21d2f-7dac-4a78-a5a1-d18318b9647a
Do not mess with the unused fat16 partition or the unused area at the beginning of the disk since binary are written at the beginning.<br>
I think that the fat16 partition is unused, but since I didn't create that Fedora boot I wouldn't know if it is needed or not.<br>
After you create the gentoo rootfs you will need to boot on Fedora and add gentoo to grub.<br>
The Fedora grub.cfg looks like this :
set default=0
set timeout_style=menu
set timeout=3
set debug="linux,loader,mm"
set term="vt100"
menuentry 'Fedora vmlinux-5.15.0-rc1' {
linux /vmlinuz-5.15.0-rc1 earlyprintk=sunxi-uart,0x02500000 console=ttyS0,115200 console=tty0 loglevel=8 root=/dev/mmcblk0p4 selinux=0 rhgb LANG=en_US.UTF-8
devicetree /sun20i-d1-nezha.dtb
initrd /initramfs-5.15.0-rc1.img
}
== '''Create gentoo rootfs''' ==
=== Prepare code for chroot ===
Download stage3 and decompress in rootfs directory
{{RootCmd
|cd /usr/src
|cd D1
|mkdir rootfs-D1H
|cd rootfs-D1H
|wget https://distfiles.gentoo.org/releases/riscv/autobuilds/current-stage3-rv64_lp64d-openrc/stage3-rv64_lp64d-openrc-20250116T141832Z.tar.xz
|tar --numeric-owner --xattrs -xvJpf stage3-rv64_lp64d-openrc-20250116T141832Z.tar.xz
|rm -f stage3-rv64_lp64d-openrc-20250116T141832Z.tar.xz
|cp /etc/resolv.conf etc
|cd ..
}}
=== chroot in rootfs directory ===
==== First bind misc directories ====
{{RootCmd
|mount --rbind /dev /usr/src/D1/rootfs-D1H/proc/dev
|mount --make-rslave /usr/src/D1/rootfs-D1H/proc/dev
|mount -t proc /proc /usr/src/D1/rootfs-D1H/proc/proc
|mount --rbind /sys /usr/src/D1/rootfs-D1H/proc/sys
|mount --make-rslave /usr/src/D1/rootfs-D1H/proc/sys
|mount --rbind /tmp /usr/src/D1/rootfs-D1H/proc/tmp
|mount --bind /run /usr/src/D1/rootfs-D1H/proc/run
}}
==== Then chroot into rootfs directory ====
{{RootCmd
|chroot /usr/src/D1/rootfs-D1H /bin/env -i TERM{{=}}$TERM /bin/bash
|env-update
|source /etc/profile
|export PS1{{=}}"(chroot) $PS1"
}}
==== emerge needed files ====
{{RootCmd
|emerge-webrsync
|emerge --sync
}}
==== Edit /etc/portage/make.conf file ====
Content of my make.conf
# 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="riscv64-unknown-linux-gnu"
LINGUAS="fr fr_CA en en_US es es_AR es_BO es_CL es_CO es_CR es_CU
es_DO es_EC es_ES es_GT es_HN es_MX es_NI es_PA es_PE
es_PR es_PY es_SV es_US es_UY es_VE
zh zh_CN zh_HK zh_SG zh_TW"
L10N="fr fr-CA en en-US es es-AR es-BO es-CL es-CO es-CR es-CU
es-DO es-EC es-ES es-GT es-HN es-MX es-NI es-PA es-PE
es-PR es-PY es-SV es-US es-UY es-VE
zh zh-CN zh-HK zh-SG zh-TW"
ACCEPT_LICENSE="*"
# 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
FEATURES="-test -pid-sandbox -network-sandbox -sandbox -usersandbox -ipc-sandbox -selinux -sesandbox -collision-detect"
USE="-zeitgeist -beagle -pcmcia -selinux xinerama x265 x264 -test \
contrib cups qt6 tinfo gtk++ -bindist scanner \
static-ppds -mavx -msse4.2 gcode openmp perl hdf5 cxx alsa"
I also added a list of mirrors which the wiki editor won't allow me to put in here not realizing that those links are all gentoo links
GENTOO_MIRRORS=" List of mirrors sites"
PORTDIR_OVERLAY="/usr/local/portage/catu"' |
Unified diff of changes made by edit (edit_diff) | '@@ -131,2 +131,42 @@
Content of my make.conf
+
+ # 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="riscv64-unknown-linux-gnu"
+
+ LINGUAS="fr fr_CA en en_US es es_AR es_BO es_CL es_CO es_CR es_CU
+ es_DO es_EC es_ES es_GT es_HN es_MX es_NI es_PA es_PE
+ es_PR es_PY es_SV es_US es_UY es_VE
+ zh zh_CN zh_HK zh_SG zh_TW"
+
+ L10N="fr fr-CA en en-US es es-AR es-BO es-CL es-CO es-CR es-CU
+ es-DO es-EC es-ES es-GT es-HN es-MX es-NI es-PA es-PE
+ es-PR es-PY es-SV es-US es-UY es-VE
+ zh zh-CN zh-HK zh-SG zh-TW"
+
+ ACCEPT_LICENSE="*"
+ # 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
+ FEATURES="-test -pid-sandbox -network-sandbox -sandbox -usersandbox -ipc-sandbox -selinux -sesandbox -collision-detect"
+
+ USE="-zeitgeist -beagle -pcmcia -selinux xinerama x265 x264 -test \
+ contrib cups qt6 tinfo gtk++ -bindist scanner \
+ static-ppds -mavx -msse4.2 gcode openmp perl hdf5 cxx alsa"
+ I also added a list of mirrors which the wiki editor won't allow me to put in here not realizing that those links are all gentoo links
+ GENTOO_MIRRORS=" List of mirrors sites"
+
+ PORTDIR_OVERLAY="/usr/local/portage/catu"
' |
Old page size (old_size) | 4750 |
Lines added in edit (added_lines) | [
0 => '',
1 => ' # These settings were set by the catalyst build script that automatically',
2 => ' # built this stage.',
3 => ' # Please consult /usr/share/portage/config/make.conf.example for a more',
4 => ' # detailed example.',
5 => ' COMMON_FLAGS="-O2 -pipe"',
6 => ' CFLAGS="${COMMON_FLAGS}"',
7 => ' CXXFLAGS="${COMMON_FLAGS}"',
8 => ' FCFLAGS="${COMMON_FLAGS}"',
9 => ' FFLAGS="${COMMON_FLAGS}"',
10 => ' ',
11 => ' # WARNING: Changing your CHOST is not something that should be done lightly.',
12 => ' # Please consult https://wiki.gentoo.org/wiki/Changing_the_CHOST_variable before changing.',
13 => ' CHOST="riscv64-unknown-linux-gnu"',
14 => ' ',
15 => ' LINGUAS="fr fr_CA en en_US es es_AR es_BO es_CL es_CO es_CR es_CU',
16 => ' es_DO es_EC es_ES es_GT es_HN es_MX es_NI es_PA es_PE',
17 => ' es_PR es_PY es_SV es_US es_UY es_VE',
18 => ' zh zh_CN zh_HK zh_SG zh_TW"',
19 => ' ',
20 => ' L10N="fr fr-CA en en-US es es-AR es-BO es-CL es-CO es-CR es-CU',
21 => ' es-DO es-EC es-ES es-GT es-HN es-MX es-NI es-PA es-PE',
22 => ' es-PR es-PY es-SV es-US es-UY es-VE',
23 => ' zh zh-CN zh-HK zh-SG zh-TW"',
24 => ' ',
25 => ' ACCEPT_LICENSE="*"',
26 => ' # NOTE: This stage was built with the bindist USE flag enabled',
27 => ' ',
28 => ' # This sets the language of build output to English.',
29 => ' # Please keep this setting intact when reporting bugs.',
30 => ' LC_MESSAGES=C.utf8',
31 => ' FEATURES="-test -pid-sandbox -network-sandbox -sandbox -usersandbox -ipc-sandbox -selinux -sesandbox -collision-detect"',
32 => ' ',
33 => ' USE="-zeitgeist -beagle -pcmcia -selinux xinerama x265 x264 -test \',
34 => ' contrib cups qt6 tinfo gtk++ -bindist scanner \',
35 => ' static-ppds -mavx -msse4.2 gcode openmp perl hdf5 cxx alsa"',
36 => ' I also added a list of mirrors which the wiki editor won't allow me to put in here not realizing that those links are all gentoo links',
37 => ' GENTOO_MIRRORS=" List of mirrors sites"',
38 => '',
39 => ' PORTDIR_OVERLAY="/usr/local/portage/catu"'
] |
Lines removed in edit (removed_lines) | [] |
New page text, stripped of any markup (new_text) | 'This document describes how to install Gentoo Linux on the D1 Nezha development board.
I just started on this so it will take a few weeks before it is completed
Contents
1 Prepare micro SD
1.1 Download Fedora image
1.2 Create new partition for gentoo
2 Create gentoo rootfs
2.1 Prepare code for chroot
2.2 chroot in rootfs directory
2.2.1 First bind misc directories
2.2.2 Then chroot into rootfs directory
2.2.3 emerge needed files
2.2.4 Edit /etc/portage/make.conf file
Prepare micro SD[edit]
Download Fedora image[edit]
To simplify the installation we will use a Fedora image to start with.
You need to change /dev/sdd to whatever your micro SD is mounted on
Use a 32G or larger device. Here I use a 64GB device
Patience is needed here since the image is around 13.5GB
root #cd /usr/src
root #mkdir Nezha_D1
root #cd Nezha_D1
root #wget http://openkoji-bj.isrc.ac.cn/pub/dl/riscv/Allwinner/Nezha_D1/images-release/Fedora/fedora-riscv64-d1-developer-xfce-rawhide-Rawhide-latest-sda.raw.zst
root #unzstd fedora-riscv64-d1-developer-xfce-rawhide-Rawhide-latest-sda.raw.zst
root #dd if=fedora-riscv64-d1-developer-xfce-rawhide-Rawhide-latest-sda.raw of=/dev/sdd status=progress iflag=direct oflag=direct bs=4M
root #sync
Create new partition for gentoo[edit]
Remove micro SD and put back in
The partitions may or may not be mounted.
I used fdisk to see what partitions are created on this image
#fdisk /dev/sdd
Les modifications resteront en mémoire jusqu'à écriture.
Soyez prudent avant d'utiliser la commande d'écriture.
Commande (m pour l'aide) : p
Disque /dev/sdd : 59,48 GiB, 63864569856 octets, 124735488 secteurs
Modèle de disque : Storage Device
Unités : secteur de 1 × 512 = 512 octets
Taille de secteur (logique / physique) : 512 octets / 512 octets
taille d'E/S (minimale / optimale) : 512 octets / 512 octets
Type d'étiquette de disque : dos
Identifiant de disque : 0xf8dc2749
Périphérique Amorçage Début Fin Secteurs Taille Id Type
/dev/sdd2 69632 319487 249856 122M c W95 FAT32 (LBA)
/dev/sdd3 * 319488 1320959 1001472 489M 83 Linux
/dev/sdd4 1320960 25319423 23998464 11,4G 83 Linux
Commande (m pour l'aide) :
You can use gparted to create a new partition that will be used by gentoo
Make sure the partitions are unmounted before attempting the next step
Use gparted to expand the partition since it doesn't use the whole disk
The order is weird here and this may not be what gentoo sees when it boots which is why you need to use the uuid
You will need to get the uuid numbers that you will use in /etc/fstab
For that you need to do "ls -la /dev/disk/by-uuid"
/dev/sdd2 uuid is 3BB0-2DF2
/dev/sdd3 uuid is d78f1d1e-acc9-4022-85cf-c6d4dc54a07b
/dev/sdd4 uuid is 5a865133-2792-4ac8-a7a8-2e75c103336c
/dev/sdd1 uuid is 58f21d2f-7dac-4a78-a5a1-d18318b9647a
Do not mess with the unused fat16 partition or the unused area at the beginning of the disk since binary are written at the beginning.
I think that the fat16 partition is unused, but since I didn't create that Fedora boot I wouldn't know if it is needed or not.
After you create the gentoo rootfs you will need to boot on Fedora and add gentoo to grub.
The Fedora grub.cfg looks like this :
set default=0
set timeout_style=menu
set timeout=3
set debug="linux,loader,mm"
set term="vt100"
menuentry 'Fedora vmlinux-5.15.0-rc1' {
linux /vmlinuz-5.15.0-rc1 earlyprintk=sunxi-uart,0x02500000 console=ttyS0,115200 console=tty0 loglevel=8 root=/dev/mmcblk0p4 selinux=0 rhgb LANG=en_US.UTF-8
devicetree /sun20i-d1-nezha.dtb
initrd /initramfs-5.15.0-rc1.img
}
Create gentoo rootfs[edit]
Prepare code for chroot[edit]
Download stage3 and decompress in rootfs directory
root #cd /usr/src
root #cd D1
root #mkdir rootfs-D1H
root #cd rootfs-D1H
root #wget https://distfiles.gentoo.org/releases/riscv/autobuilds/current-stage3-rv64_lp64d-openrc/stage3-rv64_lp64d-openrc-20250116T141832Z.tar.xz
root #tar --numeric-owner --xattrs -xvJpf stage3-rv64_lp64d-openrc-20250116T141832Z.tar.xz
root #rm -f stage3-rv64_lp64d-openrc-20250116T141832Z.tar.xz
root #cp /etc/resolv.conf etc
root #cd ..
chroot in rootfs directory[edit]
First bind misc directories[edit]
root #mount --rbind /dev /usr/src/D1/rootfs-D1H/proc/dev
root #mount --make-rslave /usr/src/D1/rootfs-D1H/proc/dev
root #mount -t proc /proc /usr/src/D1/rootfs-D1H/proc/proc
root #mount --rbind /sys /usr/src/D1/rootfs-D1H/proc/sys
root #mount --make-rslave /usr/src/D1/rootfs-D1H/proc/sys
root #mount --rbind /tmp /usr/src/D1/rootfs-D1H/proc/tmp
root #mount --bind /run /usr/src/D1/rootfs-D1H/proc/run
Then chroot into rootfs directory[edit]
root #chroot /usr/src/D1/rootfs-D1H /bin/env -i TERM=$TERM /bin/bash
root #env-update
root #source /etc/profile
root #export PS1="(chroot) $PS1"
emerge needed files[edit]
root #emerge-webrsync
root #emerge --sync
Edit /etc/portage/make.conf file[edit]
Content of my make.conf
# 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="riscv64-unknown-linux-gnu"
LINGUAS="fr fr_CA en en_US es es_AR es_BO es_CL es_CO es_CR es_CU
es_DO es_EC es_ES es_GT es_HN es_MX es_NI es_PA es_PE
es_PR es_PY es_SV es_US es_UY es_VE
zh zh_CN zh_HK zh_SG zh_TW"
L10N="fr fr-CA en en-US es es-AR es-BO es-CL es-CO es-CR es-CU
es-DO es-EC es-ES es-GT es-HN es-MX es-NI es-PA es-PE
es-PR es-PY es-SV es-US es-UY es-VE
zh zh-CN zh-HK zh-SG zh-TW"
ACCEPT_LICENSE="*"
# 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
FEATURES="-test -pid-sandbox -network-sandbox -sandbox -usersandbox -ipc-sandbox -selinux -sesandbox -collision-detect"
USE="-zeitgeist -beagle -pcmcia -selinux xinerama x265 x264 -test \
contrib cups qt6 tinfo gtk++ -bindist scanner \
static-ppds -mavx -msse4.2 gcode openmp perl hdf5 cxx alsa"
I also added a list of mirrors which the wiki editor won't allow me to put in here not realizing that those links are all gentoo links
GENTOO_MIRRORS=" List of mirrors sites"
PORTDIR_OVERLAY="/usr/local/portage/catu"' |
Parsed HTML source of the new revision (new_html) | '<div class="mw-parser-output"><p>This document describes how to install Gentoo Linux on the D1 Nezha development board.<br />
<br />
</p><p><b></b>
I just started on this so it will take a few weeks before it is completed<b><br /></b>
<br />
</p>
<div id="toc" class="toc" role="navigation" aria-labelledby="mw-toc-heading"><input type="checkbox" role="button" id="toctogglecheckbox" class="toctogglecheckbox" style="display:none" /><div class="toctitle" lang="en" dir="ltr"><h2 id="mw-toc-heading">Contents</h2><span class="toctogglespan"><label class="toctogglelabel" for="toctogglecheckbox"></label></span></div>
<ul>
<li class="toclevel-1 tocsection-1"><a href="#Prepare_micro_SD"><span class="tocnumber">1</span> <span class="toctext"><b>Prepare micro SD</b></span></a>
<ul>
<li class="toclevel-2 tocsection-2"><a href="#Download_Fedora_image"><span class="tocnumber">1.1</span> <span class="toctext"><b>Download Fedora image</b></span></a></li>
<li class="toclevel-2 tocsection-3"><a href="#Create_new_partition_for_gentoo"><span class="tocnumber">1.2</span> <span class="toctext"><b>Create new partition for gentoo</b></span></a></li>
</ul>
</li>
<li class="toclevel-1 tocsection-4"><a href="#Create_gentoo_rootfs"><span class="tocnumber">2</span> <span class="toctext"><b>Create gentoo rootfs</b></span></a>
<ul>
<li class="toclevel-2 tocsection-5"><a href="#Prepare_code_for_chroot"><span class="tocnumber">2.1</span> <span class="toctext">Prepare code for chroot</span></a></li>
<li class="toclevel-2 tocsection-6"><a href="#chroot_in_rootfs_directory"><span class="tocnumber">2.2</span> <span class="toctext">chroot in rootfs directory</span></a>
<ul>
<li class="toclevel-3 tocsection-7"><a href="#First_bind_misc_directories"><span class="tocnumber">2.2.1</span> <span class="toctext">First bind misc directories</span></a></li>
<li class="toclevel-3 tocsection-8"><a href="#Then_chroot_into_rootfs_directory"><span class="tocnumber">2.2.2</span> <span class="toctext">Then chroot into rootfs directory</span></a></li>
<li class="toclevel-3 tocsection-9"><a href="#emerge_needed_files"><span class="tocnumber">2.2.3</span> <span class="toctext">emerge needed files</span></a></li>
<li class="toclevel-3 tocsection-10"><a href="#Edit_.2Fetc.2Fportage.2Fmake.conf_file"><span class="tocnumber">2.2.4</span> <span class="toctext">Edit /etc/portage/make.conf file</span></a></li>
</ul>
</li>
</ul>
</li>
</ul>
</div>
<h2><span class="mw-headline" id="Prepare_micro_SD"><b>Prepare micro SD</b></span><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/index.php?title=User:Minou/RiscV/D1-Nezha&action=edit&section=1" title="Edit section: Prepare micro SD">edit</a><span class="mw-editsection-bracket">]</span></span></h2>
<h3><span class="mw-headline" id="Download_Fedora_image"><b>Download Fedora image</b></span><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/index.php?title=User:Minou/RiscV/D1-Nezha&action=edit&section=2" title="Edit section: Download Fedora image">edit</a><span class="mw-editsection-bracket">]</span></span></h3>
<p>To simplify the installation we will use a Fedora image to start with.<br />
You need to change /dev/sdd to whatever your micro SD is mounted on<br />
Use a 32G or larger device. Here I use a 64GB device<br />
Patience is needed here since the image is around 13.5GB
</p>
<div class="cmd-box"><div><code style="color: #ef2929; user-select: none; font-weight: bold;">root <span style="color:royalblue;">#</span></code><code>cd /usr/src
</code></div><div><code style="color: #ef2929; user-select: none; font-weight: bold;">root <span style="color:royalblue;">#</span></code><code>mkdir Nezha_D1
</code></div><div><code style="color: #ef2929; user-select: none; font-weight: bold;">root <span style="color:royalblue;">#</span></code><code>cd Nezha_D1
</code></div><div><code style="color: #ef2929; user-select: none; font-weight: bold;">root <span style="color:royalblue;">#</span></code><code>wget <a rel="nofollow" class="external free" href="http://openkoji-bj.isrc.ac.cn/pub/dl/riscv/Allwinner/Nezha_D1/images-release/Fedora/fedora-riscv64-d1-developer-xfce-rawhide-Rawhide-latest-sda.raw.zst">http://openkoji-bj.isrc.ac.cn/pub/dl/riscv/Allwinner/Nezha_D1/images-release/Fedora/fedora-riscv64-d1-developer-xfce-rawhide-Rawhide-latest-sda.raw.zst</a>
</code></div><div><code style="color: #ef2929; user-select: none; font-weight: bold;">root <span style="color:royalblue;">#</span></code><code>unzstd fedora-riscv64-d1-developer-xfce-rawhide-Rawhide-latest-sda.raw.zst
</code></div><div><code style="color: #ef2929; user-select: none; font-weight: bold;">root <span style="color:royalblue;">#</span></code><code>dd if=fedora-riscv64-d1-developer-xfce-rawhide-Rawhide-latest-sda.raw of=/dev/sdd status=progress iflag=direct oflag=direct bs=4M
</code></div><div><code style="color: #ef2929; user-select: none; font-weight: bold;">root <span style="color:royalblue;">#</span></code><code>sync
</code></div></div>
<h3><span class="mw-headline" id="Create_new_partition_for_gentoo"><b>Create new partition for gentoo</b></span><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/index.php?title=User:Minou/RiscV/D1-Nezha&action=edit&section=3" title="Edit section: Create new partition for gentoo">edit</a><span class="mw-editsection-bracket">]</span></span></h3>
<p>Remove micro SD and put back in<br />
The partitions may or may not be mounted.<br />
</p><p>I used fdisk to see what partitions are created on this image
</p>
<pre>#fdisk /dev/sdd
Les modifications resteront en mémoire jusqu'à écriture.
Soyez prudent avant d'utiliser la commande d'écriture.
Commande (m pour l'aide) : p
Disque /dev/sdd : 59,48 GiB, 63864569856 octets, 124735488 secteurs
Modèle de disque : Storage Device
Unités : secteur de 1 × 512 = 512 octets
Taille de secteur (logique / physique) : 512 octets / 512 octets
taille d'E/S (minimale / optimale) : 512 octets / 512 octets
Type d'étiquette de disque : dos
Identifiant de disque : 0xf8dc2749
Périphérique Amorçage Début Fin Secteurs Taille Id Type
/dev/sdd2 69632 319487 249856 122M c W95 FAT32 (LBA)
/dev/sdd3 * 319488 1320959 1001472 489M 83 Linux
/dev/sdd4 1320960 25319423 23998464 11,4G 83 Linux
Commande (m pour l'aide) :
</pre>
<p>You can use gparted to create a new partition that will be used by gentoo<br />
</p><p>Make sure the partitions are unmounted before attempting the next step<br />
Use gparted to expand the partition since it doesn't use the whole disk<br />
The order is weird here and this may not be what gentoo sees when it boots which is why you need to use the uuid<br />
</p><p>You will need to get the uuid numbers that you will use in /etc/fstab<br />
For that you need to do "ls -la /dev/disk/by-uuid"<br />
</p>
<pre>/dev/sdd2 uuid is 3BB0-2DF2
/dev/sdd3 uuid is d78f1d1e-acc9-4022-85cf-c6d4dc54a07b
/dev/sdd4 uuid is 5a865133-2792-4ac8-a7a8-2e75c103336c
/dev/sdd1 uuid is 58f21d2f-7dac-4a78-a5a1-d18318b9647a
</pre>
<p>Do not mess with the unused fat16 partition or the unused area at the beginning of the disk since binary are written at the beginning.<br />
I think that the fat16 partition is unused, but since I didn't create that Fedora boot I wouldn't know if it is needed or not.<br />
After you create the gentoo rootfs you will need to boot on Fedora and add gentoo to grub.<br />
</p><p>The Fedora grub.cfg looks like this :
</p>
<pre>set default=0
set timeout_style=menu
set timeout=3
set debug="linux,loader,mm"
set term="vt100"
menuentry 'Fedora vmlinux-5.15.0-rc1' {
linux /vmlinuz-5.15.0-rc1 earlyprintk=sunxi-uart,0x02500000 console=ttyS0,115200 console=tty0 loglevel=8 root=/dev/mmcblk0p4 selinux=0 rhgb LANG=en_US.UTF-8
devicetree /sun20i-d1-nezha.dtb
initrd /initramfs-5.15.0-rc1.img
}
</pre>
<h2><span class="mw-headline" id="Create_gentoo_rootfs"><b>Create gentoo rootfs</b></span><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/index.php?title=User:Minou/RiscV/D1-Nezha&action=edit&section=4" title="Edit section: Create gentoo rootfs">edit</a><span class="mw-editsection-bracket">]</span></span></h2>
<h3><span class="mw-headline" id="Prepare_code_for_chroot">Prepare code for chroot</span><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/index.php?title=User:Minou/RiscV/D1-Nezha&action=edit&section=5" title="Edit section: Prepare code for chroot">edit</a><span class="mw-editsection-bracket">]</span></span></h3>
<pre>Download stage3 and decompress in rootfs directory
</pre>
<div class="cmd-box"><div><code style="color: #ef2929; user-select: none; font-weight: bold;">root <span style="color:royalblue;">#</span></code><code>cd /usr/src
</code></div><div><code style="color: #ef2929; user-select: none; font-weight: bold;">root <span style="color:royalblue;">#</span></code><code>cd D1
</code></div><div><code style="color: #ef2929; user-select: none; font-weight: bold;">root <span style="color:royalblue;">#</span></code><code>mkdir rootfs-D1H
</code></div><div><code style="color: #ef2929; user-select: none; font-weight: bold;">root <span style="color:royalblue;">#</span></code><code>cd rootfs-D1H
</code></div><div><code style="color: #ef2929; user-select: none; font-weight: bold;">root <span style="color:royalblue;">#</span></code><code>wget <a rel="nofollow" class="external free" href="https://distfiles.gentoo.org/releases/riscv/autobuilds/current-stage3-rv64_lp64d-openrc/stage3-rv64_lp64d-openrc-20250116T141832Z.tar.xz">https://distfiles.gentoo.org/releases/riscv/autobuilds/current-stage3-rv64_lp64d-openrc/stage3-rv64_lp64d-openrc-20250116T141832Z.tar.xz</a>
</code></div><div><code style="color: #ef2929; user-select: none; font-weight: bold;">root <span style="color:royalblue;">#</span></code><code>tar --numeric-owner --xattrs -xvJpf stage3-rv64_lp64d-openrc-20250116T141832Z.tar.xz
</code></div><div><code style="color: #ef2929; user-select: none; font-weight: bold;">root <span style="color:royalblue;">#</span></code><code>rm -f stage3-rv64_lp64d-openrc-20250116T141832Z.tar.xz
</code></div><div><code style="color: #ef2929; user-select: none; font-weight: bold;">root <span style="color:royalblue;">#</span></code><code>cp /etc/resolv.conf etc
</code></div><div><code style="color: #ef2929; user-select: none; font-weight: bold;">root <span style="color:royalblue;">#</span></code><code>cd ..
</code></div></div>
<h3><span class="mw-headline" id="chroot_in_rootfs_directory">chroot in rootfs directory</span><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/index.php?title=User:Minou/RiscV/D1-Nezha&action=edit&section=6" title="Edit section: chroot in rootfs directory">edit</a><span class="mw-editsection-bracket">]</span></span></h3>
<h4><span class="mw-headline" id="First_bind_misc_directories">First bind misc directories</span><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/index.php?title=User:Minou/RiscV/D1-Nezha&action=edit&section=7" title="Edit section: First bind misc directories">edit</a><span class="mw-editsection-bracket">]</span></span></h4>
<div class="cmd-box"><div><code style="color: #ef2929; user-select: none; font-weight: bold;">root <span style="color:royalblue;">#</span></code><code>mount --rbind /dev /usr/src/D1/rootfs-D1H/proc/dev
</code></div><div><code style="color: #ef2929; user-select: none; font-weight: bold;">root <span style="color:royalblue;">#</span></code><code>mount --make-rslave /usr/src/D1/rootfs-D1H/proc/dev
</code></div><div><code style="color: #ef2929; user-select: none; font-weight: bold;">root <span style="color:royalblue;">#</span></code><code>mount -t proc /proc /usr/src/D1/rootfs-D1H/proc/proc
</code></div><div><code style="color: #ef2929; user-select: none; font-weight: bold;">root <span style="color:royalblue;">#</span></code><code>mount --rbind /sys /usr/src/D1/rootfs-D1H/proc/sys
</code></div><div><code style="color: #ef2929; user-select: none; font-weight: bold;">root <span style="color:royalblue;">#</span></code><code>mount --make-rslave /usr/src/D1/rootfs-D1H/proc/sys
</code></div><div><code style="color: #ef2929; user-select: none; font-weight: bold;">root <span style="color:royalblue;">#</span></code><code>mount --rbind /tmp /usr/src/D1/rootfs-D1H/proc/tmp
</code></div><div><code style="color: #ef2929; user-select: none; font-weight: bold;">root <span style="color:royalblue;">#</span></code><code>mount --bind /run /usr/src/D1/rootfs-D1H/proc/run
</code></div></div>
<h4><span class="mw-headline" id="Then_chroot_into_rootfs_directory">Then chroot into rootfs directory</span><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/index.php?title=User:Minou/RiscV/D1-Nezha&action=edit&section=8" title="Edit section: Then chroot into rootfs directory">edit</a><span class="mw-editsection-bracket">]</span></span></h4>
<div class="cmd-box"><div><code style="color: #ef2929; user-select: none; font-weight: bold;">root <span style="color:royalblue;">#</span></code><code>chroot /usr/src/D1/rootfs-D1H /bin/env -i TERM=$TERM /bin/bash
</code></div><div><code style="color: #ef2929; user-select: none; font-weight: bold;">root <span style="color:royalblue;">#</span></code><code>env-update
</code></div><div><code style="color: #ef2929; user-select: none; font-weight: bold;">root <span style="color:royalblue;">#</span></code><code>source /etc/profile
</code></div><div><code style="color: #ef2929; user-select: none; font-weight: bold;">root <span style="color:royalblue;">#</span></code><code>export PS1="(chroot) $PS1"
</code></div></div>
<h4><span class="mw-headline" id="emerge_needed_files">emerge needed files</span><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/index.php?title=User:Minou/RiscV/D1-Nezha&action=edit&section=9" title="Edit section: emerge needed files">edit</a><span class="mw-editsection-bracket">]</span></span></h4>
<div class="cmd-box"><div><code style="color: #ef2929; user-select: none; font-weight: bold;">root <span style="color:royalblue;">#</span></code><code>emerge-webrsync
</code></div><div><code style="color: #ef2929; user-select: none; font-weight: bold;">root <span style="color:royalblue;">#</span></code><code>emerge --sync
</code></div></div>
<h4><span id="Edit_/etc/portage/make.conf_file"></span><span class="mw-headline" id="Edit_.2Fetc.2Fportage.2Fmake.conf_file">Edit /etc/portage/make.conf file</span><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/index.php?title=User:Minou/RiscV/D1-Nezha&action=edit&section=10" title="Edit section: Edit /etc/portage/make.conf file">edit</a><span class="mw-editsection-bracket">]</span></span></h4>
<p>Content of my make.conf
</p>
<pre># 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 <a rel="nofollow" class="external free" href="https://wiki.gentoo.org/wiki/Changing_the_CHOST_variable">https://wiki.gentoo.org/wiki/Changing_the_CHOST_variable</a> before changing.
CHOST="riscv64-unknown-linux-gnu"
LINGUAS="fr fr_CA en en_US es es_AR es_BO es_CL es_CO es_CR es_CU
es_DO es_EC es_ES es_GT es_HN es_MX es_NI es_PA es_PE
es_PR es_PY es_SV es_US es_UY es_VE
zh zh_CN zh_HK zh_SG zh_TW"
L10N="fr fr-CA en en-US es es-AR es-BO es-CL es-CO es-CR es-CU
es-DO es-EC es-ES es-GT es-HN es-MX es-NI es-PA es-PE
es-PR es-PY es-SV es-US es-UY es-VE
zh zh-CN zh-HK zh-SG zh-TW"
ACCEPT_LICENSE="*"
# 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
FEATURES="-test -pid-sandbox -network-sandbox -sandbox -usersandbox -ipc-sandbox -selinux -sesandbox -collision-detect"
USE="-zeitgeist -beagle -pcmcia -selinux xinerama x265 x264 -test \
contrib cups qt6 tinfo gtk++ -bindist scanner \
static-ppds -mavx -msse4.2 gcode openmp perl hdf5 cxx alsa"
I also added a list of mirrors which the wiki editor won't allow me to put in here not realizing that those links are all gentoo links
GENTOO_MIRRORS=" List of mirrors sites"
</pre>
<pre>PORTDIR_OVERLAY="/usr/local/portage/catu"
</pre>
' |
Unix timestamp of change (timestamp) | 1737410705 |