I have a project using Vivado 2017.3 or 2017.4 that targets a custom board part.
I would like to target a new board_part but it does not appear in the board part options for the current project.
I have included a "set_param board.repoPaths" statement in my .Xilinx/Vivado/Vivado_init.tcl script and can see in the message window that this file is read.
I have created the board.xml, part0_pins.xml and preset.xml files in the folder specified by the above set_param statement.
I do see the board part if I create a new project or if I try to change the target device of one of the Vivado example projects.
The property BOARD_PART_REPO_PATHS saves the repository paths to project file.
There is a problem with the flow that will not allow a new board repository to be added for a project that already has this property set (The property in the project file overwrites the property added in the vivado_init.tcl file).
There are two ways to work around this issue.
Run the following script (adjusted to the board you will be adding).
This will allow you the get the custom board parts when you open the project.
Open the .xpr file in a text editor and edit the current location of the board repository. Then reopen the project.
This issue will be fixed in the Vivado 2018.1 release.