Bi-connectivity is a basic requirement for designing fault tolerant topologies in wireless networks. In cognitive radio networks (CRNs), available channels of cognitive users dynamically change since a channel becomes unavailable whenever the channel is reclaimed by primary users. Therefore, fault tolerance of CRNs highly depends on the status of channel availability. However, traditional definition of bi-connectivity concerns only node/link failure and thus is not suitable to CRNs. In this study, we introduce a new definition of generalized-bi-connectivity (g-bi-connectivity) where a CRN is said to be g-bi-connected if the remaining network is still connected when any one of the two events occurs: i) any node fails; ii) any channel becomes unavailable. Based on this definition, our problem is to build a g-bi-connected network by assigning power and channels to the cognitive users. Our objective is to minimize the maximum transmission power of users and the number of channels required. We propose a two-stage approach which consists of the power assignment stage and the channel assignment stage. In the power assignment, we integrate a novel degree-control process which prepares a good topology for minimizing the number of channels in the next stage. We prove that the maximum transmission power of cognitive users is optimized and derive an upper- bound on the number of channels required. We present distributed topology recovery algorithms which give guaranteed g-bi-connectivity in case of node-join and node-leave. Extensive simulations are conducted to evaluate performance of our solution.