The gunfire at Santa Fe High School, not far from Houston in southeastern Texas, started Friday morning. The alleged shooter used a shotgun and a .38 revolver legally owned by his father, Gov. Greg Abbott told reporters.
Gunfire erupted at the school not long after classes began around 7:30 a.m. local time, officials said.
Two school resource officers were on the campus and confronted the shooter, Abbott said.
Authorities later found explosive devices — including pipe bombs and pressure cookers — in and near the school, a law enforcement official said.
Henry told reporters that the suspect had devices but none were functional. One was a pressure cooker with an alarm clock and nails, but no explosive material. Authorities also found an unlit Molotov cocktail, he said.
Investigators on Friday searched a trailer where they believe the devices were assembled, a law enforcement source said.
Investigators believe Pagourtzis acted alone, a law enforcement official told CNN on Saturday.
Earlier, Abbott and other officials indicated that two other people were being interviewed to see whether they were involved. But authorities now believe those two were not connected to the crime, the official said.
Exchange student among those killed
The victims killed included a Pakistani exchange student, Sabika Sheikh, and a substitute teacher, Cynthia Tisdale.
The people hospitalized included retired Houston police Officer John Barnes, who served as a resource officer at the school.
Houston Police Chief Art Acevedo tweeted Friday afternoon that he had visited Barnes in the hospital, and the retired officer was "hanging in there."
What we know about the shooting
This is the 22nd US school shooting so far this year, and the third instance in eight days in which a gunman was on a school campus.
Gunshots in an art room, and a fire alarm
A student, Daymon Rabon, said he was in class when he heard a loud bang next door.
"We thought maybe someone was banging on the shop door or maybe something fell," the senior said. Rabon said he followed his teacher, who went to investigate.
They heard three more bangs and saw the shooter come out of an art room.
"At this point we knew this was … really happening to us," Rabon said.
They went back into their classroom and told others to help barricade the door.
A substitute teacher, David Briscoe, said he was teaching an English class when he heard screaming and gunshots, then a fire alarm.
Not knowing where the shooter was, he barricaded his classroom door with tables and desks, turned off the lights and told his students to get down. He told CNN he could hear someone outside the room groaning, apparently injured.
"It felt like hours before we got out of the school, but one of my students said it was 30 to 45 minutes," Briscoe said. "I had around 10 to 15 students and I'm grateful they were safe."
Angelica Martinez, 14, told CNN that an alarm sounded, as well as gunfire. She and her schoolmates at one point were evacuated "like it's a fire drill."
"We were all standing (outside), but not even five minutes later, we started hearing gunshots," she said. "And then everybody starts running, but, like, the teachers are telling us to stay put, but we're all just running away."
"I didn't see anybody shooting, but, like, (the gunshots) were kind of spaced," Angelica said, adding she heard about four shots.
Another student, Dakota Shrader, told CNN affiliate KPRC that she heard gunshots after the alarm blared.
"I was in the history hallway, and as soon as we heard the alarms, everybody just started leaving, following the same procedure as … (a) practice fire drill," Shrader said, breaking into tears. "And next thing you know, we just hear … three gunshots, loud explosions, and all the teachers are telling us to run."
Police chief 'hit rock bottom'
Acevedo said he was "not ashamed
to admit I've shed tears of sadness, pain and anger" after the shooting.
"I know some have strong feelings about gun rights, but I want you to know I've hit rock bottom," he said in a Facebook post, adding he would "de-friend" anyone who posted anything about "guns aren't the problem."
President Donald Trump addressed the school shooting, saying that mass shootings have been "going on too long."
"Unfortunately, I have to begin by expressing our sadness and heartbreak over the deadly shooting at Santa Fe High School in Texas," Trump said. "This has been going on too long in our country. Too many years. Too many decades now."
Trump said federal authorities are coordinating with local officials.
"We grieve for the terrible loss of life and send our support to everyone affected by this absolutely horrific attack," Trump said.
CNN's Jason Hanna, Dakin Andone, Jamiel Lynch, Jessica Schneider, David Shortell, Hollie Silverman, Chuck Johnston, Evan Simko Bednarski, AnneClaire Stapleton, Jason Morris, Evan Perez, Shimon Prokupecz, Jeremy Diamond, Jose Pagliery, Majlie de Puy Kamp, Curt Devine, Sergio Hernandez, Scott Bronstein, Blake Ellis, Nick Valencia, Melanie Hicken and Ray Sanchez contributed to this report.