On 2/24/20 5:10 AM, Thomas Trepl via blfs-support wrote:
Am Sonntag, den 23.02.2020, 12:28 -0500 schrieb Scott Andrews via
blfs-support:
[snip]
You might have a look to https://intestinate.com/pilfs/ for LFS on PI.

--
Thomas

I am creating a base system which will hereby all packages will be built against.

Using a clean overlayfs chroot mount, the packages dependences will be added and the package will be built.

The overlay chroot environment is restored to the pristine state and the next package built.

This is done until all packages destined for the completed machine are built.

This keeps unwanted dependences from occurring.

I will then install the base packages to an SD card and add the other packages required to function using rpm and yum.

This "base"  will and can be used for any build type end function of machine regardless of the individual end product.

Just adding the additional packages for function to the "base"

It will also allow me to reproduce a given machine at will, and I can make as many duplicate machines as required, all being the same except for configuration. without cloning a previous setup and saving that as base to create another machine.


Linux from scratch in my opinion should embrace this kind of thing.  Modular, using that to build upon for the desired out come, not piece meal. Not starting from "scratch" when ever one requires a "new" or type machine.


Now about pilfs.........

https://intestinate.com/pilfs/ is good work but it is incomplete.  It will not build a system that uses the hardware floating point nor will it take advantage of neon for multimedia. It also does not tune the binaries to run on the arm platform.

It also uses the wrong gcc system type as it should be this: armv7l-unknown-linux-gnueabihf or armv7hnl-unknown-linux-gnueabihf.

The patches used for gcc only affect gcc and are not needed as you should be passing the correct CFLAGS and system-type to all packages, although some package do not accept the system_type and it needs to be omitted.

CFLAGS =' -O2 -pipe -march=armv7-a+neon-vfpv4 -mtune=cortex-a7 -mfloat-abi=hard -mfpu=neon-vfpv4 -fPIC -fomit-frame-pointer -ftree-vectorize'

SYSTEM_TYPE='--with-arch=armv7-a+neon-vfpv4 --with-fpu=neon-vfpv4 --with-float=hard --with-arch-directory=arm

The CFLAGS need to be used in every package and the SYSTEM_TYPE flags need to be passed in addition to the CFLAGS for binutils, glibc and gcc if you would like to build a "correct" system.  It is not hard doing things correctly,  just a bit more work and testing to see if you get the correct results.


--
http://lists.linuxfromscratch.org/listinfo/blfs-support
FAQ: http://www.linuxfromscratch.org/blfs/faq.html
Unsubscribe: See the above information page

Reply via email to