fedora-riscv.git
3 years agoRepo has MOVED to https://github.com/rwmjones/fedora-riscv master
Richard W.M. Jones [Fri, 12 Aug 2016 19:34:45 +0000 (20:34 +0100)]
Repo has MOVED to https://github.com/rwmjones/fedora-riscv

3 years agoMake building stage3-chroot more robust.
Richard W.M. Jones [Fri, 12 Aug 2016 18:56:36 +0000 (19:56 +0100)]
Make building stage3-chroot more robust.

So if supermin or the copy fails, it doesn't continue with a
half-baked directory.

3 years agoAdd comment about why we are using .NOTPARALLEL
Richard W.M. Jones [Fri, 12 Aug 2016 17:20:28 +0000 (18:20 +0100)]
Add comment about why we are using .NOTPARALLEL

3 years agostage 3: Allow DISK=... parameter to boot-stage3-in-qemu/-in-spike.
Richard W.M. Jones [Fri, 12 Aug 2016 17:15:10 +0000 (18:15 +0100)]
stage 3: Allow DISK=... parameter to boot-stage3-in-qemu/-in-spike.

This allows us to run multiple parallel builds using different
disks.

3 years agostage3: Build xz before rpm, since rpm depends on xz.
Richard W.M. Jones [Fri, 12 Aug 2016 16:37:44 +0000 (17:37 +0100)]
stage3: Build xz before rpm, since rpm depends on xz.

3 years agoFix mpc-devel -> libmpc-devel.
Richard W.M. Jones [Fri, 12 Aug 2016 15:06:07 +0000 (16:06 +0100)]
Fix mpc-devel -> libmpc-devel.

3 years agostage1 riscv-qemu: Remove Xen dependency, to build on Rawhide.
Richard W.M. Jones [Fri, 12 Aug 2016 14:23:29 +0000 (15:23 +0100)]
stage1 riscv-qemu: Remove Xen dependency, to build on Rawhide.

3 years agoGCC no longer broken, remove obsolete log file.
Richard W.M. Jones [Fri, 12 Aug 2016 13:39:54 +0000 (14:39 +0100)]
GCC no longer broken, remove obsolete log file.

3 years agoRefresh README file.
Richard W.M. Jones [Fri, 12 Aug 2016 11:04:28 +0000 (12:04 +0100)]
Refresh README file.

3 years agoWhen cross-compiling GCC into stage3, set gcc_cv_as_leb128=no
Richard W.M. Jones [Fri, 12 Aug 2016 08:04:30 +0000 (09:04 +0100)]
When cross-compiling GCC into stage3, set gcc_cv_as_leb128=no

The GCC configure script checks for .sleb128 and .uleb128 assembler
directives.  These are disabled on RISC-V binutils.  However GCC
checks /usr/bin/as, not the real assembler, so the check fails.

See also the sw-dev thread
".uleb128 directives in GCC 6.1.0 output not understood by binutils 2.27"

This should fix the stage3 RPM build of glibc.

3 years agoCross-compile vim into stage3 chroot because I'm sick of nano :-)
Richard W.M. Jones [Thu, 11 Aug 2016 21:31:08 +0000 (22:31 +0100)]
Cross-compile vim into stage3 chroot because I'm sick of nano :-)

3 years agoCross-compile gawk into stage3 chroot, required to rebuild glibc.
Richard W.M. Jones [Thu, 11 Aug 2016 19:38:51 +0000 (20:38 +0100)]
Cross-compile gawk into stage3 chroot, required to rebuild glibc.

3 years agoAdd stage3 build of zlib.
Richard W.M. Jones [Thu, 11 Aug 2016 18:54:46 +0000 (19:54 +0100)]
Add stage3 build of zlib.

3 years agoAdd xz-devel to base stage3 chroot list of packages.
Richard W.M. Jones [Thu, 11 Aug 2016 16:31:11 +0000 (17:31 +0100)]
Add xz-devel to base stage3 chroot list of packages.

3 years agoAdd stage3 built RPMs.
Richard W.M. Jones [Thu, 11 Aug 2016 15:33:53 +0000 (16:33 +0100)]
Add stage3 built RPMs.

