ImageMagick has a recipe for this in their documentation, see FavIcon Web Page Link Thumbnail
Essentially you run the following:
convert image.png -bordercolor white -border 0 \
\( -clone 0 -resize 16x16 \) \
\( -clone 0 -resize 32x32 \) \
\( -clone 0 -resize 48x48 \) \
\( -clone 0 -resize 64x64 \) \
-delete 0 -alpha off -colors 256 favicon.ico
You can modify this to include larger resolutions as necessary and to change things like border, transparency settings etc.