This shows you the differences between two versions of the page.
Both sides previous revision Previous revision | |||
developersguide:portingnetbsdstepbystep [2015/03/10 01:48] stux [Step 10: Crossbuild and test minix.git for x86] fix typo |
developersguide:portingnetbsdstepbystep [2016/02/12 16:06] stux Update instructions to reflect current setup; and minor fixes |
||
---|---|---|---|
Line 56: | Line 56: | ||
Next we will actually copy the NetBSD command into the proper subdirectory of the locally cloned minix repo. | Next we will actually copy the NetBSD command into the proper subdirectory of the locally cloned minix repo. | ||
- | There are several possibilities here; the command will probably be in either the ''netbsd/bin'', ''netbsd/usr.bin'', ''netbsd/usr.sbin'' subdirectories. | + | There are several possibilities here; the command will probably be in either the ''netbsd/bin'', ''netbsd/usr.bin'', ''netbsd/usr.sbin'' subdirectories. In some cases the tool may be found in one of the ''extern/*'' subdirectories. |
When you find out which directory your command is located, you must then copy it into the corresponding ''minix/bin'', | When you find out which directory your command is located, you must then copy it into the corresponding ''minix/bin'', | ||
- | ''minix/usr.bin'', ''minix/usr.sbin'' directory. | + | ''minix/usr.bin'', ''minix/usr.sbin'', ''extern/*'' directory. |
===== Step 5: Modify the minix ./bin, ./usr.bin, or ./usr.sbin Makefile ===== | ===== Step 5: Modify the minix ./bin, ./usr.bin, or ./usr.sbin Makefile ===== | ||
Line 76: | Line 76: | ||
Find if the command has a ''man'' page listed within one of the ''minix/minix/man/'' subdirectories, and then remove the ''.1'' ''man'' page. Also, you will need to remove the corresponding ''man'' page entry from the Makefile in the same directory of the old ''man'' page. | Find if the command has a ''man'' page listed within one of the ''minix/minix/man/'' subdirectories, and then remove the ''.1'' ''man'' page. Also, you will need to remove the corresponding ''man'' page entry from the Makefile in the same directory of the old ''man'' page. | ||
- | ===== Step 8: Edit ./distrib/sets/lists/minix/mi ===== | + | ===== Step 8: Edit ./distrib/sets/lists/minix-*/mi ===== |
Add entries for the proper locations of the imported NetBSD | Add entries for the proper locations of the imported NetBSD | ||
Line 82: | Line 82: | ||
command unless the new command's location is the same as the previous command's | command unless the new command's location is the same as the previous command's | ||
location, and if both the old and new command share the same name. | location, and if both the old and new command share the same name. | ||
+ | |||
+ | Note that since the Minix 3.3.0, the single mi file has been split among multiple ''minix-*/mi'' files. You will have to find the right subfolder to edit the mi file for your file(s) that changed. | ||
===== Step 9: git grep for old invocations of the previous command. ===== | ===== Step 9: git grep for old invocations of the previous command. ===== | ||
Line 102: | Line 104: | ||
dependencies installed: **gcc, g++, gnumake, binutils, zlibc, zlib1g, | dependencies installed: **gcc, g++, gnumake, binutils, zlibc, zlib1g, | ||
zlib1g-dev, and curl**. If you have any problems ask the ''minix3@googlegroups.com'' | zlib1g-dev, and curl**. If you have any problems ask the ''minix3@googlegroups.com'' | ||
- | mailing list. (Note: The following example assumes you are runing Debian or a Debian | + | mailing list. (Note: The following example assumes you are running Debian or a Debian |
variant of Linux.) | variant of Linux.) | ||
Line 114: | Line 116: | ||
<code> | <code> | ||
- | ./releasetools/x86_hdimage.sh -i | + | ./releasetools/x86_cdimage.sh |
</code> | </code> | ||
Line 123: | Line 125: | ||
researched question to the **minix3 google groups mailing list** with a log | researched question to the **minix3 google groups mailing list** with a log | ||
of the end of your | of the end of your | ||
- | build can be helpful. The newly built iso will be located in the minix | + | build can be helpful. The newly built ISO will be located in the ''./minix'' |
directory. | directory. | ||
Line 129: | Line 131: | ||
Now we want to test the x86 minix3 image within a virtual machine. | Now we want to test the x86 minix3 image within a virtual machine. | ||
- | Boot your newly built iso image into a virtul machine, such as VirtualBox, | + | Boot your newly built ISO image into a virtual machine, such as VirtualBox, |
and then test the install. If it installs, then you may reboot the virtual | and then test the install. If it installs, then you may reboot the virtual | ||
- | machine, and try booting into it without the iso image. | + | machine, and try booting into it without the ISO image. |
Now you want to invoke the command with | Now you want to invoke the command with | ||
as many of the command's flags as possible. view the ''man'' page for the newly | as many of the command's flags as possible. view the ''man'' page for the newly | ||
Line 156: | Line 158: | ||
Once you look over and review the patches, and create a cover letter, use ''git send-email'' to send your patch | Once you look over and review the patches, and create a cover letter, use ''git send-email'' to send your patch | ||
to the ''minix-dev@googlegroups.com'' mailing list. ''git help send-email'' for more details. (Also, | to the ''minix-dev@googlegroups.com'' mailing list. ''git help send-email'' for more details. (Also, | ||
- | another great resource for help with git is the community [[http://git-scm.com/book|Pro Git]] book availible from the git homepage.) | + | another great resource for help with git is the community [[http://git-scm.com/book|Pro Git]] book available from the git homepage.) |