User Tools

Site Tools


developersguide:portingnetbsdstepbystep

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
developersguide:portingnetbsdstepbystep [2015/03/09 20:48]
stux [Step 10: Crossbuild and test minix.git for x86] fix typo
developersguide:portingnetbsdstepbystep [2016/02/12 10: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.)
  
  
developersguide/portingnetbsdstepbystep.txt · Last modified: 2016/02/12 10:06 by stux