-
Posts
34 -
Joined
-
Last visited
-
Days Won
4
Content Type
Profiles
Forums
Blogs
Posts posted by Chris Kurlinski
-
-
I like the new profile setup.
Rebuilding my system on another drive right now in a chroot.
Greatly simplified the use flag mess I had going, between package.use and make.conf.
Needed some basic changes in /etc/portage/package.accept_keywords for zfs kernel builtins and zfs package, but that's it.
Plus portage seems way more responsive, way faster.
Good job everyone, keep up the good work.
BTW, I love the no-systemd mix-in .......
-
I like efibootmgr. Simple.
No loaders, just efi stubs.
If you use a generic name for your kernel stub, whenever you update the kernel, cp it to the same name. No need to update the efiboot command
If you use a initramfs, add it to the -u line, and copy it to the EF00 partition, use a generic name also.
Something like and done.
efibootmgr -c -d /dev/sda -p 1 -L "funtoo" -l "\linux.efi" -u "root=PARTUUID=***** rootfstype=ext4 consoleblank=0"
-c = create
-d = dev with the EF00 partition on it
-p = partition number for your GPT EF00 partition
-L = entry name
-l = efistub !!! the "\" is needed because the EF00 partition is fat formatted and UEFI looks for the fs0 / EF00 partition.
-u = kernel boot options. Use PARTUUID, I never got UUID to work.
-
None of the work arounds worked for me with the Samba 4.X.X ebuilds, masked the whole 4 series.
Back to Samba 3.6.25.
If you change None to ntdb, then I get a file collision during install.
--bundled-libraries=NONE \
--builtin-libraries=NONE \
-
Just had the same issue..... looking into eudev....
-
yeah, still trying to get a funtoo / musl stage3 built....
Anyway, not to hijack your thread.
Your using wd20ears drives.....
Did you ever fix the head parking? WD green drives park the heads a lot, That's how they save power, and makes them very bad for raid or zfs arrays.
Here is a fix for the issue, but the damage maybe done.
Have you checked the SMART data for the drives?
I have (4) of theses that are basically dead, from that issue, not on a zfs array, but a windows software raid5.
This was the whole reason I went to zfs, and have avoided WD drives since.
I don't like the artificial market segmentation they are pushing. Seagate Enterprise SAS or Hitachi SATA.
-
Your spl and zfs modules need to be in the initramfs, or compiled into the kernel, if I am not mistaken, so the zpool cache is initilized at boot.
From what I understand, the kernel / initramfs starts the system, starts the kernel init, then the kernel init hands off to openrc to mount the root filesystem, config devices, and start services. If the drivers are not availiable to openrc at initialization, then dog ate your lunch, openrc just keeps going or fails if root is on zfs.
I think if you need dmcrypt for you zpools, edit the init.d zfs startup script, and add dmcrypt to the required line, and that way, every time zfs starts, it either checks if dmcrypt is loaded or loads it, before starting zfs.
hope this helps, exploring the depths of the whole boot processes myself, trying to build my dream system.
-
Did it work for you?
After I had the zfs and spl load at boot, I did not have to import the vdevs anymore, they were found on startup.
-
Hello all.
I am currently, as in the last 3 months, working on building a xen usb image using funtoo.
The jest of the idea, is a how to to create it from system rescue boot disk, build a kernel with the xen support, driver domains for the network ( domnet ) and a domstore ( zfs zvol for domu).
Currently I have a usable kernel built, booting dom0, domnet, and domstore.
But I have no experience with any sort of live file systems, like tmpfs, aufs, unionfs.
The ultimate out come I would like is a kernel and initramfs with the dom0, and a separate initramfs for domnet, domstore.
I tried minios, but I want to keep it funtoo native.
Is there anyone that can point to some info, or primer on creating a usb bootable live file system running in ram.
At the end of the day, I will compile the whole thing to use hardened musl, but there is a lot of blocking going on with musl, and I have limited experience with fixing blocks, other than blocking the protection during a crossdev build. Have destroyed 5 installs learning that. The goal is a metro built stage3 musl tarball, and a hardened and non hardened musl profile. It is a work in progress.
thanks all
And to the heads of funtoo, keep up the amazing work. Damn fine job. You guys rock.
-
just ran into this yesterday creating a storage domain for xen.
I set zfs to run at boot to fix mine.
rc-update add zfs boot
Make sure that you have the zfs and spl modules in your initramfs, or add them directly to your kernel bzImage like i did.
-
I think maybe a tuple setting, or a option for a profile will be nice.
I'm still learning this stuff, and my coding skills are rough, but I will try to hack out a profile.spec to be called by metro. But it needs to be run between portage untar / emerge --sync and chroot.
Generally speaking, I'm going to base any profiles that are injected to metro on the existing up stream linux-gnu profile, and mod that until I can get a working stage3 tested and create a proper linux-musl, before I do any submissions, including a profiles.eselect.desc. Currently just concentrating on arch / current / minimal.
But I'm still trying to build a stage3 for musl, so I can work out the kinks.
The tools are there, just the working out the hacks that will successfully create it, and then, I will write the scripts that I used to create it, and help the best that I can to integrate it into funtoo are a whole.
Anyone have a working uclibc funtoo stage3?
That might be easier to build a musl stage3 on than a glibc stage3.
-
I figured out how to inject a linux-musl profile into metro.
I edited the unpack.spec and added a section to copy the linux-gnu profile to linux-musl, and sed / echoed the files a bit.
But alas the feeder profile is still a x86_64-pc-linux-gnu so glibc is still there and metro hit me with insanity and double insanity warnings.
It will emerge --oneshot emerge and compile python. But crashes with unresolved conflicts with glibc when it tries to emerge world.
I also tried the x86_64-gentoo-linux-musl stage3 in a chroot with the above changes to metro unpack.spec, but the problem is the same.
I think I have to hand build a stage3 to feed into metro.
Working that out now.
Attached is my hack of the unpack.spec
[collect ../snapshot/global.spec]
[section steps/unpack]
source: [
[ ! -d $[path/chroot] ] && install -d $[path/chroot]
[ ! -d $[path/chroot]/tmp ] && install -d $[path/chroot]/tmp --mode=1777 || exit 2
src="$(ls $[path/mirror/source])"
comp="${src##*.}"
[ ! -e "$src" ] && echo "Source file $src not found, exiting." && exit 1
echo "Extracting source stage $src..."
case "$comp" in
bz2)
if [ -e /usr/bin/pbzip2 ]
then
# Use pbzip2 for multi-core acceleration
pbzip2 -dc "$src" | tar xpf - -C $[path/chroot] || exit 3
else
tar xpf "$src" -C $[path/chroot] || exit 3
fi
;;
gz|xz)
tar xpf "$src" -C $[path/chroot] || exit 3
;;
*)
echo "Unrecognized source compression for $src"
exit 1
;;
esac
]
snapshot: [
snap="$(ls $[path/mirror/snapshot] )"
[ ! -e "$snap" ] && echo "Required file $snap not found. Exiting" && exit 3
scomp="${snap##*.}"
[ ! -d $[path/chroot]/usr/portage ] && install -d $[path/chroot]/usr/portage --mode=0755
echo "Extracting portage snapshot $snap..."
case "$scomp" in
bz2)
if [ -e /usr/bin/pbzip2 ]
then
pbzip2 -dc "$snap" | tar xpf - -C $[path/chroot]/usr || exit 4
else
tar xpf "$snap" -C $[path/chroot]/usr || exit 4
fi
;;
gz|xz)
tar xpf "$snap" -C $[path/chroot]/usr || exit 4
;;
*)
echo "Unrecognized source compression for $snap"
exit 1
;;
esac
# support for "live" git snapshot tarballs:
if [ -e $[path/chroot]/usr/portage/.git ]
then
( cd $[path/chroot]/usr/portage; git checkout $[snapshot/source/branch:lax] || exit 50 )
fi
echo "################## injecting musl profile ##################"
echo Unmasking musl in gentoo base
sed -i 's/sys-libs\/musl/#sys-libs\/musl/' $[path/chroot]/usr/portage/profiles/base/package.mask
echo Creating $[path/chroot]/funtoo/1.0/linux-musl profile in Metro stage3
#
# create the linux-musl dir and cp the default linux-gnu into it
cd $[path/chroot]/usr/portage/profiles/funtoo/1.0/linux-gnu/
install -d $[path/chroot]/usr/portage/profiles/funtoo/1.0/linux-musl
cp -r * $[path/chroot]/usr/portage/profiles/funtoo/1.0/linux-musl
# Enter new dir
cd $[path/chroot]/usr/portage/profiles/funtoo/1.0/linux-musl
echo cleaning profile $[path/chroot]/funtoo/1.0/linux-musl profile
# remove untested arch
rm -Rf arch/arm-32bit
rm -Rf arch/pure64
rm -Rf arch/x86-32bit
# remove build experimental
rm -Rf build/experimental
# remove untested flavors
rm -Rf flavor/desktop
rm -Rf flavor/workstation
# remove mix-ins (building for core / minimal only)
rm -Rf mix-ins
##### Settings
##### All Changes are relative to /usr/portage/profiles/funtoo/1.0
# Changes in linux-musl
# make.defaults
sed -i 's/glibc/musl/' make.defaults
sed -i 's/elibc_glibc/elibc_musl/' make.defaults
echo 'USE="\${USE} static-libs"' >> make.defaults
echo 'USE="\${USE} -multilib -selinux -hardened -systemtd -pam -glibc"' >> make.defaults
# use.force
sed -i 's/elibc_glibc/elibc_musl/' use.force
# x86-64bit {DIR}
# make.defaults
sed -i 's/x86_64-pc-linux-gnu/x86_64-pc-linux-musl/g' arch/x86-64bit/make.defaults
sed -i 's/STAGE1_USE="multilib nptl nptlonly unicode"/STAGE1_USE="nptl nptlonly unicode"/g' arch/x86-64bit/make.defaults
# package.use.force
# none
# parent
# none
# use.force
sed -i 's/multilib/#multilib/g' arch/x86-64bit/use.force
# package.use.mask {DIR}
# 01-gentoo
# none
# 02-gentoo
# none
# cpu-features
# none
# app-emulation
# none
# use.mask {DIR}
# 01-gentoo
# none
# core
# none
# cpu-features
# none
# hardware
# none
# build {DIR}
# current {DIR}
# eapi
# none
# make.defaults
# none
# package.mask
# none
# stable {DIR}
# eapi
# none
# make.defaults
# none
# README
# none
# package.keywords {DIR}
# funtoo-stable
# none
# package.mask {DIR}
# funtoo
# none
# package.unmask {DIR}
# funtoo-stable
# none
# package.use.stable.mask {DIR}
# 01-gentoo
# none
# flavor {DIR}
# core {DIR}
# make.defaults
# none
# package.use
# none
# parent
# none
# hardened {DIR}
# parent
# none
# minimal {DIR}
# make.defaults
# none
# package.use.force
# none
# package.use.mask
# none
# packages
sed -i 's/*virtual/libc//' flavor/minimal/packages
echo "*sys-apps/getent" >> flavor/minimal/packages
echo "*sys-libs/musl" >> flavor/minimal/packages
# packages.build
sed -i 's/virtual/libc//' flavor/minimal/packages
echo "sys-apps/getent" >> flavor/minimal/packages.build
echo "sys-libs/musl" >> flavor/minimal/packages.build
# profile.bashrc
# none
# server {DIR}
# parent
# none
# package.use {DIR}
# cherokee
# none
# gentoo-syntax
# noneone
# python
# none
# package.use.force {DIR}
# funtoo-use-force
# none
# package.use.mask {DIR}
# .keep
# none
# 01-gentoo
# none
# funtoo-use-mask
# none
# use.mask {DIR}
# .keep
# none
# 01-gentoo
# none
echo "################## injecting musl profile ##################"
]
env: [
install -d $[path/chroot]/etc/portage
if [ "$[profile/format]" = "new" ]; then
cat << "EOF" > $[path/chroot]/etc/portage/make.conf || exit 5
$[[files/make.conf.newprofile]]
EOF
else
cat << "EOF" > $[path/chroot]/etc/portage/make.conf || exit 5
$[[files/make.conf.oldprofile]]
EOF
fi
cat << "EOF" > $[path/chroot]/etc/env.d/99zzmetro || exit 6
$[[files/proxyenv]]
EOF
cat << "EOF" > $[path/chroot]/etc/locale.gen || exit 7
$[[files/locale.gen]]
EOF
for f in /etc/resolv.conf /etc/hosts
do
if [ -e $f ]
then
respath=$[path/chroot]$f
if [ -e $respath ]
then
echo "Backing up $respath..."
cp $respath ${respath}.orig
if [ $? -ne 0 ]
then
echo "couldn't back up $respath" && exit 8
fi
fi
echo "Copying $f to $respath..."
cp $f $respath
if [ $? -ne 0 ]
then
echo "couldn't copy $f into place"
exit 9
fi
fi
done
]
-
Thanks, boss.
Will do.
-
If I'm understanding the Metro build process correctly, the profile configured in build.conf is sourced from the portage snapshot, and not the build computer.
If that is so, is there a way to insert a profile into metro, like gentoo:funtoo/1.0/linux-musl
I have a cut down funtoo profile for musl , just arch (x86_64) / build (current) / flavor (minimal) , and a build env setup, using the new gentoo musl stage3 just posted, with metro installed.
I can build a normal gentoo:funtoo/1.0/linux-gnu stage3, but not anything from gentoo:base because of the arch / build / flavor requirements of metro. So I can't use a gentoo:hardened/linux/musl/ profile.
By the way, Daniel, and everyone else who worked to get this site backup and running, you guys are awe inspiring, thanks for the hard work rebuilding the site. Amazing job...

Samba-4.1.9 Compile Issue (SOLVED)
in Server Help
Posted
Thanks for looking into it.
Doing a complete rebuild, and would like to have samba4.