GithubHelp home page GithubHelp logo

kernel-scripts's Introduction

Kernel Development Scripts

These are my kernel development scripts. Some are specific to my setup, others are more generic. I'm working on making them more generic over time.

Generally I assume the distro I'm using (Arch Linux.) Additionally you will need to install appropriate packages, again at some point I will try to document the required packages.

The scripts have been expanded to include some rudimentary support for the aarch64 architecture. To use this functionality, run kerndev-create aarch64 (or kerndev-create-aarch64) and kerndev-run aarch64.

Acknowledgements

The qemu networking code is based on Jakub Klinkovský's scripts, qemu-launcher.sh is a good starting point for this. His code in turn uses xyne's work.

The following scripts use this 3rd-party code:-

  • kerndev-qemu-tap-helper.sh
  • kerndev-nat-launch.sh
  • kerndev-nat-launch-subnet.sh

Scripts

NOTE: These scripts are interdependent and assume that the they are all on the $PATH.

NOTE: By convention, files that end in .sh are not designed to be user-runnable, but are instead ran from other scripts.

Maintaining

  • kerndev-update - Updates a list of linux trees in specific directories and on specific branches. This is configured to my personal setup, so you will need to edit this script to fit your set up. The list of directories and branches are clearly separated from the actual code that updates so this is a quick task.

Generating

  • kerndev-create - Creates a qemu kernel development environment. The image is an Arch Linux system.
  • kerndev-build - Configures and builds the kernel, optionally placing header and module files into the dev env image. It accepts a single optional argument which, if provided, specifies a cross-compile target architecture.
  • kerndev-config - Sets kernel configuration options for the development environment.
  • kerndev-rebuild - Same as kerndev-build but runs make mrproper first.
  • kerndev-install - Installs header and module files into the dev env image. This is invoked by kerndev-build unless explicitly disabled.
  • kerndev-module-headers - Generates a stripped version of the kernel source for building external modules.

Running

  • kerndev-run - Runs the kernel development environment with virtio networking.
  • kerndev-debug - Connects gdb to a running dev env. Debugging config options are enabled by kerndev-build.

Code

  • kerndev-check - Runs checkpatch.pl against the specified files, ignoring line length.
  • kerndev-check-all - Runs checkpatch.pl against the specified files.

Dependancies

  • debootstrap
  • dracut
  • dracut-network
  • qemu-system-x86
  • qemu-user-static
  • bridge-utils
  • idemptables
  • sh must be a symlink to bash.

kernel-scripts's People

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.