On this website (in Chinese):
Source: 鲁迅为什么叫“鲁迅”？这个笔名有何寓意？ on Baidu Zhidao.
First Explanation: is the author's mother's family name and old home; 迅 is the author's "little name". Sorry, but the original text uses 小名. This is not translatable into English. This name is given to little children, and it may stick as a term used by family and close friends. Sometimes, this "little name" is replaced by the "big name" （大名）or personal name (姓名); sometimes, this "little name" remains as that individual's name for eternity instead of calling that individual by his/her actual personal name 姓名. 大名 and 姓名 are the same thing. It is easy to explain in Chinese: "大名就是大人名字，小名就是小孩名字。" In English, that would be: "Big name" is the name of big people (adults), "little name" is the name of little children.
Second Explanation: 鲁迅 is a joke made by the author: "取愚鲁而迅行的意思". Translation: "pick something that means unclever and fast-moving." This "unclever" word means unclever, dim-witted, or slow mind. The "fast-moving" word means fast-moving. The contradictory meanings between 鲁 and 迅 make up the joke.
Third Explanation: In ancient times, 迅 means 狼 (translation: "wolf"). Wolves are brave and strong. By taking that character as one's given name, it means that he is the son of a wolf, characterizing himself.