Open data/world/maps/campaign/imperial_campaign/descr_strat.txt
It's divided into sections, one of which is about factions, their settlements and armies. That section is divided into smaller parts, one for each factions. A general's entry looks like that:
Code:
character Deorwine, named character, age 44, , x 73, y 85
traits NewComeToManhood 3, christian 1, CharacterAges 1, HouseOfElfhelm 1
ancillaries office_marshal_of_the_east-mark, office_lord_of_eastfold
army
unit rohan bodyguard exp 4 armour 1 weapon_lvl 2
Code:
character char_name, named character, age char_age, , x x_coord, y y_coord
traits trait_name level_number, trait_name level_number, ...
ancillaries anc_name, anc_name,...
unit bodyguard_unit_edu_entry exp exp_lvl armour arm_upg weapon_lvl wpn_upg
char_name: The general's name (you can add a surname if you want). Must be a valid entry from his faction's name-list from descr_names.txt
char_age: The general's age, anything from 16 to 124.
x_coord: His horizontal position on the map, counting from the left side.
y_coord: His vertical position on the map, counting from the bottom side.
trait_name: The name of a trait, must be a valid entry from export_descr_character_traits.txt
level_number: The number of the level that he has the trait developed at, obviously between 1 and the max level of the trait.
anc_name: The name of an ancillary, must be a valid entry from export_descr_ancillaries.txt
bodyguard_unit_edu_entry: The type (id) of his bodyguard unit, must be a valid entry from export_descr_units.txt
exp_lvl: His BG unit's starting experience level. 1-9.
arm_upg: His BG unit's starting armour upgrade level. 1-3.
wpn_upg: His BG unit's starting weapon upgrade level. 1-3.
So, you just have to add one "entry", like this one, into the "Army" section of the faction you want on descr_strat, replacing the red parts with choices of your own.
Moving this to the Workshop.