@xinya12 Unfortunately it’s not possible to deploy the library using Truffle and then link that into an upgradeable contract deployed using OpenZeppelin SDK.
If you deploy the proxy using OpenZeppelin CLI it will take care of deploying and linking the library for you, and I’m not entirely sure right now but it may store the deployed library’s address in the artifact, so that you’ll be able to reuse it from a Truffle migration afterwards.
We’re currently working on a redesign of the JavaScript library that will make it possible (and very easy!!) to do exactly what you’re asking about. Unfortunately it’s not released yet and I can’t confirm when we’ll be able to release it, but I’ll let you know as soon as possible.