there's some good resources here for info on packages:
http://www.dotnetnuke.com/Community/Blogs/tabid/825/EntryId/1140/Packaging-and-protecting-your-DotNetNuke%C2%AE-Module.aspx
by Michael Washington (mentioned above)
http://www.dotnetnuke.com/Development/Forge/ModuleReports/tabid/970/EntryId/453/DotNetNuke-4-3-Starter-Kit-and-Item-Templates.aspx
by Shaun Walker
Simple basics...
When you start with the DNN module template in Visual Studio there's a standard .dnn file there. this file must be modified to include all files needed to run the module (resx, images, dlls, ascx, .sqldataprovider) without any of the sourcecode files (.cs, .vb).
zip all of the files mentioned in the .dnn file up with the dnn file (all files in root of the zip) and submit it to the upload new module page (logged in as Host).
the zip is automatically extracted, the .dnn file is read and all files are placed in the appropriate places.
resources for creating packages:
http://www.codeproject.com/KB/dotnet/DnnModulePackager.aspx
http://www.mitchelsellers.com/blogs/articletype/articleview/articleid/200.aspx
by looking at these you can also further your understanding of package creation.
i'm using 4.9 currently so someone may want to correct me on changes that i'm unaware of.