In a large stockpot, add the whole chicken, onion, celery, carrots, garlic, peppercorns and salt. Cover with cold water until submerged (at least 3 inches of water above chicken).
Over high heat, bring the water to a boil and then immediately lower the heat, bringing the liquid to a simmer. Simmer for 2 hours. If necessary, add more water to the pot to keep the chicken submerged and skim any foam from the surface.
Carefully remove the chicken from the pot. Set aside. Strain the liquid through a fine mesh sieve. Return liquid to stockpot.
When the chicken is cool enough to handle, remove the meat from the carcass and set aside. Transfer the carcass and bones back to the stockpot and simmer for 2 more hours.
Remove the carcass and bones and pour through a sieve to use in chicken soup or let the stock cool completely before storing.