延续了十几年的八王之乱,严重破坏了社会生产,大大加深了各族人民的痛苦。由于生产破坏和天灾而引起的饥荒,数百万计的农民漂流异乡,到处寻找食物,这些人被称作“流民”。一些少数民族也参加到了流民群中,还有一些民族则纷纷举行暴动,反对西晋统治。由于当时西晋的军队大多用于平定八王之乱,因此,西晋统治者无法制止各族人民的流亡。这样,流亡的农民越来越多,扩及的范围也越来越广泛,形成了一股声势浩大的反晋力量。
西晋·镇南将军金印公元298年,关中一带闹饥荒,略阳、天水等6郡的大批汉、氐和羌族人民逃荒到蜀地,给富户人家打长工过活。但是,当地的政府却下令把这批流民赶回关中,并在要道上设立关卡,企图抢夺流民财物。当时没到秋收时节,庄稼还没有收割,大伙怕路上没有吃的,不愿这时上路。氐族人李特代表流民一再请求政府放宽遣返回乡的期限,等庄稼收割了再走。当地政府表面上答应了李特的请求,暗地里却调兵遣将,准备对流民进行武装镇压。李特察觉到了官府的阴谋,在官府出兵前来袭击的时候,出其不意地进行反击,将官兵击败。
流民们见李特有勇有谋,纷纷投奔他。他们拥护李特为流民的领袖,开始进行反对西晋的起义。公元301年,李特领导流民在绵竹建立流民政权,举行起义。李特自称镇北大将军,封他的兄弟李流为镇东将军,儿子李雄为前将军。
李特领导起义军奋勇作战,攻占广汉,进攻成都。李特学着汉高祖的样子,与蜀地百姓约法三章,打开官府粮仓,救济当地贫苦百姓。他还整顿军法,严肃军纪,得到了百姓们的拥护。西晋政府表面上派使者向李特求和,暗地里勾结当地豪强势力,围攻李特。李特奋勇抵抗未成,战败牺牲。
后来,李特的儿子李雄继续领导流民起义。公元304年,李雄攻入成都,自立为成都王。两年后,李雄称帝,建立成国。