唐初马邑(今山西朔县东北)人。本为当地土豪。隋末从刘武周为将。武周死,他统其旧兵,受突厥委任为大行台,攻唐代州。所部厌乱,多叛去,他穷蹙欲降,因颉利可汗之招,北投突厥。后见颉利政乱,乃于贞观元年(627)率部降唐。授安州都督,封芮国公。