Add something like the following code at the end of your init file:
(setq inhibit-splash-screen t)
(org-agenda nil "t")
I had to inhibit the splash screen, otherwise it hid the global TODO list.
I adapted the function from this answer to a similar question, which works fantastically and even respects selections :)
(defun org-todo-region ()
(let ((scope (if mark-active 'region 'tree))
(org-map-entries (lambda () (org-todo state)) nil scope)))