View previous topic :: View next topic |
Author |
Message |
red6 n00b
Joined: 05 Apr 2024 Posts: 7 Location: Toronto
|
Posted: Sat Apr 06, 2024 9:36 pm Post subject: Success installing on bare metal using the Handbook |
|
|
It took many attempts over several days.
But only now I feel that I can contribute to the community because I have just passed the first test in my own mind. I have a Gentoo system booting on a Thinkpad 450.
I am building a hardware kiosk and some people inspired me to dump debian and raspbian.
My daily drivers are: FreeBSD with KDE and Debian 12 KDE Plasma.
I considered FreeBSD but I am sorry to say that the support is declining for FreeBSD and Gentoo now seems to be a very good choice for an embedded system.
Where do I go from here? I would like to generate an ISO bootable USB Stick that is a mirror of everything that I have done so far.
Basically, I want to save all my work and learning.
Is this possible?
Mark |
|
Back to top |
|
|
Ralphred Guru
Joined: 31 Dec 2013 Posts: 511
|
Posted: Sat Apr 06, 2024 9:49 pm Post subject: Re: Success installing on bare metal using the Handbook |
|
|
red6 wrote: | I would like to generate an ISO bootable USB Stick |
I created a "standardised" USB that would boot on any machine I tired it on*, just by using genkernel and embracing the the "detect and load any possible kernel module" paradigm.
*To be fair the "range" of hardware we tested it on was limited, but it always worked, as is the wont of Linux when you build it right...
I've often lamented the usefulness of Gentoo as a "gaming system" with regards to the the amount of "free reign" it gives you over which packages are "bleeding edge" and which are "stable", compared to the very steep learning curve of "knowing what to ask Gentoo to do to make a decent gaming system".
Perhaps your dedication lays in this area? Even a /etc/portage that's a git repo would be a start for the "confused, yet enthusiastic, Linux gamer" when combined with a recommended /var/lib/portage/world file, would it not? |
|
Back to top |
|
|
red6 n00b
Joined: 05 Apr 2024 Posts: 7 Location: Toronto
|
Posted: Sat Apr 06, 2024 11:03 pm Post subject: Confused but Enthusiastic |
|
|
Thanks. To quote you... "confused, yet enthusiastic" is an accurate evaluation. But, no, the kiosk will not run a gaming application.
So still want to backup the current installation. |
|
Back to top |
|
|
Ralphred Guru
Joined: 31 Dec 2013 Posts: 511
|
Posted: Sat Apr 06, 2024 11:28 pm Post subject: Re: Confused but Enthusiastic |
|
|
red6 wrote: | So still want to backup the current installation. |
Your "/etc/portage" directory and "/var/lib/portage/world" are the smallest common denominator for a backup. Beyond that it's a "genkernel that works with everything" then you have an "only arch dependant" install.
Genkernel is the Gentoo equivalent of a "normal distrib kernel" from other distro's, where instead of a "I'll work for your hardware" self configured kernel, the paradigm is "I'll support as much hardware variability as I can, and load what I need to, to work" paradigm. Short of locking out certain architectures by supplying unsupported CFLAGS/CXXFLAGS in make.conf, the hardware world is your oyster, you don't need to build and "installer" disk, because you can make the "actual install" work OoTB with far less work. |
|
Back to top |
|
|
figueroa Advocate
Joined: 14 Aug 2005 Posts: 2971 Location: Edge of marsh USA
|
Posted: Sun Apr 07, 2024 3:15 am Post subject: |
|
|
I thoughtfully suggest you look through the following thread here in the forums about backing up Gentoo.
https://forums.gentoo.org/viewtopic-t-1162924-highlight-stage4+backup.html
The thread isn't about creating a bootable iso, but in order to restore a Gentoo system, one can boot with any Linux bootable ISO. The obejective is to backup and the reliably restore one's system.
Attend especially to my contribution in that thread regarding a script (a pair of files) I use to create a stage4, compressed archive. It's tested, works, simple, and used in real life from time-to-time to restore the system from hard drive failure as well as to move my system from one computer to another using commonly installed, core Linux utilities.
My current, fully mature, primary desktop is:
Code: | Packages installed: 1413
Packages in world: 264
Packages in system: 49
Required packages: 1413 |
and my current stage4.tar.zst file is 5.5 GB. It does not contain any personal files. In my case, personal files are backed up separately from the system backup. _________________ Andy Figueroa
hp pavilion hpe h8-1260t/2AB5; spinning rust x3
i7-2600 @ 3.40GHz; 16 gb; Radeon HD 7570
amd64/23.0/split-usr/desktop (stable), OpenRC, -systemd -pulseaudio -uefi
Last edited by figueroa on Sun Apr 07, 2024 2:18 pm; edited 1 time in total |
|
Back to top |
|
|
logrusx Veteran
Joined: 22 Feb 2018 Posts: 1696
|
Posted: Sun Apr 07, 2024 5:43 am Post subject: Re: Confused but Enthusiastic |
|
|
Ralphred wrote: |
Genkernel is the Gentoo equivalent of a "normal distrib kernel" from other distro's, where instead of a "I'll work for your hardware" self configured kernel, the paradigm is "I'll support as much hardware variability as I can, and load what I need to, to work" paradigm. |
Genkernel is a tool for kernel build automation, gentoo-kernel-bin is the kernel you're referring to and gentoo-kernel is the same but built locally.
Best Regards,
Georgi |
|
Back to top |
|
|
NeddySeagoon Administrator
Joined: 05 Jul 2003 Posts: 54423 Location: 56N 3W
|
Posted: Sun Apr 07, 2024 10:06 am Post subject: |
|
|
red6,
Congratulations. The hard bit about Gentoo is getting it to boot.
Everyone who posts here is a contributor. Questions can lead to changes in the handbook that improves the Gentoo experience for those that come after. Don't be shy.
There is only one silly question. That's the one you don't ask.
A bootable ISO is hard. ISO 9660 is a read only filesystem, so you must add an overlay filesystem of some sort, to fake it being read/write.
Its called an overlay filesystem as the ISO is not changed. Writes go to RAM and the filesystem sorts out the mess. Writes are normally lost at reboot.
Its possible to save and restore the writes but that's another complication.
As its Gentoo, its possible but consider other alternatives.
You have already been linked to the stage4
Its possible to reproduce your install on a USB stick too and make it boot. The USB stick will use normal filesystems and behave in all respects like a normal bare metal install.
There is one twist. The kernel normally mounts root before it starts the USB subsystem. With root on USB, that fails, so a delay is required to let USB start before the kernel attempts to mount root. _________________ Regards,
NeddySeagoon
Computer users fall into two groups:-
those that do backups
those that have never had a hard drive fail. |
|
Back to top |
|
|
red6 n00b
Joined: 05 Apr 2024 Posts: 7 Location: Toronto
|
Posted: Mon Apr 08, 2024 9:41 pm Post subject: My install process in a a nutshell |
|
|
In an effort to make a shortcut thru the amazing Handbook I will post this.
Here is what I performed (much of this trails is based on using bash history command)
=====================================================================================
Burn "install-amd64-minimal-20240331T170407Z.iso" to a USB Stick.
Boot from the USB Live Stick.
As root:
Use fdisk to prepare the main SSD with a GPT table and 3 partitions.
EFI, SWAP and EXT4.
Code: |
mkfs.vfat -F 32 /dev/sda1
mkswap /dev/sda2
swapon /dev/sda2
mkfs.ext4 /dev/sda3
|
Results...
Code: |
Disk /dev/sda: 232.89 GiB, 250059350016 bytes, 488397168 sectors
Disk model: Samsung SSD 850
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: gpt
Disk identifier: 8A4FFE9F-CDDB-44AD-8E0B-A202A4F49E37
Device Start End Sectors Size Type
/dev/sda1 2048 2099199 2097152 1G EFI System
/dev/sda2 2099200 18876415 16777216 8G Linux swap
/dev/sda3 18876416 480249855 461373440 220G Linux root (x86-64)
|
Skipped the network configuration. It just doesn't seem to be needed.
Don't know why the network is up and the ethernet jack is working.
Seems DHCP worked magically and internet connectivity came up and DNS worked out of the box!
My guess is the latest minimal-install iso has some very nice mature networking stuff.
But it took hours to discover that setting up was not required and became
problematic because my integrate ThinkPas ethernet adapter did not show up as "eth0".
Code: |
mkdir --parents /mnt/gentoo
mkdir --parents /mnt/gentoo/efi
mount /dev/sda3 /mnt/gentoo
cd /mnt/gentoo
|
Download "stage3-amd64-desktop-openrc-20240331T170407Z.tar.xz" with wget.
Download "stage3-amd64-desktop-openrc-20240331T170407Z.tar.xz.sha256" with wget.
Verify the integrity of the stage3 file with "sha256sum --check stage3-amd64-<release>-<init>.tar.xz.sha256".
Code: |
tar xpvf stage3-*.tar.xz --xattrs-include='*.*' --numeric-owner
cp --dereference /etc/resolv.conf /mnt/gentoo/etc/ # not sure why --deference is neeeded because the file was not a symbolic link
|
The following part is not explained in the handbook other than just do it
Code: |
mount --types proc /proc /mnt/gentoo/proc
mount --rbind /sys /mnt/gentoo/sys
mount --make-rslave /mnt/gentoo/sys
mount --rbind /dev /mnt/gentoo/dev
mount --make-rslave /mnt/gentoo/dev
mount --bind /run /mnt/gentoo/run
mount --make-slave /mnt/gentoo/run
|
Now things are rolling along...
Code: |
chroot /mnt/gentoo /bin/bash
source /etc/profile
export PS1="(chroot) ${PS1}"
mkdir /efi
mount /dev/sda1 /efi
mkdir --parents /etc/portage/repos.conf
cp /usr/share/portage/config/repos.conf /etc/portage/repos.conf/gentoo.conf
emerge-webrsync
emerge --ask --verbose --oneshot app-portage/mirrorselect
mirrorselect -i -o >> /etc/portage/make.conf
emerge --sync
emerge --ask --oneshot app-portage/cpuid2cpuflags
echo "*/* $(cpuid2cpuflags)" > /etc/portage/package.use/00cpu-flags
nano /etc/portage/make.conf # just to check stuff
echo "America/Toronto" > /etc/timezone
emerge --config sys-libs/timezone-data
nano /etc/locale.gen
locale-gen
locale -a
nano /etc/env.d/02locale # manually setup for English UFT-8 here in Canada
env-update && source /etc/profile && export PS1="(chroot) ${PS1}"
eselect profile list # Choose default/linux/amd64/23.0/desktop
emerge --ask sys-kernel/linux-firmware
nano /etc/portage/package.use/installkernel
cat /etc/portage/package.use/installkernel shoud show...
sys-kernel/installkernel dracut
|
This is wher I succeeded but I am thinking that both steps were not required.
Code: |
emerge --ask sys-kernel/installkernel
emerge --ask sys-kernel/gentoo-kernel
|
Then the final stretch of this maraton...
Code: |
nano /etc/fstab
echo tux > /etc/hostname
emerge --ask net-misc/dhcpcd
rc-update add dhcpcd default
nano /etc/hosts
emerge --ask app-admin/sysklogd
rc-update add sysklogd default
rc-update add sshd default
emerge --ask net-misc/chrony
rc-update add chronyd default
emerge --ask sys-fs/e2fsprogs
echo 'GRUB_PLATFORMS="efi-64"' >> /etc/portage/make.conf
emerge --ask sys-boot/grub
grub-install --target=x86_64-efi --efi-directory=/efi --removable # this exact command was required but it was not easy to identify in the handbook
grub-mkconfig -o /boot/grub/grub.cfg
passwd
|
|
|
Back to top |
|
|
pietinger Moderator
Joined: 17 Oct 2006 Posts: 4413 Location: Bavaria
|
Posted: Mon Apr 08, 2024 11:30 pm Post subject: |
|
|
red6,
you have done a good job. Let me answer some questions:
red6 wrote: | Skipped the network configuration. It just doesn't seem to be needed.
Don't know why the network is up and the ethernet jack is working.
Seems DHCP worked magically and internet connectivity came up and DNS worked out of the box!
My guess is the latest minimal-install iso has some very nice mature networking stuff. |
Yes, most (all?) bootable Linux use DHCP - of course also our Gentoo. It works if you have a (A)DSL-modem-router which acts also as a DHCP server (you have!). Then your system will get an IP address (and DNS info) from your router and doesnt need a manual IP configuration.
red6 wrote: | [...] ethernet adapter did not show up as "eth0". |
Every modern system uses now new names, like "enp....". You can see it with the command "ip a".
red6 wrote: | Code: | mkdir --parents /mnt/gentoo
mkdir --parents /mnt/gentoo/efi |
|
When using the parameter -p you dont need the first line
red6 wrote: | Code: | cp --dereference /etc/resolv.conf /mnt/gentoo/etc/ # not sure why --deference is neeeded because the file was not a symbolic link |
|
The parameter -L is sometimes necessary when users boot with another distribution (where this is then a link) and not with our GentooCDs. Yes, with our GentooCD it is not necessary.
red6 wrote: | The following part is not explained in the handbook other than just do it
Code: | mount --types proc /proc /mnt/gentoo/proc
mount --rbind /sys /mnt/gentoo/sys
mount --make-rslave /mnt/gentoo/sys
mount --rbind /dev /mnt/gentoo/dev
mount --make-rslave /mnt/gentoo/dev
mount --bind /run /mnt/gentoo/run
mount --make-slave /mnt/gentoo/run |
[...]
Code: | chroot /mnt/gentoo /bin/bash
source /etc/profile |
|
These mounts are necessary in your chroot-environment ... Because you have used our GentooCD you might do a simple "arch-chroot" instead of all these commands (*).
red6 wrote: | This is wher I succeeded but I am thinking that both steps were not required.
Code: | emerge --ask sys-kernel/installkernel
emerge --ask sys-kernel/gentoo-kernel |
|
Oh ... they are required !
*) Maybe you want compare your steps with our Quick Installation Guide:
https://wiki.gentoo.org/wiki/User:Pietinger/Draft/Quick_Installation_OpenRC_for_an_UEFI_System _________________ https://wiki.gentoo.org/wiki/User:Pietinger |
|
Back to top |
|
|
NeddySeagoon Administrator
Joined: 05 Jul 2003 Posts: 54423 Location: 56N 3W
|
Posted: Tue Apr 09, 2024 11:32 am Post subject: |
|
|
red6,
You are 'growing' your gentoo install at /mnt/gentoo with respect to the the booted LiveUSB.
Code: | mount --types proc /proc /mnt/gentoo/proc
mount --rbind /sys /mnt/gentoo/sys
mount --make-rslave /mnt/gentoo/sys
mount --rbind /dev /mnt/gentoo/dev
mount --make-rslave /mnt/gentoo/dev
mount --bind /run /mnt/gentoo/run
mount --make-slave /mnt/gentoo/run |
These steps make some filesystems that exist outside of the chroot (you haven't done that step yet) inside the chroot too.
When you execute the Code: | chroot /mnt/gentoo ... | everything above /mnt/gentoo vanishes and you are in your growing install almost as if you had booted it.
Almost, as it still depends on services provided by the LiveUSB.
/proc, /sys and /dev are pseudo filesystems provided by the kernel. They are used to interact with the kernel.
Without them almost nothing works, so they are needed inside the chroot when the root has been changed to /mnt/gentoo _________________ Regards,
NeddySeagoon
Computer users fall into two groups:-
those that do backups
those that have never had a hard drive fail. |
|
Back to top |
|
|
red6 n00b
Joined: 05 Apr 2024 Posts: 7 Location: Toronto
|
Posted: Wed Apr 10, 2024 5:10 pm Post subject: Where do I go from here to get X and XFCe installed |
|
|
I am really lost when it comes to getting a Desktop environment running. I have tried following the Handbook but it is above my pay grade.
So I keep backing out to my stable basic installation by using a rescue USB and restoring a raw image backup of the root partition.
Should I start over at the beginning and "eselect desktop/plasma/systemd".
Also, I think I would prefer to use systemd instead of openrc. I initially used openrc because that was my only path to success.
Ultimately, I would prefer to set the laptop aside and use my Proxmox machine to host my experiments.
I guess I just have yet to find a modern tutorial on Youtube that gets me kick-started.
Any suggestions would be greatly appreciated.
And just a reminder to myself what the goal is here... An embedded system on x86_64 hardware (maybe with a hardware watchdog) that is lean, fast and self healing. |
|
Back to top |
|
|
pietinger Moderator
Joined: 17 Oct 2006 Posts: 4413 Location: Bavaria
|
Posted: Wed Apr 10, 2024 5:46 pm Post subject: Re: Where do I go from here to get X and XFCe installed |
|
|
red6 wrote: | I guess I just have yet to find a modern tutorial on Youtube that gets me kick-started.
Any suggestions would be greatly appreciated. |
Please dont use any tutorials from YT ... I don't know of any currently correct.
red6 wrote: | Should I start over at the beginning and "eselect desktop/plasma/systemd". |
YES ! (be aware: You will need another stage3-file ! ... and you cannot use the same commands as for an OpenRC system!)
red6 wrote: | I am really lost when it comes to getting a Desktop environment running. |
Installing KDE/Plasma is the easiest thing (if you have selected the correct profile). I am using X.11 and this has been my steps (for an OpenRC-system) (WITH change of language):
Code: | # emerge -pvD xorg-server
# cd /etc/X11
# mkdir xorg.conf.d
# cd xorg.conf.d
# cp /usr/share/X11/xorg.conf.d/40-libinput.conf .
# nano -w 40-libinput.conf
=> add to keyboard section: Option "xkb_layout" "de"
# emerge -pvD plasma-meta kdecore-meta
# rc-update add elogind boot
# rc-update add display-manager default
# nano -w /etc/conf.d/display-manager
=> DISPLAYMANAGER="sddm" |
( This gives you a minimal KDE system; of course I had emerged more apllications like:
Code: | # emerge -pvD ark falkon gwenview kate kcalc kmix kompare konversation kwalletmanager marble okteta okular spectacle sweeper
# emerge -pvD kmahjongg kmines
# emerge -pvD spectre-meltdown-checker yt-dlp
# emerge -pvD k3b
# emerge -pvD kdepim-meta
# emerge -pvD kleopatra
# emerge -pvD libreoffice |
_________________ https://wiki.gentoo.org/wiki/User:Pietinger |
|
Back to top |
|
|
red6 n00b
Joined: 05 Apr 2024 Posts: 7 Location: Toronto
|
Posted: Thu Apr 11, 2024 4:37 pm Post subject: Following the instructions from your last recommendation |
|
|
"emerge -vD xorg-server"
Seems to be about 240 packages in this meta-package.
Bombed out with 73 left. System crashed and power cycle was required.
Then resumed and things went well until 51 packages left. Then rust compile blew up.
Resumed again but I keep bombing out at 46 packages left. The llvm-17.0.6 compile blows up.
Using profile "default/linux/amd64/23.0/desktop/plasma".
Can't get any further.
Not sure what to do next as complile times are 2 to 3 hours so far on a Thinpad 450 with i5 and 4 cores and 12 Gb ram. |
|
Back to top |
|
|
figueroa Advocate
Joined: 14 Aug 2005 Posts: 2971 Location: Edge of marsh USA
|
Posted: Thu Apr 11, 2024 4:50 pm Post subject: |
|
|
Show us your "emerge --info" and in the meantime consider reducing -j~ in /etec/portage/make.conf to:
and if already -j2, set it to -j1.
Have you looked in your syslog for segfaults or other errors? _________________ Andy Figueroa
hp pavilion hpe h8-1260t/2AB5; spinning rust x3
i7-2600 @ 3.40GHz; 16 gb; Radeon HD 7570
amd64/23.0/split-usr/desktop (stable), OpenRC, -systemd -pulseaudio -uefi |
|
Back to top |
|
|
NeddySeagoon Administrator
Joined: 05 Jul 2003 Posts: 54423 Location: 56N 3W
|
Posted: Thu Apr 11, 2024 5:16 pm Post subject: |
|
|
red6,
Can't ?
What does that mean?
You have encountered a learning opportunity you need some help with. That happens to us all.
Gentoo installs on YouTube are incomplete, wrong, misleading, or out of date ... or even all four.
If you want a wee smile Install Gentoo In Three Commands.
That was correct when it was posted in 2006 _________________ Regards,
NeddySeagoon
Computer users fall into two groups:-
those that do backups
those that have never had a hard drive fail. |
|
Back to top |
|
|
red6 n00b
Joined: 05 Apr 2024 Posts: 7 Location: Toronto
|
Posted: Thu Apr 11, 2024 5:34 pm Post subject: More debug info |
|
|
emerge --info
Code: |
Portage 3.0.61 (python 3.11.8-final-0, default/linux/amd64/23.0/desktop/plasma, gcc-13, glibc-2.38-r11, 6.6.21-gentoo-dist x86_64)
=================================================================
System uname: Linux-6.6.21-gentoo-dist-x86_64-Intel-R-_Core-TM-_i5-5200U_CPU_@_2.20GHz-with-glibc2.38
KiB Mem: 12120256 total, 9604644 free
KiB Swap: 8388604 total, 8388604 free
Timestamp of repository gentoo: Wed, 10 Apr 2024 19:30:00 +0000
Head commit of repository gentoo: 059c11710d1f552f3b6081db469114de96758ad4
sh bash 5.1_p16-r6
ld GNU ld (Gentoo 2.41 p5) 2.41.0
app-misc/pax-utils: 1.3.7::gentoo
app-shells/bash: 5.1_p16-r6::gentoo
dev-build/autoconf: 2.71-r6::gentoo
dev-build/automake: 1.16.5-r2::gentoo
dev-build/cmake: 3.28.3::gentoo
dev-build/libtool: 2.4.7-r4::gentoo
dev-build/make: 4.4.1-r1::gentoo
dev-build/meson: 1.3.2::gentoo
dev-lang/perl: 5.38.2-r2::gentoo
dev-lang/python: 3.11.8_p1::gentoo, 3.12.2_p1::gentoo
dev-lang/rust-bin: 1.75.0::gentoo
sys-apps/baselayout: 2.14-r2::gentoo
sys-apps/openrc: 0.54::gentoo
sys-apps/sandbox: 2.38::gentoo
sys-devel/binutils: 2.41-r5::gentoo
sys-devel/binutils-config: 5.5::gentoo
sys-devel/gcc: 13.2.1_p20240210::gentoo
sys-devel/gcc-config: 2.11::gentoo
sys-kernel/linux-headers: 6.6-r1::gentoo (virtual/os-headers)
sys-libs/glibc: 2.38-r11::gentoo
Repositories:
gentoo
location: /var/db/repos/gentoo
sync-type: rsync
sync-uri: rsync://rsync.gentoo.org/gentoo-portage
priority: -1000
volatile: False
sync-rsync-extra-opts:
sync-rsync-verify-max-age: 3
sync-rsync-verify-jobs: 1
sync-rsync-verify-metamanifest: yes
Binary Repositories:
gentoobinhost
priority: 1
sync-uri: https://distfiles.gentoo.org/releases/amd64/binpackages/23.0/x86-64
ACCEPT_KEYWORDS="amd64"
ACCEPT_LICENSE="* @FREE @BINARY-REDISTRIBUTABLE"
CBUILD="x86_64-pc-linux-gnu"
CFLAGS="-march=native -O2 -pipe"
CHOST="x86_64-pc-linux-gnu"
CONFIG_PROTECT="/etc /usr/share/config /usr/share/gnupg/qualified.txt"
CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/dconf /etc/env.d /etc/fonts/fonts.conf /etc/gconf /etc/gentoo-release /etc/sandbox.d"
CXXFLAGS="-march=native -O2 -pipe"
DISTDIR="/var/cache/distfiles"
ENV_UNSET="CARGO_HOME DBUS_SESSION_BUS_ADDRESS DISPLAY GDK_PIXBUF_MODULE_FILE GOBIN GOPATH PERL5LIB PERL5OPT PERLPREFIX PERL_CORE PERL_MB_OPT PERL_MM_OPT XAUTHORITY XDG_CACHE_HOME XDG_CONFIG_HOME XDG_DATA_HOME XDG_RUNTIME_DIR XDG_STATE_HOME"
FCFLAGS="-march=native -O2 -pipe"
FEATURES="assume-digests binpkg-docompress binpkg-dostrip binpkg-logs binpkg-multi-instance buildpkg-live config-protect-if-modified distlocks ebuild-locks fixlafiles ipc-sandbox merge-sync multilib-strict network-sandbox news parallel-fetch pid-sandbox pkgdir-index-trusted preserve-libs protect-owned qa-unresolved-soname-deps sandbox sfperms strict unknown-features-warn unmerge-logs unmerge-orphans userfetch userpriv usersandbox usersync xattr"
FFLAGS="-march=native -O2 -pipe"
GENTOO_MIRRORS="http://gentoo.mirrors.tera-byte.com/ rsync://mirrors.tera-byte.com/gentoo https://mirror.csclub.uwaterloo.ca/gentoo-distfiles/ http://mirror.csclub.uwaterloo.ca/gentoo-distfiles/ rsync://mirror.csclub.uwaterloo.ca/gentoo-distfiles"
LANG="en_US.UTF-8"
LDFLAGS="-Wl,-O1 -Wl,--as-needed -Wl,-z,pack-relative-relocs"
LEX="flex"
PKGDIR="/var/cache/binpkgs"
PORTAGE_CONFIGROOT="/"
PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --omit-dir-times --compress --force --whole-file --delete --stats --human-readable --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages --exclude=/.git"
PORTAGE_TMPDIR="/var/tmp"
SHELL="/bin/bash"
USE="X a52 aac acl acpi activities alsa amd64 bluetooth branding bzip2 cairo cdda cdr cet crypt cups dbus declarative dri dts dvd dvdr elogind encode exif flac gdbm gif gpm gtk gui iconv icu ipv6 jpeg kde kwallet lcms libnotify libtirpc mad mng mp3 mp4 mpeg multilib ncurses networkmanager nls ogg opengl openmp pam pango pcre pdf pipewire plasma png policykit ppds pulseaudio qml qt5 readline screencast sdl seccomp semantic-desktop sound spell ssl startup-notification svg test-rust tiff truetype udev udisks unicode upower usb vorbis vulkan wayland widgets wxwidgets x264 xattr xcb xft xml xv xvid zlib" ABI_X86="64" ADA_TARGET="gcc_12" APACHE2_MODULES="authn_core authz_core socache_shmcb unixd actions alias auth_basic authn_anon authn_dbm authn_file authz_dbm authz_groupfile authz_host authz_owner authz_user autoindex cache cgi cgid dav dav_fs dav_lock deflate dir env expires ext_filter file_cache filter headers include info log_config logio mime mime_magic negotiation rewrite setenvif speling status unique_id userdir usertrack vhost_alias" CALLIGRA_FEATURES="karbon sheets words" COLLECTD_PLUGINS="df interface irq load memory rrdtool swap syslog" CPU_FLAGS_X86="mmx mmxext sse sse2 aes avx avx2 f16c fma3 pclmul popcnt rdrand sse3 sse4_1 sse4_2 ssse3" ELIBC="glibc" GPSD_PROTOCOLS="ashtech aivdm earthmate evermore fv18 garmin garmintxt gpsclock greis isync itrax mtk3301 ntrip navcom oceanserver oncore rtcm104v2 rtcm104v3 sirf skytraq superstar2 tsip tripmate tnt ublox" GRUB_PLATFORMS="efi-64" INPUT_DEVICES="libinput" KERNEL="linux" LCD_DEVICES="bayrad cfontz glk hd44780 lb216 lcdm001 mtxorb text" LUA_SINGLE_TARGET="lua5-1" LUA_TARGETS="lua5-1" OFFICE_IMPLEMENTATION="libreoffice" PHP_TARGETS="php8-1" POSTGRES_TARGETS="postgres15" PYTHON_SINGLE_TARGET="python3_11" PYTHON_TARGETS="python3_11" RUBY_TARGETS="ruby31" VIDEO_CARDS="amdgpu fbdev intel nouveau radeon radeonsi vesa dummy" XTABLES_ADDONS="quota2 psd pknock lscan length2 ipv4options ipp2p iface geoip fuzzy condition tarpit sysrq proto logmark ipmark dhcpmac delude chaos account"
Unset: ADDR2LINE, AR, ARFLAGS, AS, ASFLAGS, CC, CCLD, CONFIG_SHELL, CPP, CPPFLAGS, CTARGET, CXX, CXXFILT, ELFEDIT, EMERGE_DEFAULT_OPTS, EXTRA_ECONF, F77FLAGS, FC, GCOV, GPROF, INSTALL_MASK, LC_ALL, LD, LFLAGS, LIBTOOL, LINGUAS, MAKE, MAKEFLAGS, MAKEOPTS, NM, OBJCOPY, OBJDUMP, PORTAGE_BINHOST, PORTAGE_BUNZIP2_COMMAND, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS, PYTHONPATH, RANLIB, READELF, RUSTFLAGS, SIZE, STRINGS, STRIP, YACC, YFLAGS
|
And "can't got any further" means that if I repeat emerge -vD, I dont' get past package 46 repeatedly.
And here is the tail of syslog after the crash...
[/code]
Code: |
Apr 11 11:19:42 tux dhcpcd[1655]: enp0s25: no IPv6 Routers available
Apr 11 11:19:57 tux chronyd[1594]: Selected source 174.138.215.74 (3.gentoo.pool.ntp.org)
Apr 11 11:21:10 tux kernel: logitech-hidpp-device 0003:046D:400A.0004: HID++ 2.0 device connected.
Apr 11 11:41:02 tux kernel: perf: interrupt took too long (2510 > 2500), lowering kernel.perf_event_max_sample_rate to 79500
Apr 11 11:48:20 tux kernel: rustc[20988]: segfault at 0 ip 000055f4e8eb0342 sp 00007f7cc6de8cb0 error 4 in rustc-bin-1.75.0[55f4e8ead000+58000] likely on CPU 0 (core 0, socket 0)
Apr 11 11:48:20 tux kernel: Code: 84 23 b0 01 00 00 48 39 e8 0f 85 c9 02 00 00 44 89 f0 c1 e8 0c 25 ff ff 03 00 48 c1 e0 03 4b 03 44 27 08 48 8d b3 58 03 00 00 <48> 8b 08 48 89 c8 48 c1 e8 30 48 8d 15 2d 4c 26 00 4c 8b 2c c2 f6
Apr 11 12:04:10 tux kernel: perf: interrupt took too long (3146 > 3137), lowering kernel.perf_event_max_sample_rate to 63300
Apr 11 12:19:11 tux kernel: perf: interrupt took too long (3945 > 3932), lowering kernel.perf_event_max_sample_rate to 50400
|
|
|
Back to top |
|
|
red6 n00b
Joined: 05 Apr 2024 Posts: 7 Location: Toronto
|
Posted: Thu Apr 11, 2024 5:52 pm Post subject: Certainly is a learning experience |
|
|
I am not exactly a novice. But Gentoo has been on my bucket list for about 12 years.
I do hold a patent on a commercially successful embedded system. Designed the original system and wrote most of the software.
It was all written in "C" and and the hardware concept was all deemed as not prior art.
Another system, about 10% of the deployed systems in Telco central offices on 48 VDC ran non-stop for 11 years without a reboot. Not even a hardware watchdog reboot.
Very proud of that work.
So help learning to get Gentoo going is greatly appreciated from all of you. |
|
Back to top |
|
|
pietinger Moderator
Joined: 17 Oct 2006 Posts: 4413 Location: Bavaria
|
Posted: Thu Apr 11, 2024 5:55 pm Post subject: |
|
|
figueroa wrote: | Show us your "emerge --info" and in the meantime consider reducing -j~ in /etec/portage/make.conf to:
and if already -j2, set it to -j1.
Have you looked in your syslog for segfaults or other errors? |
I want to add to this correct help an important information for PO:
IF you dont have set the variable MAKEOPTS in your /etc/portage/make.conf THEN portage takes the amount of your CPU cores (=4) as number of paralell jobs for compiling a package. rust (and some others) is a really "bad" package, because it takes up to more than 3 GB per compiling job ... and reaches your RAM limit ... BUT ...
You can use pre-compiled packages ! (This I would suggest with a small notebook CPU). Maybe you want read some articles about binhost in our Wiki ?
( https://wiki.gentoo.org/wiki/Gentoo_Binary_Host_Quickstart ) _________________ https://wiki.gentoo.org/wiki/User:Pietinger |
|
Back to top |
|
|
NeddySeagoon Administrator
Joined: 05 Jul 2003 Posts: 54423 Location: 56N 3W
|
Posted: Thu Apr 11, 2024 6:34 pm Post subject: |
|
|
red6,
If you have run out of real RAM, dmesg will tell you all about it.
The Out Of Memory (OOM) manager will leave a lot of lines there. It kicks in when the kernel need RAM bet there is none free. It has a choice between panicing whicd brings the wole system down and killing a process to free RAM.
Compile jobs are favourites to be killed.
Code: | grep -i killed /path/to/build.log | will show it too. It should return nothing when all is well.
Setting MAKEOPTS= in make.conf is a bit of a blunt instrument' when the default mostly works.
Many but not quite all possible make.conf entries can also be set in a per package basis.
The method is documented on the wiki
If the segfault is repeatable, it may be a bug. But others would have seen the bug too.
If its not repeatable. That is, Code: | ip 000055f4e8eb0342 | is not a constant, it may be hardware.
Think overheating.
Reducing MAKEOPTS can help there. _________________ Regards,
NeddySeagoon
Computer users fall into two groups:-
those that do backups
those that have never had a hard drive fail. |
|
Back to top |
|
|
|
|
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot vote in polls in this forum
|
|