Skip to content

rishinaidu/riscv-linux

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

48 Commits
 
 
 
 
 
 
 
 

Repository files navigation

This is a port of Linux kernel for the RISC-V architecture.
Development is currently based on the 3.4 long-term support branch.

Building this kernel
====================
Obtain RISC-V architecture-dependent subtree and overlay sources from upstream:

	$ git clone https://github.com/ucb-bar/riscv-linux.git linux-3.4.53
	$ curl ftp://ftp.kernel.org/pub/linux/kernel/v3.x/linux-3.4.53.tar.xz | tar -xJk

Apply patch to scripts/mod/modpost.c to avoid segfaulting on little-endian 64-bit kernel builds [1]:

	$ cd linux-3.4.53
	$ patch -p1 < modpost.patch

Generate default kernel configuration:

	$ gmake ARCH=riscv defconfig

Edit configuration via an ncurses interface:

	$ gmake ARCH=riscv menuconfig

Build static kernel image:

	$ gmake ARCH=riscv -j vmlinux

Run the kernel image:

	$ spike +disk=/path/to/root.img vmlinux


Building riscv-gcc and glibc against this kernel
================================================
Linux headers are already available in the riscv-gcc repository.

If headers are changed, export them to the riscv-gcc installation directory:

	$ gmake ARCH=riscv headers_check
	$ gmake ARCH=riscv headers_install INSTALL_HDR_PATH=/path/to/riscv-gcc/linux-headers

Build riscv-gcc with the linux target:

	$ gmake linux INSTALL_DIR=/path/to/install


---
[1] http://www.linux-mips.org/archives/linux-mips/2006-04/msg00130.html

About

RISC-V Linux Port

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published