NOTE : This page may not be in latest state and will be essentially a mirror from my personal site: https://books.minetest.in/freebsd/gsoc
FreeBSD supports multiple architectures, file systems, and disk-partitioning schemes. Currently, there is a script named full-test.sh located in src/tools/boot/ that creates several of these environments but does not test all of them. The proposed idea is to rewrite the script in a language such as Python or Lua, which would allow for testing of all the architecture combinations supported in the first and second-tier support, and provide a report on any broken combinations and expected functionality. Additionally, providing Linux Boot support using Linux EFI shim(EDK) II for amd64 and arm64. If time permits, further exploration could be done to integrate the script into the existing build infrastructure (either Jenkins or Github Actions) to generate a comprehensive summary of the test results.
(Details as to how you intend to approach the problem, if applicable. May include ideas as to how to break the problem down into smaller parts, or notes on research you need to do before settling on your final approach to solving the problem)
(5-10 milestones, with dates, indicating when you hope or expect to be able to complete features. This section is mandatory. Please negotiate these with your mentor to make sure you're not under- or over-estimating the amount of work to be done. Please also make sure the following four dates are included within your milestones)
* Week 1 (29 May)
* Week 2 (4 Jun)
combination.lua, a script that computes and parses regex strings in the specified format: <arch>-<file-system>-<boot-partition>-<encryption>optparse for the main.lua file, enabling efficient command-line option parsing and handling.parser.lua to significantly improve accuracy of parsing of input.conf, ensuring correct and reliable data extraction.* Week 3 (12 Jun)
ntfy on Warner’s Server to enable seamless notifications for build events.freebsd-src on the server, ensuring a smooth and error-free process.* Week 4 (19 Jun)
build.lua script, incorporating extensive design and significant rewrites of the previous code.* Week 5 (26 Jun)
* Week 6 (3 July)
test.lua script, ensuring its successful design and completion.* Week 7 (10 July) - MidTerm Evaluations [Week Off Work]
* Week 8 (17 July)
* Week 9 (24 July)
freebsd-util script while generalising the functionality of build script.* Week 10 (31 July)
* Week 11 (7 Aug)
* Week 12 (14 Aug)
* Week 13 (21 Aug) - Final Evaluations
Extension for 4 weeks
* Week 14 (28 Aug)
* Week 15 (4 Sept)
* Week 16 (11 Sept)
* Week 17 (18 Sept) [Kinda Busy week at work \0-0/]
* Week 18 (25 Sept)
* Final Tasks
(A place to make notes that will be useful to others looking at your code. You probably don't need to put anything here on day one)
* site: https://books.minetest.in/freebsd/gsoc
* freebsd on m1 mac: https://books.minetest.in/freebsd/freebsd_m1/