The SRPMS are built using:

  fedpkg srpm

on an x86_64 host.

The RPMS are built inside the RISC-V emulator using the cross-compiled
rpmbuild binary.

3 years agoAdd xz / lzma, required by RPM.
Richard W.M. Jones [Thu, 11 Aug 2016 14:52:48 +0000 (15:52 +0100)]
Add xz / lzma, required by RPM.

3 years agoFurther fixes to RPM.
Richard W.M. Jones [Thu, 11 Aug 2016 10:42:43 +0000 (11:42 +0100)]
Further fixes to RPM.

This should fix the %{_arch} issue.

3 years agorpm: Set vendor to 'redhat'.
Richard W.M. Jones [Thu, 11 Aug 2016 09:29:02 +0000 (10:29 +0100)]
rpm: Set vendor to 'redhat'.

Matches what the Fedora packages does, and also should fix the
macros path.

3 years agoAdd iso-codes.noarch to the stage3 chroot.
Richard W.M. Jones [Thu, 11 Aug 2016 07:41:07 +0000 (08:41 +0100)]
Add iso-codes.noarch to the stage3 chroot.

3 years agoAdd readline and lua.
Richard W.M. Jones [Thu, 11 Aug 2016 07:13:34 +0000 (08:13 +0100)]
Add readline and lua.

Lua is required by several RPM packages in the early
Fedora bootstrap.

Readline is required by Lua, but also by bash and a few
other things so it's a good thing to have.

3 years agoAdd all packages to stage3 packages list.
Richard W.M. Jones [Wed, 10 Aug 2016 21:40:03 +0000 (22:40 +0100)]
Add all packages to stage3 packages list.

3 years agoRemove *.la files after gcc build.
Richard W.M. Jones [Wed, 10 Aug 2016 21:39:40 +0000 (22:39 +0100)]
Remove *.la files after gcc build.

Fixes commit 106748c4b14415206f5d81d78d0a2529b1b2edac.

3 years agoAdd GNU gettext to stage3 chroot.
Richard W.M. Jones [Wed, 10 Aug 2016 21:31:26 +0000 (22:31 +0100)]
Add GNU gettext to stage3 chroot.

This is required to build the 'iso-codes' RPM.

3 years agoVarious hacks to get GCC to compile.
Richard W.M. Jones [Wed, 10 Aug 2016 20:51:16 +0000 (21:51 +0100)]
Various hacks to get GCC to compile.

Don't pass CC etc variables down to libgcc directory, since that
stops it from being cross-compiled.

sys/sdt.h (part of systemtap) is not available, so comment it out.

3 years agoinit: Set the hostname to 'stage3.fedoraproject.org'.
Richard W.M. Jones [Wed, 10 Aug 2016 17:36:01 +0000 (18:36 +0100)]
init: Set the hostname to 'stage3.fedoraproject.org'.

Also, add 'hostname' program to the stage3 chroot.

3 years agorpm: Map kernel 'riscv' to 'riscv64'.
Richard W.M. Jones [Wed, 10 Aug 2016 17:34:36 +0000 (18:34 +0100)]
rpm: Map kernel 'riscv' to 'riscv64'.

Try to set %{_arch} correctly in rpmbuild.

3 years agoAdd diffutils (diff), findutils (find), sed and patch to the stage3 chroot.
Richard W.M. Jones [Wed, 10 Aug 2016 17:04:56 +0000 (18:04 +0100)]
Add diffutils (diff), findutils (find), sed and patch to the stage3 chroot.

3 years agoUpgrade to file 5.28, since file 5.25 segfaults in libmagic:magic_close.
Richard W.M. Jones [Wed, 10 Aug 2016 17:01:36 +0000 (18:01 +0100)]
Upgrade to file 5.28, since file 5.25 segfaults in libmagic:magic_close.

3 years agoBuild RPM after bzip2, and fix bzip2 to use -fPIC.
Richard W.M. Jones [Wed, 10 Aug 2016 16:30:03 +0000 (17:30 +0100)]
Build RPM after bzip2, and fix bzip2 to use -fPIC.

