Eaton will receive $7 million in 2021, while the White Sox hold an $8.5 million option for 2022 with a $1 million buyout.
Eaton is expected to be the every-day right fielder for the White Sox.
Eaton, 32, got a $1.5 million buyout after the Washington Nationals declined the option on his $10.5 million deal for 2021 after the season.
He struggled at the plate this season, hitting just .226 with four home runs and 17 RBIs.
Eaton batted .320 in the 2019 World Series for the Nats, hitting two homers with six RBIs in helping Washington win its first title.
Overall, in four seasons for Washington, Eaton hit .279 with 26 homers and 112 RBIs after being acquired in a 2016 trade that sent now-White Sox ace Lucas Giolito to Chicago. The White Sox also acquired right-handers Reynaldo Lopez and Dane Dunning in the deal.
Eaton spent three seasons with the White Sox before being traded to the Nationals and had slash lines of .290/.362/.422 with 29 home runs, 150 RBIs and 47 stolen bases in 433 games.
"Knowing Adam well from his previous three seasons with us -- including his work ethic and aggressive style, his offensive and defensive profiles, plus his recent championship experience -- we believe he is a good fit on this White Sox roster," said White Sox senior vice president/general manager Rick Hahn in a statement. "The baseball world often comes full circle, and we are excited to welcome Adam back to play alongside some teammates we acquired thanks in large part to his previous contributions to our club."
The Associated Press contributed to this report.