{"id":169,"date":"2009-07-10T17:31:29","date_gmt":"2009-07-10T16:31:29","guid":{"rendered":"http:\/\/mccltd.net\/blog\/?p=169"},"modified":"2010-02-08T19:39:44","modified_gmt":"2010-02-08T19:39:44","slug":"cisco-boot-sequence","status":"publish","type":"post","link":"http:\/\/darenmatthews.com\/blog\/?p=169","title":{"rendered":"Cisco Boot Sequence"},"content":{"rendered":"<p><strong>Booting up the Router<\/strong><\/p>\n<p>Cisco routers can boot Cisco IOS software from these locations:<\/p>\n<p>1. Flash memory<br \/>\n2. TFTP server<br \/>\n3. ROM (not full Cisco IOS)<\/p>\n<p>There are some options which provide flexibility and fallback alternatives:<!--more--><strong>Default boot sequence for Cisco IOS software:<\/strong><br \/>\n1. NVRAM<br \/>\n2. Flash (sequential)<br \/>\n3. TFTP server (network boot)<br \/>\n4. ROM (partial IOS)<\/p>\n<p>Note: boot system commands can be used to specify the primary IOS source and fallback sequences.<\/p>\n<p>Booting up the router and locating the Cisco IOS<\/p>\n<p>1. POST (power on self test)<br \/>\n2. Bootstrap code executed<br \/>\n3. Check Configuration Register value (NVRAM) which can be modified using the config-register command<\/p>\n<p>0 = ROM Monitor mode<br \/>\n1 = ROM IOS<br \/>\n2 &#8211; 15 = startup-config in NVRAM<\/p>\n<p>4. Startup-config file: Check for boot system commands (NVRAM)<br \/>\nIf boot system commands in startup-config<br \/>\na. Run boot system commands in order they appear in startup-config to locate the IOS<br \/>\nb. [If boot system commands fail, use default fallback sequence to locate the IOS (Flash, TFTP, ROM)?]<\/p>\n<p>If no boot system commands in startup-config use the default fallback sequence in locating the IOS:<br \/>\na. Flash (sequential)<br \/>\nb. TFTP server (netboot)<br \/>\nc. ROM (partial IOS) or keep retrying TFTP depending upon router model<\/p>\n<p>5. If IOS is loaded, but there is no startup-config file, the router will use the default fallback sequence for locating the IOS and then it will enter setup mode or the setup dialogue.<br \/>\n6. If no IOS can be loaded, the router will get the partial IOS version from ROM<br \/>\n===================================================================<\/p>\n<p>Default (normal) Boot Sequence<\/p>\n<p>Power on Router &#8211; Router does POST &#8211; Bootstrap starts IOS load &#8211; Check configuration register<br \/>\nto see what mode the router should boot up in (usually 0x102 to 0x10F to look in NVRAM) &#8211; check the startup-config file in NVRAM for boot-system commands (normally there aren&#8217;t any) &#8211; load IOS from Flash.<\/p>\n<p>Boot System Commands<\/p>\n<p>Router(config)# boot system flash IOS filename\u00a0\u00a0 &#8211; boot from FLASH memory<br \/>\nRouter(config)# boot system tftp IOS filename tftp server ip address\u00a0\u00a0 &#8211; boot from a TFTP server<br \/>\nRouter(config)# boot system rom\u00a0\u00a0 &#8211; boot from system ROM<\/p>\n<p>Configuration Register Command<\/p>\n<p>Router(config)# config-register 0x10x (where that last x is 0-F in hex)<\/p>\n<p>When the last x is:<br \/>\n0 = boot into ROM Monitor mode<br \/>\n1 = boot the ROM IOS<br \/>\n2 &#8211; 15 = look in startup config file in NVRAM<\/p>\n<div id=\"_mcePaste\" style=\"overflow: hidden; position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px;\">\n<table border=\"0\" cellspacing=\"0\" cellpadding=\"0\" width=\"75%\">\n<tbody>\n<tr>\n<td width=\"6%\"><\/td>\n<td width=\"1%\"><\/td>\n<td width=\"90%\">\n<table border=\"0\" cellspacing=\"0\" cellpadding=\"0\" width=\"100%\">\n<tbody>\n<tr>\n<td class=\"norTxtBl\">\n<p align=\"justify\">\n<p><strong><span style=\"text-decoration: underline;\">Booting up the Router<\/span><\/strong><\/p>\n<p>Cisco routers can boot Cisco IOS software from these locations:<\/p>\n<p>1. Flash memory<br \/>\n2. TFTP server<br \/>\n3. ROM (not full Cisco IOS)<\/p>\n<p>Multiple source options provide flexibility and fallback alternatives<\/p>\n<p><strong>Locating the Cisco IOS Software<\/strong><\/p>\n<p>Default boot sequence for Cisco IOS software:<\/p>\n<p>1. NVRAM<br \/>\n2. Flash (sequential)<br \/>\n3. TFTP server (network boot)<br \/>\n4. ROM (partial IOS)<\/p>\n<p><strong>Note:<\/strong> boot system commands can be used to specify the primary                IOS source and fallback sequences.<\/p>\n<p><strong>Booting up the router and locating the Cisco IOS<\/strong><\/p>\n<p><strong>1.<\/strong> POST (power on self test)<br \/>\n<strong>2.<\/strong> Bootstrap code executed<br \/>\n<strong>3.<\/strong> Check Configuration Register value (NVRAM) which can be                modified using the config-register command<\/p>\n<p><strong>0<\/strong> = ROM Monitor mode<br \/>\n<strong>1<\/strong> = ROM IOS<br \/>\n<strong>2 &#8211; 15<\/strong> = startup-config in NVRAM<\/p>\n<p><strong>4.<\/strong> Startup-config file: Check for boot system commands (NVRAM)<br \/>\nIf boot system commands in startup-config<br \/>\n<strong>a.<\/strong> Run boot system commands in order they appear in startup-config                to locate the IOS<br \/>\n<strong>b.<\/strong> [If boot system commands fail, use default fallback sequence                to locate the IOS (Flash, TFTP, ROM)?]<\/p>\n<p>If no boot system commands in startup-config use the default fallback                sequence in locating the IOS:<br \/>\n<strong>a.<\/strong> Flash (sequential)<br \/>\n<strong>b.<\/strong> TFTP server (netboot)<br \/>\n<strong>c.<\/strong> ROM (partial IOS) or keep retrying TFTP depending upon                router model<\/p>\n<p><strong>5.<\/strong> If IOS is loaded, but there is no startup-config file,                the router will use the default fallback sequence for locating the                IOS and then it will enter setup mode or the setup dialogue.<br \/>\n<strong>6.<\/strong> If no IOS can be loaded, the router will get the partial                IOS version from ROM<\/p>\n<p>===================================================================<\/p>\n<p><strong>Default (normal) Boot Sequence<\/strong><\/p>\n<p>Power on Router &#8211; Router does POST &#8211; Bootstrap starts IOS load &#8211; Check              configuration register<br \/>\nto see what mode the router should boot up in (usually 0x102 to 0x10F              to look in NVRAM) &#8211; check the startup-config file in NVRAM for boot-system              commands (normally there aren&#8217;t any) &#8211; load IOS from Flash.<\/p>\n<p><strong>Boot System Commands<\/strong><\/p>\n<p>Router(config)# boot system flash <em>IOS filename<\/em> &#8211; <span class=\"boldTextDkBlu\">boot              from FLASH memory<\/span><br \/>\nRouter(config)# boot system tftp <em>IOS filename<\/em> <em>tftp server              ip address<\/em> &#8211; <span class=\"boldTextDkBlu\">boot from a TFTP server<\/span><br \/>\nRouter(config)# boot system rom \u00a0 &#8211; <span class=\"boldTextDkBlu\">boot from system ROM<\/span><\/p>\n<p><strong>Configuration Register Command<\/strong><\/p>\n<p><strong> <\/strong>Router(config)# config-register <em> 0x10x (where that last x is              0-F in hex)<\/em><\/p>\n<p>When the last x is:<br \/>\n<strong>0<\/strong> = boot into ROM Monitor mode<br \/>\n<strong>1<\/strong> = boot the ROM IOS<br \/>\n<strong>2 &#8211; 15<\/strong> = look in startup config file in NVRAM<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n","protected":false},"excerpt":{"rendered":"<p>Booting up the Router Cisco routers can boot Cisco IOS software from these locations: 1. Flash memory 2. TFTP server 3. ROM (not full Cisco IOS) There are some options which provide flexibility and fallback alternatives:<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":[],"categories":[83],"tags":[],"_links":{"self":[{"href":"http:\/\/darenmatthews.com\/blog\/index.php?rest_route=\/wp\/v2\/posts\/169"}],"collection":[{"href":"http:\/\/darenmatthews.com\/blog\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/darenmatthews.com\/blog\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/darenmatthews.com\/blog\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"http:\/\/darenmatthews.com\/blog\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=169"}],"version-history":[{"count":2,"href":"http:\/\/darenmatthews.com\/blog\/index.php?rest_route=\/wp\/v2\/posts\/169\/revisions"}],"predecessor-version":[{"id":362,"href":"http:\/\/darenmatthews.com\/blog\/index.php?rest_route=\/wp\/v2\/posts\/169\/revisions\/362"}],"wp:attachment":[{"href":"http:\/\/darenmatthews.com\/blog\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=169"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/darenmatthews.com\/blog\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=169"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/darenmatthews.com\/blog\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=169"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}