Fix bzip2 so it builds its library with -fPIC.

RPM can use libbzip2, so build it later, after bzip2 has been built.

3 years agoinit: Set clock from filesystem.
Richard W.M. Jones [Wed, 10 Aug 2016 14:51:28 +0000 (15:51 +0100)]
init: Set clock from filesystem.

There is no hardware clock in the hypervisors we are using.  To ensure
that the time isn't wildly wrong, set the system time to the timstamp
of '/usr/bin'.

3 years agoIgnore .gdb_history file.
Richard W.M. Jones [Wed, 10 Aug 2016 14:51:24 +0000 (15:51 +0100)]
Ignore .gdb_history file.

3 years agoAdd GNU make to the stage3 chroot.
Richard W.M. Jones [Wed, 10 Aug 2016 14:27:22 +0000 (15:27 +0100)]
Add GNU make to the stage3 chroot.

3 years agoAdd bzip2 to the stage3 chroot.
Richard W.M. Jones [Wed, 10 Aug 2016 14:17:41 +0000 (15:17 +0100)]
Add bzip2 to the stage3 chroot.

3 years agoNote that strace does not work.
Richard W.M. Jones [Wed, 10 Aug 2016 14:17:18 +0000 (15:17 +0100)]
Note that strace does not work.

Updates commit 0ceb56b609b17a7e3202aaf98361be90fb40955e.

3 years agoAdd patches to make rpm work.
Richard W.M. Jones [Wed, 10 Aug 2016 11:11:14 +0000 (12:11 +0100)]
Add patches to make rpm work.

3 years agoAdd strace to the stage3 chroot.
Richard W.M. Jones [Tue, 9 Aug 2016 21:25:09 +0000 (22:25 +0100)]
Add strace to the stage3 chroot.

3 years agorpm: Remove unnecessary libtool fix.
Richard W.M. Jones [Tue, 9 Aug 2016 21:07:44 +0000 (22:07 +0100)]
rpm: Remove unnecessary libtool fix.

3 years agoAdd nano (editor), grep and less to the stage3 chroot, for usability.
Richard W.M. Jones [Tue, 9 Aug 2016 17:59:32 +0000 (18:59 +0100)]
Add nano (editor), grep and less to the stage3 chroot, for usability.

3 years agoPatch RPM with initial riscv64 support.
Richard W.M. Jones [Tue, 9 Aug 2016 17:27:01 +0000 (18:27 +0100)]
Patch RPM with initial riscv64 support.

3 years agoFix ncurses build, and build util-linux tools which need ncurses/libtinfo.
Richard W.M. Jones [Tue, 9 Aug 2016 18:40:03 +0000 (19:40 +0100)]
Fix ncurses build, and build util-linux tools which need ncurses/libtinfo.

3 years agoinit: Don't set LD_LIBRARY_PATH, run ldconfig with paths instead.
Richard W.M. Jones [Tue, 9 Aug 2016 16:28:58 +0000 (17:28 +0100)]
init: Don't set LD_LIBRARY_PATH, run ldconfig with paths instead.

3 years agoCreate mount.static and use it for mounting the filesystems.
Richard W.M. Jones [Tue, 9 Aug 2016 16:27:08 +0000 (17:27 +0100)]
Create mount.static and use it for mounting the filesystems.

This is less error-prone, particularly as for some inexplicable reason
regular mount has stopped working.

3 years agoutil-linux: Kill *.la files.
Richard W.M. Jones [Tue, 9 Aug 2016 15:38:28 +0000 (16:38 +0100)]
util-linux: Kill *.la files.

3 years agoinit: Run ldconfig
Richard W.M. Jones [Tue, 9 Aug 2016 15:38:17 +0000 (16:38 +0100)]
init: Run ldconfig

3 years agoFix util-linux install rule.
Richard W.M. Jones [Tue, 9 Aug 2016 15:30:11 +0000 (16:30 +0100)]
Fix util-linux install rule.

