Ticket #39 (closed task: fixed)

Opened 11 years ago

Last modified 7 years ago

Sysroot build

Reported by: jim Owned by: clfs-commits@…
Priority: major Milestone: CLFS Sysroot 1.0.0
Component: BOOK Version: CLFS Sysroot 1.0.0
Keywords: Cc:

Description

Work on implementing a complete sysroot build for the 2.0 Release. All notes should be placed in this ticket.

Change History

comment:1 Changed 11 years ago by jciccone

I commited what work I've done so far on arm. I'm going to add each arch as I test for differences. My plan is to add the 32bit archs, then the pure64 bit archs, saving the multilib archs for last.

Some differences in the build:

  • There is no more temp-system
  • The cross-tools uses $LFS as it's sysroot, sysroot is the prefix added onto the search paths. eg. When gcc sees -I/usr/include, it will actualy use [sysroot]/usr/include. The same concept applies to ld.
  • The final system is built as the lfs user
  • The final system is still configured with --prefix=/usr but installed with DESTDIR=${LFS}.

What still needs to be done:

  • Make sure nothing's trying to link to or search the host system
  • Adding file to cross-tools
  • Figure out how to cross-compile vim
  • Figure out how to cross-compile perl (full working without references to the host)
  • Figure out how to setup shadow and set root's password.
  • Finally, Add the rest of the archs in.

comment:2 Changed 11 years ago by jciccone

I added glibc-headers in for arm. I think it might be needed for all of the archs but I still need to confirm that.

comment:3 Changed 11 years ago by jciccone

File was also added to cross-tools, If an older version of file is installed on the host the cross-compile may fail with a error similar to the following.

Making all in magic
make[2]: Entering directory `/mnt/lfs-arm/sources/file-4.17/magic'
file -C -m magic
magic, 3745: Warning type `medate       x               Previous dump %s,' invalid
magic, 3746: Warning type `medate       x               This dump %s,' invalid
file: could not find any magic files!
make[2]: *** [magic.mgc] Error 255
make[2]: Leaving directory `/mnt/lfs-arm/sources/file-4.17/magic'

comment:4 Changed 11 years ago by jciccone

coreutils isn't compiling df because of one of it's tests in m4/fsusage.m4. I'm going to look over this for now.

comment:5 Changed 11 years ago by jciccone

Instructions for cross-compiling Vim and Perl are now in the book.

That leaves glibc locales/timezone info, the coreutils df issue, setting root's password.

comment:6 Changed 11 years ago by jciccone

The coreutils df issue is now fixed. As stated before, the problem was related to a test in m4/fsusage.m4. The test for, fu_cv_sys_stat_statfs2_bsize , which is the one that passes when not cross-compiling, is trying to run a compiled test program. Setting this value to yes in config.cache fixes the problem.

comment:7 Changed 11 years ago by jciccone

The glibc timezone issue is now fixed. The fixes to the book were commited in r1837 and the patch was commited in r1838. The reason the timezone info wasn't installed in the past was the compiled zic program couldn't be run. When cross-compiling this patch will build zic-host and use that to install the timezone info.

Issues left: glibc locales & shadow passwords

comment:8 Changed 11 years ago by jim

  • Version changed from unstable to 2.0

comment:9 Changed 11 years ago by jim

  • Version changed from 2.0 to 2.0.0

comment:10 Changed 11 years ago by alexander@…

Root password issue may be fixed by creating /etc/shadow and /etc/gshadow, and copying the encrypted root password from /etc/shadow from the host.

comment:11 Changed 11 years ago by jciccone

  • Status changed from new to closed
  • Resolution set to fixed

Locales, zoneinfo, and sunrpc in glibc have been fixed. Passwords have been fixed by creating a native set of tools.

The major issues can be closed.

Note: See TracTickets for help on using tickets.