Gentoo/NetBSD Summer of Code 2009
Welcome on Gentoo/NetBSD SoC's wiki.
Developper for this project is Patrice Clement, mentored by Davide Italiano Luca Bartodo.
Steps
1. Perform a NetBSD fresh install.
2. Install Portage dependancies using pkgsrc (mostly Python, gmake, gpatch, gdiff, etc..)
3. Install Portage.
4. Emerge the toolchain into a different folder than / using ROOT option.
5. Fix/patch what brokes up.
6. Same as above but with the portage tree.
7. Fix/patch what brokes up.
8. Create ebuilds needed to build kernel and userland tools (/usr/src).
9. Create tarballs of the whole port.
Plan
April 20 - May 23: Get an i386 machine.
Perform an installation (1).
Document myself on Portage internals (ebuilds, profile, ..), BSD makefile,
how to cross-compile a toolchain, and many other information.
May 23: Google SoC 2009 starts!
Weeks 1 to 3 (May 23 - June 13): Implement (2), (3), (4).
Weeks 4 to 6 (June 14 - July 5): Implement (5), (6), (7).
July 7 - July 13: Mid-term evaluation:
At that time 1, 2, 3, 4 should be done.
I should be able to emerge partially Portage packages.
Weeks 7-9 (July 14 - August 9): Implement (8).
Weeks 10 (August 10 - August 16): Implement (9).
Weeks 11-12 (August 17 - August 23):
I will release my work to the community in order to get feedbacks about it.
I will also start to write a wiki in order to explain step-by-step
how to build, install and use Gentoo/NetBSD-x86.
August 24: Final deadline; SoC is done, as my work.
September 3: SoC uploading date.
Where are we ?
Thanks to this Subversion repository and Trac, you can check my progress, at any moment.
As soon as an ebuild works, I add it to my local repository and upload it here.
If you want to checkout the repository: svn co svn://boulz.org/gentoo-nbsd
June 02: I'm writing an ebuild to emerge gcc inside the ROOT using the NetBSD libc.
June 09: Emerging of gcc works fine (using NetBSD sources). I'm going to write ebuilds to emerge and install include files (/usr/include) + NetBSD libc.
June 12: New ebuild: netbsd-libexec. I'm thinking about creating an eclass; I want to let the user set up his own local NetBSD sources directory (instead of /usr/src).
June 14: An eclass has been written; just look at the source code to understand how does it works, everything is explained in comments.
June 18: 2 new ebuilds to come; netbsd-gnu-libs and netbsd-libs (base system GNU libs part and base system BSD libs part).
June 19: New ebuild: netbsd-libs. This ebuild installs GNU base system libraries, BSD base system libraries and the NetBSD libc. Later, I can think about using some USE flags to emerge just a specific part.
June 28: After a busy week (exams period), I'm back in business!
Today, I wrote an ebuild to compile GNU binutils from NetBSD sources: works fine. Using all my ebuilds, I'm now able to build a NetBSD environment (using emerge ROOT option), chroot inside and compile packages: indeed, gcc works! :)
July 6: These last days, I've corrected some ebuilds and added new ones. Main parts of the system can now be compiled and installed using my ebuilds.
July 11: I've created patches for these ebuilds: netbsd-bin, netbsd-ubin, netbsd-sbin, netbsd-usbin, netbsd-libs.
These patchs prevents some binaries/libraries to be built, because theses are provided by Portage. I'll later write a list of binaries/libraries I've removed and which ebuild you have to emerge in order to install it, using Portage.
July 22: New ebuild: netbsd-kernel, you can now easily emerge NetBSD kernel.
I've also made a list of ebuilds you have to emerge in order to install removed binaries/libraries in patched Makefiles. Please follow this link.
I'm currently testing which are emergeable and which are not.
August 22: Sorry for the delay, I haven't updated the wiki since a very long moment (1 month!).
Lot of things happened: I've changed my mentor from Davide Italiano to Luca Bartodo (yeah, he dropped me), I've modified my ebuilds tons of times,
created new ones and finaly, I've emerged all of these in different ROOT directory to build a Gentoo/NetBSD environment. It works! :D
I'm going to release:
- the promised tarball containing NetBSD 5.0 kernel, OpenRC 4.2 and Portage 2.6
(plus lot of ebuilds to have a base development environment).
- a QEMU VM image, where this tarball as already been extracted, which is ready to use,
for people who don't want to mess with install steps.
I've also taken some screenshots to show how does the VM boot with OpenRC, rc-update usage, and other things.
Please, use this link to have a look at them.
More news to come: we are near from GSoC's deadline !
September 11: For the moment, my work is hosted here, I'm waiting to have enough place somewhere else to host it.
Google Summer of Code is now finished. Enjoy my work and feel free to contact me for any question at: clement *dot* patrice *at* gmail *dot* com
Cheers !
Attachments
- netbsd-gentoo-ebuilds.txt (1.8 KB) - added by patrice 6 months ago.
- netbsd-ROOT.txt (2.0 KB) - added by patrice 6 months ago.