3 years agoAdd RPM / rpmbuild to the stage3 chroot.
Richard W.M. Jones [Tue, 9 Aug 2016 13:19:34 +0000 (14:19 +0100)]
Add RPM / rpmbuild to the stage3 chroot.

3 years agoReligiously remove *.la files from chroot.
Richard W.M. Jones [Tue, 9 Aug 2016 15:13:21 +0000 (16:13 +0100)]
Religiously remove *.la files from chroot.

See http://www.metastatic.org/text/libtool.html

3 years agoFix a few /home/... paths accidentally added to the repo.
Richard W.M. Jones [Tue, 9 Aug 2016 15:02:09 +0000 (16:02 +0100)]
Fix a few /home/... paths accidentally added to the repo.

3 years agoFix binutils rule.
Richard W.M. Jones [Tue, 9 Aug 2016 13:48:10 +0000 (14:48 +0100)]
Fix binutils rule.

Updates commit eb15d47b4d58a4f841f55a02c77216e24b550b2a.

3 years agoAdd popt to stage3 chroot.
Richard W.M. Jones [Tue, 9 Aug 2016 12:35:31 +0000 (13:35 +0100)]
Add popt to stage3 chroot.

3 years agoAdd file / libmagic to stage3 chroot.
Richard W.M. Jones [Tue, 9 Aug 2016 12:32:19 +0000 (13:32 +0100)]
Add file / libmagic to stage3 chroot.

3 years agoAdd tar, gzip, zlib to stage3 chroot.
Richard W.M. Jones [Tue, 9 Aug 2016 11:31:45 +0000 (12:31 +0100)]
Add tar, gzip, zlib to stage3 chroot.

3 years agoAdd a note about how GCC build is broken, for future investigation.
Richard W.M. Jones [Tue, 9 Aug 2016 10:49:07 +0000 (11:49 +0100)]
Add a note about how GCC build is broken, for future investigation.

3 years agoCross-compile binutils into stage3 chroot.
Richard W.M. Jones [Sat, 6 Aug 2016 19:36:44 +0000 (20:36 +0100)]
Cross-compile binutils into stage3 chroot.

3 years agoAdd /usr/lib64 to the library search path in init script.
Richard W.M. Jones [Sat, 6 Aug 2016 18:52:47 +0000 (19:52 +0100)]
Add /usr/lib64 to the library search path in init script.

3 years agoMount some standard filesystems like /proc in the stage3 init.
Richard W.M. Jones [Sat, 6 Aug 2016 14:47:23 +0000 (15:47 +0100)]
Mount some standard filesystems like /proc in the stage3 init.

3 years agoCross-compile util-linux into stage3 chroot.
Richard W.M. Jones [Sat, 6 Aug 2016 15:15:34 +0000 (16:15 +0100)]
Cross-compile util-linux into stage3 chroot.

3 years agoCross-compile ncurses into stage3 chroot.
Richard W.M. Jones [Sat, 6 Aug 2016 15:15:09 +0000 (16:15 +0100)]
Cross-compile ncurses into stage3 chroot.

3 years agoCross-compile GCC into stage3 chroot.
Richard W.M. Jones [Sat, 6 Aug 2016 11:31:25 +0000 (12:31 +0100)]
Cross-compile GCC into stage3 chroot.

3 years agoAdd rule to upload stage3 disk image to webserver.
Richard W.M. Jones [Sat, 6 Aug 2016 11:31:09 +0000 (12:31 +0100)]
Add rule to upload stage3 disk image to webserver.

3 years agoCross-compile coreutils.
Richard W.M. Jones [Sat, 6 Aug 2016 08:34:18 +0000 (09:34 +0100)]
Cross-compile coreutils.

3 years agoAdd 'boot-stage3-in-spike' and 'boot-stage3-in-qemu' targets.
Richard W.M. Jones [Sat, 6 Aug 2016 07:57:43 +0000 (08:57 +0100)]
Add 'boot-stage3-in-spike' and 'boot-stage3-in-qemu' targets.

These helpers boot the stage3 disk image in Spike or QEMU
respectively.

