Two firefighters who responded to a shooting at a South Carolina primary school have spoken about the actions they performed which led to them being hailed as heroes.

Townville Fire Chief Billy McAdams went inside to help treat the wounded following the incident at Townville Elementary School while firefighter Jamie Brock searched for the shooter.

"This was more than just another call to us. This incident occurred in the school where our children and the children of the community attend," Mr McAdams told a news conference on Thursday, pausing to collect himself as he recalled the harrowing events of the day before.

Authorities say the teen shot his father at their home before driving a pick-up a couple of miles to the school and shooting at a door as it was opened for recess.

Bullets struck two students and a teacher and the school was immediately placed on lockdown.

One of the wounded, six-year-old Jacob Hall, remained in a critical condition on Thursday and was said to be fighting for his life.

A teacher who was shot in the shoulder and another student who was hit in the foot were treated and released from hospital.

The shooter never made it inside the building, and no one else was hurt, Anderson County District 4 Superintendent Joanne Avery said.

Authorities said they do not yet know a motive for the shooting and they were not sure if the students and teacher were targeted or shot randomly.

The sheriff said the teenager had been home-schooled.

The fire chief said he and Mr Brock were working on his farm when they got the call about an active shooter at Townville Elementary. They rushed to the school and found the empty pick-up.

Teachers told them there were wounded inside, and Mr Brock suggested to the fire chief that he go inside to help because he was a paramedic.

Alongside a school nurse, the chief attended to Jacob, who was the most seriously injured.

In the meantime, law enforcement swarmed the school and Mr Brock looked for the shooter, finding him near the back of the school building.

"Feeling it was imperative to the safety of the students, the teachers and all the responders that were on site, he immediately confronted and subdued that shooter," the chief said.

"He was able to keep him on the ground until law enforcement could place him into custody."

Authorities have not released the teenager's name or specific age.

Anderson County Coroner Greg Shore said the teenager, crying and upset, called his grandmother's mobile phone at 1.44pm on Wednesday.

The grandparents could not understand what was going on, so they went to his home just 100 yards away.

When they got there, they found 47-year-old Jeffrey Osborne dead and their grandson gone.

About one minute later, authorities received a 911 call from a teacher at the school of about 300 pre-kindergarten to sixth-graders.

The teenager's mother, Tiffney Osborne, said in a statement that the family "cannot express the devastation we feel at the loss of our beloved Jeff".

She was at work at the time of the shooting, Anderson County Sheriff John Skipper said.

Both Mr and Mrs Osborne's first marriages ended in divorce before they got married. They each had children, who are now adults, with their exes.

Authorities said audio from the 911 calls will not be released while the investigation is ongoing.

In a statement read by the fire chief, Mr Brock said he does not want attention for his actions.

"The true heroes of yesterday's senseless tragedy are the teachers who put their lives on the line to protect the students, and the principal, through fears of her own, did what was right to ensure the safety of those students," he said.