Code Monkey home page Code Monkey logo

soobinrho / freebsd-src Goto Github PK

View Code? Open in Web Editor NEW

This project forked from freebsd/freebsd-src

0.0 0.0 0.0 2.21 GB

This is a freebsd-src fork for mfsBSD build integration. This is a GSoC 2023 (Google Summer of Code) project.

Home Page: https://wiki.freebsd.org/SummerOfCode2023Projects/IntegrateMfsBSDIntoTheReleaseBuildingTools

License: Other

Shell 2.98% JavaScript 0.01% Ruby 0.01% C++ 26.22% Scheme 0.01% Python 0.27% Perl 0.90% C 67.05% PHP 0.01% Emacs Lisp 0.01% Objective-C 0.07% Java 0.01% Lua 0.03% Haskell 0.01% Tcl 0.01% R 0.01% D 0.01% C# 0.02% Assembly 2.44% Rebol 0.01%

freebsd-src's Introduction

FreeBSD Source:

This is the top level of the FreeBSD source directory.

FreeBSD is an operating system used to power modern servers, desktops, and embedded platforms. A large community has continually developed it for more than thirty years. Its advanced networking, security, and storage features have made FreeBSD the platform of choice for many of the busiest web sites and most pervasive embedded networking and storage devices.

For copyright information, please see the file COPYRIGHT in this directory. Additional copyright information also exists for some sources in this tree - please see the specific source directories for more information.

The Makefile in this directory supports a number of targets for building components (or all) of the FreeBSD source tree. See build(7), config(8), FreeBSD handbook on building userland, and Handbook for kernels for more information, including setting make(1) variables.

For information on the CPU architectures and platforms supported by FreeBSD, see the FreeBSD website's Platforms page.

Source Roadmap:

Directory Description
bin System/user commands.
cddl Various commands and libraries under the Common Development and Distribution License.
contrib Packages contributed by 3rd parties.
crypto Cryptography stuff (see crypto/README).
etc Template files for /etc.
gnu Commands and libraries under the GNU General Public License (GPL) or Lesser General Public License (LGPL). Please see gnu/COPYING and gnu/COPYING.LIB for more information.
include System include files.
kerberos5 Kerberos5 (Heimdal) package.
lib System libraries.
libexec System daemons.
release Release building Makefile & associated tools.
rescue Build system for statically linked /rescue utilities.
sbin System commands.
secure Cryptographic libraries and commands.
share Shared resources.
stand Boot loader sources.
sys Kernel sources (see sys/README.md).
targets Support for experimental DIRDEPS_BUILD
tests Regression tests which can be run by Kyua. See tests/README for additional information.
tools Utilities for regression testing and miscellaneous tasks.
usr.bin User commands.
usr.sbin System administration commands.

For information on synchronizing your source tree with one or more of the FreeBSD Project's development branches, please see FreeBSD Handbook.

freebsd-src's People

Contributors

alcriceedu avatar amotin avatar avg-i avatar bapt avatar bdrewery avatar behlendorf avatar brooksdavis avatar bsdimp avatar bsdjhb avatar bsdphk avatar dag-erling avatar darkhelmet433 avatar delphij avatar dimitryandric avatar emaste avatar glebius avatar gwollman avatar hselasky avatar juikim avatar kevans91 avatar kostikbel avatar markjdb avatar mjguzik avatar ngie-eign avatar rwatson avatar sleffler avatar sparcplug avatar trasz avatar tuexen avatar zxombie avatar

freebsd-src's Issues

Project initial todo list

July 5, 2023

  • For integrating mfsBSD into the release building tools, using git clone as the main approach is not viable.
    People might not be able to use git, and internet access may not be available.
    Instead, pull mfsBSD as a snapshot into usr/src/contrib or usr/src/release/scripts and then create a Makefile under usr/src/release to build an mfsBSD image.

  • There are a lot of architectures in the release engineering.
    So, mfsBSD building will have to be tested against all of these architectures.

  • Once we're done with the coding, we'll have a meeting with re@ team (release engineering team) to get feedback.

  • git pull -- rebase and git push -f

June 12, 2023

  • Definitely try running make release to build all the images available to get a sense of how it works.

  • When they make release, they put it on the release website.
    In this project, my aim should be to push mfsBSD as one of the images listed there.
    Also, in the main Makefile, as a comment, there's a mention of "user-driven targets such as memstick, dvd, etc.
    After the code is complete, send the commit link to my mentors so that they can review it, before I make an actual pull request to the src repository.

  • Fill in the milestones in the wiki page.

June 27, 2023

  • Status report PR done.
    Based on the status report template file.
    Created a fork of the src repository and of course created a feature branch with the name of mfsBSD building integration.
    Also added this link to our main wiki GSoC project page.

  • Migrate and connect, introduce target mfsBSD, and make a bootable mfsBSD image.

  • If you see usr/src/release Makefiles, there are files like Makefile.azure.
    Theses are because they are too different if they were to be at the top level Makefile.
    So, my mentors' recommendation is to create Makefile.mfsbsd.

  • See how the top level Makefile interacts with specific smaller Makefiles.
    Get a grasp of how FreeBSD Makefiles do.
    Try making ec2 images with Makefile.ec2.

  • Developments are carried out in current branch's main.
    Then, they are migrated to stable and release.

  • Create my own feature branch.

  • Read man make(1) from FreeBSD

  • Rebase regularly on the main branch.

  • Night before my weekly meeting on Monday's, email my mentors to let them know what's going on, and let them know if I want the meeting or not.

If your work is included in any of the FreeBSD repositories or upstreamed to other projects,
please consider giving recognition to the GSoC program by adding the line below to your commit logs.
Sponsored by: Google, Inc. (GSoC 2023)

Question about progress

Hi.
First, nice job on getting this integrated :)
How's the review/merge process goind - I've noticed it was done some time ago, but it's still under review?

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.