3 years agoAdd /init script to the stage3 disk.
Richard W.M. Jones [Sat, 6 Aug 2016 06:51:10 +0000 (07:51 +0100)]
Add /init script to the stage3 disk.

3 years agoAdd CONFIG_CMDLINE to kernel.
Richard W.M. Jones [Fri, 5 Aug 2016 19:45:14 +0000 (20:45 +0100)]
Add CONFIG_CMDLINE to kernel.

Required when using Spike.  See:
https://stackoverflow.com/questions/32846037/how-to-specify-kernel-parameters-in-spike-riscv

3 years agoBuild stage 3 chroot and disk image.
Richard W.M. Jones [Thu, 4 Aug 2016 16:20:38 +0000 (17:20 +0100)]
Build stage 3 chroot and disk image.

So far only contains glibc & bash.

3 years agoriscv-gnu-toolchain: Enable build of GCC linked against glibc.
Richard W.M. Jones [Thu, 4 Aug 2016 22:28:37 +0000 (23:28 +0100)]
riscv-gnu-toolchain: Enable build of GCC linked against glibc.

3 years agoBuild stage3 kernel from the linux-4.1.y-riscv branch of https://github.com/riscv...
Richard W.M. Jones [Thu, 4 Aug 2016 13:27:08 +0000 (14:27 +0100)]
Build stage3 kernel from the linux-4.1.y-riscv branch of  https://github.com/riscv/riscv-linux

3 years agoFix missing file for riscv-pk package.
Richard W.M. Jones [Thu, 4 Aug 2016 12:26:02 +0000 (13:26 +0100)]
Fix missing file for riscv-pk package.

3 years agoPackage the RISCV emulator (Spike).
Richard W.M. Jones [Thu, 4 Aug 2016 11:01:11 +0000 (12:01 +0100)]
Package the RISCV emulator (Spike).

3 years agoFix GNU toolchain doc files.
Richard W.M. Jones [Thu, 4 Aug 2016 11:03:49 +0000 (12:03 +0100)]
Fix GNU toolchain doc files.

3 years agoPatch GCC 5 so it can be compiled with GCC 6.
Richard W.M. Jones [Thu, 4 Aug 2016 10:17:57 +0000 (11:17 +0100)]
Patch GCC 5 so it can be compiled with GCC 6.

3 years agoAdd commits to the Makefile and generate spec files from there.
Richard W.M. Jones [Thu, 4 Aug 2016 09:45:08 +0000 (10:45 +0100)]
Add commits to the Makefile and generate spec files from there.

Also choose a working set of commits based on RISCV priv 1.7.

3 years agoUpdate current status in README.
Richard W.M. Jones [Tue, 2 Aug 2016 13:00:16 +0000 (14:00 +0100)]
Update current status in README.

3 years agoAdd stage 3 kernel cross-build.
Richard W.M. Jones [Mon, 1 Aug 2016 15:51:50 +0000 (16:51 +0100)]
Add stage 3 kernel cross-build.

3 years agoForbid stripping of libraries which breaks them.
Richard W.M. Jones [Mon, 1 Aug 2016 14:42:56 +0000 (15:42 +0100)]
Forbid stripping of libraries which breaks them.

3 years agoAdd stage 2 riscv-pk package, containing the Berkeley bootloader (bbl).
Richard W.M. Jones [Mon, 1 Aug 2016 14:09:35 +0000 (15:09 +0100)]
Add stage 2 riscv-pk package, containing the Berkeley bootloader (bbl).

3 years agoAdd stage 2 RISC-V GNU toolchain
Richard W.M. Jones [Sun, 31 Jul 2016 19:26:41 +0000 (20:26 +0100)]
Add stage 2 RISC-V GNU toolchain

3 years agoRename copr project to just 'riscv'
Richard W.M. Jones [Mon, 1 Aug 2016 13:51:05 +0000 (14:51 +0100)]
Rename copr project to just 'riscv'

3 years agoInitial commit.
Richard W.M. Jones [Fri, 29 Jul 2016 14:53:21 +0000 (15:53 +0100)]
Initial commit.