I'd say probably neither is correct. Which is to say, a (school) book from which you learn history is simply called a "history book."
of = possessive. For example, the Old Testament "Book of Life," in which allegedly all those who will live for ever are recorded by God. Or the wiccan "Book of Shadows," etc.
on = pertaining to. Like "A book on life." Which means, "Life" is the subject of the book.
about = like "on," but the latter is a bit more academic. Like a 50 BCE book, by Lucretius, called: "On the Nature of Things." So you might write a book called "On Life," if it's going to be a more academic/philosophical work. Or "About life," if it's going to be more casual. Hence, a "Book about life" is similarly less formal (it would probably just be about day-to-day life). Whereas a "Book on life" would be more like a philosophical dissertation.
Same goes for a "book on/about history." Although -- not to confuse you -- a book on/about history makes little sense. After all, when you start talking about history throughout the ages and such, it will, by its very nature, just be another history book!