There is indeed a trick to solve the linear equation system in linear time: Note that each row has two non-zero coefficients and we know that the rank is 1. Hence, we pick at first one coefficient which is our lambda, and determine the remaining ones as multiples of that one. We start with the other nonzero value of the same row, and continue with the others. It is in fact Gaussian elimination but applied in that special order.
For the schedule, you may simply apply ASAP scheduling, i.e., fire each node at the first time when it is ready until all firings required by the rate vector are consumed.