The standoff began Tuesday when a man got on a school bus and demanded the driver, Charles Poland Jr., hand over a child, police said.
When Poland protected the children, the gunman killed him and then fled with one boy to his hiding place.
An FBI hostage negotiator is communicating with the gunman through a plastic ventilation pipe, CNN reported.
Authorities have not released the name of the gunman but neighbors have identified him as Jimmy Lee Dykes, 65.
Dykes was a Vietnam veteran and retired truck driver, CNN said.
A neighbor said she saw Dykes and Poland speaking the day before, when Poland turned the bus around in Dykes' driveway.
Neighbors have described Dykes as abusive and antisocial, and one resident said he was known as "The Shovel Man" for chasing people off his property with a shovel.
A neighbor told the Montgomery Advertiser that Dykes has stayed in his bunker for eight days at a time.