CloneNum3

customer_rootflop.sh

Apr 16th, 2020
1,540
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Bash 86.43 KB | None | 0 0
  1. #
  2. #  Filename:  $Source: /windy/home/scm/CVS_TMS/customer/generic/src/base_os/common/script_files/customer_rootflop.sh,v $
  3. #  Revision:  $Revision: 1.15 $
  4. #  Date:      $Date: 2008/05/16 00:30:23 $
  5. #  Author:    $Author: gregs $
  6. #
  7. #  (C) Copyright 2002-2006 Tall Maple Systems, Inc.  
  8. #  All rights reserved.
  9. #
  10. #  $TallMaple: customer/generic/src/base_os/common/script_files/customer_rootflop.sh,v 1.15 2008/05/16 00:30:23 gregs Exp $
  11. #
  12. #
  13. # This file contains customer-specific definitions and graft functions
  14. # for use in the root floppy environment, as well as while running the
  15. # full image.  It is separate from customer.sh so we can avoid installing
  16. # the full customer.sh (which may be large) onto the root floppy (which
  17. # is a very space-limited environment).
  18. #
  19.  
  20. # -----------------------------------------------------------------------------
  21. # Graft point #1 for writeimage.sh.  This is called during initialization.
  22. #
  23. HAVE_WRITEIMAGE_GRAFT_1=n
  24. # writeimage_graft_1()
  25. # {
  26. # }
  27.  
  28. # -----------------------------------------------------------------------------
  29. # Graft point #2 for writeimage.sh.  Please see the writeimage.sh script
  30. # for specifics on where this is called from.
  31. #
  32. HAVE_WRITEIMAGE_GRAFT_2=n
  33. # writeimage_graft_2()
  34. # {
  35. # }
  36.  
  37. # -----------------------------------------------------------------------------
  38. # Graft point #3 for writeimage.sh.  This is called at the end of fstab
  39. # generation.  It can be used to append customer specific lines to the
  40. # fstab.  
  41. #
  42. HAVE_WRITEIMAGE_GRAFT_3=n
  43. # writeimage_graft_3()
  44. # {
  45. # }
  46.  
  47.  
  48. # -----------------------------------------------------------------------------
  49. # Graft point #4 for writeimage.sh.  This is called right after the version
  50. # of the image to be used is determined.  It can be used to do customer
  51. # specific determinations about what images should be allowed to be
  52. # installed or manufactured.  
  53. #
  54. HAVE_WRITEIMAGE_GRAFT_4=n
  55. # writeimage_graft_4()
  56. # {
  57. # }
  58.  
  59. # -----------------------------------------------------------------------------
  60. # Graft point #5 for writeimage.sh.  This is called right before the bootmgr
  61. # (grub) is installed.  It can be used to emit things into the device map:
  62. # ${mount_point}/boot/grub/device.map if a device is not being probed
  63. # properly.  It can also be used to install the bootmgr yourself, at which
  64. # point you should set DID_GRUB_INSTALL=1 .  See also, HAVE_AISET_GRAFT_1 below,
  65. # which is used when re-installing the grub later.
  66. #
  67. HAVE_WRITEIMAGE_GRAFT_5=n
  68. # writeimage_graft_5()
  69. # {
  70. # }
  71.  
  72.  
  73. # -----------------------------------------------------------------------------
  74.  
  75. # Graft point #1 for aiset.sh.  This is called right before the bootmgr
  76. # (grub) is re-installed.  It can be used to edit things in the device
  77. # map: ${mount_point}/boot/grub/device.map if the existing device map
  78. # needs to be changed.  Unlike HAVE_WRITEIMAGE_GRAFT_5, the device map
  79. # already exists, so you likely do not need to use this graft point,
  80. # unless you need to change the device map of a deployed box for some
  81. # reason.  You should not just do the same thing here as in
  82. # HAVE_WRITEIMAGE_GRAFT_5 .  This graft point can also be used to
  83. # re-install the bootmgr yourself, at which point you should set
  84. # DID_GRUB_INSTALL=1 .  See also, HAVE_WRITEIMAGE_GRAFT_5 above, which
  85. # is used when initially installing the grub at manufacture time.
  86.  
  87. HAVE_AISET_GRAFT_1=n
  88. # aiset_graft_1()
  89. # {
  90. # }
  91.  
  92. # -----------------------------------------------------------------------------
  93. # Graft point #1 for manufacture.sh.  This is called during initialization.
  94. #
  95. HAVE_MANUFACTURE_GRAFT_1=y
  96. manufacture_graft_1()
  97. {
  98.     MODEL_x86_ENABLE=1
  99.     MODEL_x86_KERNEL_TYPE="smp"
  100.     MODEL_x86_LCD_TYPE="none"
  101.     MODEL_x86_DEV_LIST="/dev/sda"
  102.     MODEL_x86_LAYOUT="X86"
  103.     MODEL_x86_PART_NAME_SIZE_LIST=""
  104.     MODEL_x86_IF_NAMING="ifindex-sorted"
  105.     MODEL_x86_IF_LIST="mgmts0 mgmts1"
  106.     MODEL_x86_SMARTD_OPT="0"
  107.     MODEL_x86_CMC_SERVER=no
  108.     MODEL_x86_CMC_CLIENT=no
  109.  
  110.     MODEL_x86onie_ENABLE=1
  111.     MODEL_x86onie_KERNEL_TYPE="smp"
  112.     MODEL_x86onie_LCD_TYPE="none"
  113.     MODEL_x86onie_DEV_LIST="/dev/sda"
  114.     MODEL_x86onie_LAYOUT="X86ONIE"
  115.     MODEL_x86onie_PART_NAME_SIZE_LIST=""
  116.     MODEL_x86onie_IF_NAMING="ifindex-sorted"
  117.     MODEL_x86onie_IF_LIST="mgmts0 mgmts1"
  118.     MODEL_x86onie_SMARTD_OPT="0"
  119.     MODEL_x86onie_CMC_SERVER=no
  120.     MODEL_x86onie_CMC_CLIENT=no
  121.    
  122.     MODEL_x86_32gb_ENABLE=1
  123.     MODEL_x86_32gb_KERNEL_TYPE="smp"
  124.     MODEL_x86_32gb_LCD_TYPE="none"
  125.     MODEL_x86_32gb_DEV_LIST="/dev/sda"
  126.     MODEL_x86_32gb_LAYOUT="X86_32GB"
  127.     MODEL_x86_32gb_PART_NAME_SIZE_LIST=""
  128.     MODEL_x86_32gb_IF_NAMING="ifindex-sorted"
  129.     MODEL_x86_32gb_IF_LIST="mgmts0 mgmts1"
  130.     MODEL_x86_32gb_SMARTD_OPT="0"
  131.     MODEL_x86_32gb_CMC_SERVER=no
  132.     MODEL_x86_32gb_CMC_CLIENT=no
  133.    
  134.     MODEL_x86onie_32gb_ENABLE=1
  135.     MODEL_x86onie_32gb_KERNEL_TYPE="smp"
  136.     MODEL_x86onie_32gb_LCD_TYPE="none"
  137.     MODEL_x86onie_32gb_DEV_LIST="/dev/sda"
  138.     MODEL_x86onie_32gb_LAYOUT="X86ONIE_32GB"
  139.     MODEL_x86onie_32gb_PART_NAME_SIZE_LIST=""
  140.     MODEL_x86onie_32gb_IF_NAMING="ifindex-sorted"
  141.     MODEL_x86onie_32gb_IF_LIST="mgmts0 mgmts1"
  142.     MODEL_x86onie_32gb_SMARTD_OPT="0"
  143.     MODEL_x86onie_32gb_CMC_SERVER=no
  144.     MODEL_x86onie_32gb_CMC_CLIENT=no
  145.  
  146.     MODEL_ppc_ENABLE=1
  147.     MODEL_ppc_KERNEL_TYPE="uni"
  148.     MODEL_ppc_LCD_TYPE="none"
  149.     MODEL_ppc_DEV_LIST="/dev/mtd"
  150.     MODEL_ppc_LAYOUT="MFL1"
  151.     MODEL_ppc_PART_NAME_SIZE_LIST=""
  152.     MODEL_ppc_IF_NAMING="ifindex-sorted"
  153.     MODEL_ppc_IF_LIST="mgmt0 mgmt1"
  154.     MODEL_ppc_SMARTD_OPT="0"
  155.     MODEL_ppc_CMC_SERVER=no
  156.     MODEL_ppc_CMC_CLIENT=no
  157.  
  158.     MODEL_ppcusb_ENABLE=1
  159.     MODEL_ppcusb_DESCR="PowerPC USB"
  160.     MODEL_ppcusb_KERNEL_TYPE="uni"
  161.     MODEL_ppcusb_LCD_TYPE="none"
  162.     MODEL_ppcusb_DEV_LIST="/dev/mtd /dev/sda"
  163.     MODEL_ppcusb_LAYOUT="MFLB1"
  164.     MODEL_ppcusb_IF_NAMING="ifindex-sorted"
  165.     MODEL_ppcusb_IF_LIST="mgmt0 mgmt1"
  166.     MODEL_ppcusb_SMARTD_OPT=0
  167.     MODEL_ppcusb_CMC_SERVER=no
  168.     MODEL_ppcusb_CMC_CLIENT=no
  169.  
  170.     CFG_MODEL_DEF="ppc"
  171.     CFG_MODEL_CHOICES="x86 x86onie ppc ppcusb ${CFG_MODEL_CHOICES}"
  172. }
  173.  
  174. # -----------------------------------------------------------------------------
  175. # Graft point #2 for manufacture.sh.  This is called towards the end, after
  176. # writeimage.  You can do anything you want here, such as acting on custom
  177. # options that you parsed from the command line or prompted the user for
  178. # interactively, using graft points 3-6.
  179. #
  180. HAVE_MANUFACTURE_GRAFT_2=y
  181. manufacture_graft_2()
  182. {
  183.     CFG_BMP_CRYPTED='$1$yCoib8pn$vSaWSssw2k17iOJRIdmcw/'
  184.     ${MDDBREQ} -c ${MFG_INC_DB_PATH} set modify - /system/bootmgr/password string ${CFG_BMP_CRYPTED}
  185.  
  186.     vlecho 1 "-- graft_2: HAVE_OPT_DB: $HAVE_OPT_DB"
  187.     if [ "$HAVE_OPT_DB" -eq 1 ]; then
  188.         manufacture_switchx
  189.     fi
  190.  
  191.     # .........................................................................
  192.     # For virtualization demonstration, create an alternate
  193.     # storage pool.  Point to USB storage.
  194.     # In addition, set mgmts0 and mgmts1 default configurations.
  195.     #
  196.     CPU=`uname -m`
  197.     if [ "$CPU" == "x86_64" ]; then
  198.         ${MDDBREQ} ${MFG_DB_PATH} set modify - /mfg/mfdb/virt/pools/pool/usb string usb
  199.         ${MDDBREQ} ${MFG_DB_PATH} set modify - /mfg/mfdb/virt/pools/pool/usb/link_to string /var/mnt/usb1
  200.  
  201.         # Scorpion 2, bulldog, street fighter and TBIRD have only 1 mgmts interface.
  202.         # In Remanufacture flow system_type is not queried yet, so the mgmts1 node will be created,
  203.         # but deleted at mlx_general_settings()
  204.         if [ "$system_type" = "MSB7800" ] || [ "$system_type" = "MSN2740" ] || [ "$system_type" = "MSN2100" ] || \
  205.            [ "$system_type" = "SH2200-C" ]; then
  206.             MGMTS_INTR="mgmts0"
  207.         else
  208.             MGMTS_INTR="mgmts0 mgmts1"
  209.         fi
  210.         for intr in ${MGMTS_INTR}
  211.         do
  212.             ${MDDBREQ} ${MFG_DB_PATH} set modify - /mfg/mfdb/net/interface/config/${intr}/addr/ipv4/dhcp bool false
  213.             ${MDDBREQ} ${MFG_DB_PATH} set modify - /mfg/mfdb/net/interface/config/${intr}/addr/ipv4/static/1 uint8 1
  214.             ${MDDBREQ} ${MFG_DB_PATH} set modify - /mfg/mfdb/net/interface/config/${intr}/addr/ipv4/static/1/ip ipv4addr 0.0.0.0
  215.             ${MDDBREQ} ${MFG_DB_PATH} set modify - /mfg/mfdb/net/interface/config/${intr}/addr/ipv4/static/1/mask_len uint8 0
  216.             # May allow to hide from user, currently disabled
  217.             ${MDDBREQ} ${MFG_DB_PATH} set modify - /mfg/mfdb/net/interface/config/${intr}/display bool false
  218.         done
  219.  
  220.     fi
  221.  
  222. }
  223.  
  224. # -----------------------------------------------------------------------------
  225. # Graft point #3 for manufacture.sh.  This is called from within the
  226. # function that prints a usage message if the user enters invalid
  227. # options.  Use this to print a summary of your options.
  228. # See the context in manufacture.sh.
  229. #
  230. HAVE_MANUFACTURE_GRAFT_3=y
  231. manufacture_graft_3()
  232. {
  233.     echo "       [--db]"
  234. }
  235.  
  236. # -----------------------------------------------------------------------------
  237. # Graft point #3b for manufacture.sh.  This is called from within the
  238. # function that prints a usage message if the user enters invalid
  239. # options.  Use this to print a longer description of your options.
  240. # See the context in manufacture.sh.
  241. #
  242. HAVE_MANUFACTURE_GRAFT_3b=y
  243. manufacture_graft_3b()
  244. {
  245.     echo ""
  246.     echo "--db: try to detect and write SwitchX settings to mfdb"
  247. }
  248.  
  249. # -----------------------------------------------------------------------------
  250. # Graft point #4b for manufacture.sh.  This is called after the base XOPT
  251. # parsing of the kernel command-line parameters.  This is for
  252. # customer-specific options you want to be able to set via the PXE 'append'
  253. # method, in order to automatically image systems with certain settings.
  254. #
  255. HAVE_MANUFACTURE_GRAFT_4b=n
  256. # manufacture_graft_4b()
  257. # {
  258. # }
  259.  
  260. # -----------------------------------------------------------------------------
  261. # Graft point #4 for manufacture.sh.  This is called before we run getopt
  262. # to parse the command-line options.  You can add your own options in
  263. # getopt format to $GETOPT_OPTS.  You should also initialize any
  264. # variables you'll use to hold your options, e.g. "HAVE_OPT_HELLO=0"
  265. # and "OPT_HELLO=".  Again, see the context in manufacture.sh.
  266. #
  267. HAVE_MANUFACTURE_GRAFT_4=y
  268. manufacture_graft_4()
  269. {
  270.     # add long-option --db
  271.     vlecho 1 "-- graft_4: Adding long-option --db"
  272.     if [ "x$GETOPT_LONGOPTS" != "x" ]; then
  273.         GETOPT_LONGOPTS="${GETOPT_LONGOPTS},"
  274.     fi
  275.     GETOPT_LONGOPTS="${GETOPT_LONGOPTS}db"
  276.     HAVE_OPT_DB=0
  277.     OPT_DB=
  278. }
  279.  
  280. # -----------------------------------------------------------------------------
  281. # Graft point #5 for manufacture.sh.  This is called after the main
  282. # script has parsed all of its basic options.  The options are in $PARSE,
  283. # so you should refresh them with:
  284. #     eval set -- "$PARSE"
  285. # ...and then iterate through them like manufacture.sh does,
  286. # looking for your own options.
  287. #
  288. HAVE_MANUFACTURE_GRAFT_5=y
  289. manufacture_graft_5()
  290. {
  291.     eval set -- "$PARSE"
  292.     while true; do
  293.         case "$1" in
  294.             --db) HAVE_OPT_DB=1; OPT_DB=1; shift ;;
  295.             --) shift ; break ;;
  296.             *) shift ;;
  297.         esac
  298.     done
  299.     vlecho 1 "-- graft_5: HAVE_OPT_DB: $HAVE_OPT_DB"
  300. }
  301.  
  302. # -----------------------------------------------------------------------------
  303. # Graft point #6 for manufacture.sh.  This is called after manufacture.sh
  304. # has processed most of its options, but before it has taken any action.
  305. # You should process your options here.  If an option was specified,
  306. # copy it into the variable that you will use later. e.g. copy
  307. # $OPT_HELLO to $CFG_HELLO.  Otherwise, prompt the user for the option,
  308. # perhaps with a default in square brackets, and take whatever they specify.
  309. # Either way, print out a "Using ..." message that says what the value of
  310. # your option is.  Don't act on your option yet; you can do this later
  311. # in graft point 2 (which runs after us, despite its number).
  312. #
  313. HAVE_MANUFACTURE_GRAFT_6=n
  314. # manufacture_graft_6()
  315. # {
  316. # }
  317.  
  318. # -----------------------------------------------------------------------------
  319. # Graft point #7 for manufacture.sh.  This is called to get the HWNAME
  320. # the hardware has, so it can be validated against what is specified to
  321. # manufacture.  It is only called when manufacture sees a non-empty
  322. # HWNAME specified.  This is usually required on PowerPC, but unused on
  323. # x86.  Put the hardware's HWNAME in FOUND_HWNAME .  It must contain only
  324. # alphanumeric - and _ .
  325. #
  326. HAVE_MANUFACTURE_GRAFT_7=y
  327. manufacture_graft_7()
  328. {
  329.  
  330.     EETOOL=/opt/tms/bin/eetool
  331.     if [ -x ${EETOOL} ]; then
  332.         FOUND_HWNAME="-ERROR-"
  333.  
  334.         eval `${EETOOL} | grep = | sed -e 's,^\([^=]*\)=,MFG_EE_\1=,p' -e 's,^\([^=]*\)=.*$,export \1,' | grep MFG_EE_HWNAME`
  335.         # Only take the HWNAME if it is alphanumeric, - and _
  336.         echo "${MFG_EE_HWNAME}" | grep -q '^[a-zA-Z0-9_-]*$'
  337.         if [ $? -eq 0 -a ! -z "${MFG_EE_HWNAME}" ]; then
  338.             FOUND_HWNAME="${MFG_EE_HWNAME}"
  339.         fi
  340.         unset MFG_EE_HWNAME
  341.     fi
  342.  
  343. }
  344.  
  345. # -----------------------------------------------------------------------------
  346. # Graft point #1 for remanufacture.sh.  This is called during pass 1, right
  347. # after the base binaries have been copied over, but before the pivot_root.
  348. # It could be used for copying over other files or stopping other processes.
  349. #
  350. HAVE_REMANUFACTURE_GRAFT_1=n
  351. # remanufacture_graft_1()
  352. # {
  353. # }
  354.  
  355. # -----------------------------------------------------------------------------
  356. # Graft point #2 for remanufacture.sh.  This is called during pass 2, right
  357. # before we'll call manufacture.sh .  Note that this is in the new, chroot'd
  358. # to environment, not the normal full system.  It could be used for setting
  359. # MFG_ARGS to contain other settings to pass to manufacture.sh , or to call
  360. # manufacture.sh directrly, by setting DO_MFG=0 .  
  361. #
  362. HAVE_REMANUFACTURE_GRAFT_2=n
  363. # remanufacture_graft_2()
  364. # {
  365. # }
  366.  
  367. # -----------------------------------------------------------------------------
  368. # Graft point #3 for remanufacture.sh.  This is called during pass 3, right
  369. # after we potentially copy over the system config.  It could be used for
  370. # copying over other manufacture time settings from the old system.  
  371. # NEW_MFG_DB_PATH and NEW_MFG_INC_DB_PATH are the new ones, and MFG_DB_PATH
  372. # and MFG_INC_DB_PATH are the old ones (from the system before the
  373. # remanufacture).
  374. #
  375. HAVE_REMANUFACTURE_GRAFT_3=y
  376. remanufacture_graft_3()
  377. {
  378.     MANUFACTURE_DB=$NEW_MFG_DB_PATH
  379.     IS_REMANUFACTURE_SWITCHX=1
  380.     manufacture_switchx
  381. }
  382.  
  383. # -----------------------------------------------------------------------------
  384. # Graft point #1 for imgverify.sh.  This is called before any actions
  385. # have been taken, to allow default settings to be overridden.  
  386. #
  387. HAVE_IMGVERIFY_GRAFT_1=n
  388. # imgverify_graft_1()
  389. # {
  390. # }
  391.  
  392. # -----------------------------------------------------------------------------
  393. # Graft point #1 for layout-settings.sh.  This is used to allow custom
  394. # layouts to be defined
  395. #
  396. HAVE_LAYOUT_SETTINGS_GRAFT_1=y
  397. layout_settings_graft_1()
  398. {
  399.     # Increasing TMPFS size - we have 2GB available in M460EX
  400.     TMPFS_SIZE_MB=1024
  401.  
  402.     # X86 specific TMPFS_SIZE_MB
  403.     IL_LO_X86_TMPFS_SIZE_MB=2048
  404.     # These are the standard location names.  They should not be changed
  405.     IL_LO_X86_LOCS="BOOTMGR_1 BOOT_1 BOOT_2 ROOT_1 ROOT_2 CONFIG_1 OUTPUT_1 VAR_1"
  406.  
  407.     # Targets are things like a disk or a flash device
  408.     IL_LO_X86_TARGET_NUM_TARGETS=1
  409.     IL_LO_X86_TARGETS="DISK1"
  410.     IL_LO_X86_TARGET_DISK1_NUM=1
  411.  
  412.     # Configuration option to indicate that the root locations
  413.     # should be read-only. It is still necessary to indicate
  414.     # 'ro' in the partition option line for root.
  415.     IL_LO_X86_ROOT_RDONLY=1
  416.  
  417.     # Set this to use an initrd (initial ramdisk) at kernel boot time.  This
  418.     # is relative to the layout's LOC_BOOT_*_DIR , so you probably do not
  419.     # want a leading / in this name.
  420.     #
  421.     # Note, if you are using VPARTs (with a ..._ISROOTFS=1), do not set this
  422.     # option, as it may conflict.
  423.     IL_LO_X86_INITRD_PATH=
  424.  
  425.     # If we want the root device mounted by label instead of device name.
  426.     # Note that all partitions are mounted by label once the system has
  427.     # booted.  This setting is only about what the kernel does on startup.
  428.     #
  429.     # NOTE: This only makes sense if you have an initrd, as the kernel
  430.     # cannot do the label lookup for things like 'LABEL=ROOT_1' .
  431.     # initrd's are not currently produced by the build process.
  432.     IL_LO_X86_ROOT_MOUNT_BY_LABEL=0
  433.  
  434.     IL_LO_X86_TARGET_DISK1_MINSIZE=8192
  435.     IL_LO_X86_TARGET_DISK1_LABELTYPE=
  436.  
  437.     # What partitions get made on the targets
  438.     IL_LO_X86_PARTS="BOOTMGR BOOT1 BOOT2 EXT ROOT1 ROOT2 CONFIG OUTPUT VAR"
  439.  
  440.     IL_LO_X86_IMAGE_1_INSTALL_LOCS="BOOT_1 ROOT_1"
  441.     IL_LO_X86_IMAGE_2_INSTALL_LOCS="BOOT_2 ROOT_2"
  442.     IL_LO_X86_IMAGE_1_LOCS="ROOT_1 BOOT_1 BOOTMGR_1 CONFIG_1 OUTPUT_1 VAR_1"
  443.     IL_LO_X86_IMAGE_2_LOCS="ROOT_2 BOOT_2 BOOTMGR_1 CONFIG_1 OUTPUT_1 VAR_1"
  444.  
  445.     IL_LO_X86_OPT_LAST_PART_FILL=1
  446.  
  447.     IL_LO_X86_LOC_BOOTMGR_1_PART=BOOTMGR
  448.     IL_LO_X86_LOC_BOOTMGR_1_DIR=/
  449.     IL_LO_X86_LOC_BOOTMGR_1_IMAGE_EXTRACT="./bootmgr"
  450.     IL_LO_X86_LOC_BOOTMGR_1_IMAGE_EXTRACT_PREFIX="/bootmgr"
  451.  
  452.     IL_LO_X86_LOC_BOOT_1_PART=BOOT1
  453.     IL_LO_X86_LOC_BOOT_1_DIR=/
  454.     IL_LO_X86_LOC_BOOT_1_IMAGE_EXTRACT="./boot"
  455.     IL_LO_X86_LOC_BOOT_1_IMAGE_EXTRACT_PREFIX="/boot"
  456.  
  457.     IL_LO_X86_LOC_BOOT_2_PART=BOOT2
  458.     IL_LO_X86_LOC_BOOT_2_DIR=/
  459.     IL_LO_X86_LOC_BOOT_2_IMAGE_EXTRACT="./boot"
  460.     IL_LO_X86_LOC_BOOT_2_IMAGE_EXTRACT_PREFIX="/boot"
  461.  
  462.     IL_LO_X86_LOC_ROOT_1_PART=ROOT1
  463.     IL_LO_X86_LOC_ROOT_1_DIR=/
  464.     IL_LO_X86_LOC_ROOT_1_IMAGE_EXTRACT="./"
  465.     IL_LO_X86_LOC_ROOT_1_IMAGE_EXTRACT_EXCLUDE="./bootmgr ./boot ./config ./var"
  466.     IL_LO_X86_LOC_ROOT_1_IMAGE_EXTRACT_PREFIX=""
  467.  
  468.     IL_LO_X86_LOC_ROOT_2_PART=ROOT2
  469.     IL_LO_X86_LOC_ROOT_2_DIR=/
  470.     IL_LO_X86_LOC_ROOT_2_IMAGE_EXTRACT="./"
  471.     IL_LO_X86_LOC_ROOT_2_IMAGE_EXTRACT_EXCLUDE="./bootmgr ./boot ./config ./var"
  472.     IL_LO_X86_LOC_ROOT_2_IMAGE_EXTRACT_PREFIX=""
  473.  
  474.     IL_LO_X86_LOC_CONFIG_1_PART=CONFIG
  475.     IL_LO_X86_LOC_CONFIG_1_DIR=/
  476.     IL_LO_X86_LOC_CONFIG_1_IMAGE_EXTRACT="./config"
  477.     IL_LO_X86_LOC_CONFIG_1_IMAGE_EXTRACT_PREFIX="/config"
  478.     IL_LO_X86_LOC_OUTPUT_1_PART=OUTPUT
  479.     IL_LO_X86_LOC_OUTPUT_1_DIR=/
  480.     IL_LO_X86_LOC_OUTPUT_1_IMAGE_EXTRACT="./output"
  481.     IL_LO_X86_LOC_OUTPUT_1_IMAGE_EXTRACT_PREFIX="/output"
  482.  
  483.     IL_LO_X86_LOC_VAR_1_PART=VAR
  484.     IL_LO_X86_LOC_VAR_1_DIR=/
  485.     IL_LO_X86_LOC_VAR_1_IMAGE_EXTRACT="./var"
  486.     IL_LO_X86_LOC_VAR_1_IMAGE_EXTRACT_PREFIX="/var"
  487.  
  488.  
  489.     # Each of these says how a partition is named, labled, and sized.
  490. # ==================================================
  491. #
  492. # x86 partitions layout on 16GB disk
  493. #
  494. # ==================================================    
  495.  
  496.     IL_LO_X86_PART_BOOTMGR_TARGET=DISK1
  497.     IL_LO_X86_PART_BOOTMGR_PART_NUM=1
  498.     IL_LO_X86_PART_BOOTMGR_DEV=${IL_LO_X86_TARGET_DISK1_DEV}${IL_LO_X86_PART_BOOTMGR_PART_NUM}
  499.     IL_LO_X86_PART_BOOTMGR_LABEL=BOOTMGR
  500.     IL_LO_X86_PART_BOOTMGR_MOUNT=/bootmgr
  501.     IL_LO_X86_PART_BOOTMGR_BOOTABLE=1
  502.     IL_LO_X86_PART_BOOTMGR_PART_ID=83
  503.     IL_LO_X86_PART_BOOTMGR_FSTYPE=ext3
  504.     IL_LO_X86_PART_BOOTMGR_SIZE=128
  505.     IL_LO_X86_PART_BOOTMGR_GROWTHCAP=
  506.     IL_LO_X86_PART_BOOTMGR_GROWTHWEIGHT=
  507.     IL_LO_X86_PART_BOOTMGR_OPTIONS="defaults,noatime,ro"
  508.  
  509.     IL_LO_X86_PART_BOOT1_TARGET=DISK1
  510.     IL_LO_X86_PART_BOOT1_PART_NUM=2
  511.     IL_LO_X86_PART_BOOT1_DEV=${IL_LO_X86_TARGET_DISK1_DEV}${IL_LO_X86_PART_BOOT1_PART_NUM}
  512.     IL_LO_X86_PART_BOOT1_LABEL=BOOT_1
  513.     IL_LO_X86_PART_BOOT1_MOUNT=/boot
  514.     IL_LO_X86_PART_BOOT1_BOOTABLE=
  515.     IL_LO_X86_PART_BOOT1_PART_ID=83
  516.     IL_LO_X86_PART_BOOT1_FSTYPE=ext3
  517.     IL_LO_X86_PART_BOOT1_SIZE=128
  518.     IL_LO_X86_PART_BOOT1_GROWTHCAP=
  519.     IL_LO_X86_PART_BOOT1_GROWTHWEIGHT=
  520.     IL_LO_X86_PART_BOOT1_OPTIONS="defaults,noatime,ro"
  521.  
  522.     IL_LO_X86_PART_BOOT2_TARGET=DISK1
  523.     IL_LO_X86_PART_BOOT2_PART_NUM=3
  524.     IL_LO_X86_PART_BOOT2_DEV=${IL_LO_X86_TARGET_DISK1_DEV}${IL_LO_X86_PART_BOOT2_PART_NUM}
  525.     IL_LO_X86_PART_BOOT2_LABEL=BOOT_2
  526.     IL_LO_X86_PART_BOOT2_MOUNT=/boot
  527.     IL_LO_X86_PART_BOOT2_BOOTABLE=
  528.     IL_LO_X86_PART_BOOT2_PART_ID=83
  529.     IL_LO_X86_PART_BOOT2_FSTYPE=ext3
  530.     IL_LO_X86_PART_BOOT2_SIZE=128
  531.     IL_LO_X86_PART_BOOT2_GROWTHCAP=
  532.     IL_LO_X86_PART_BOOT2_GROWTHWEIGHT=
  533.     IL_LO_X86_PART_BOOT2_OPTIONS="defaults,noatime,ro"
  534.  
  535.     # Last extended 4th parition accumulating all other logical partitions
  536.     IL_LO_X86_PART_EXT_TARGET=DISK1
  537.     IL_LO_X86_PART_EXT_PART_NUM=4
  538.     IL_LO_X86_PART_EXT_DEV=${IL_LO_X86_TARGET_DISK1_DEV}${IL_LO_X86_PART_EXT_PART_NUM}
  539.     IL_LO_X86_PART_EXT_LABEL=
  540.     IL_LO_X86_PART_EXT_MOUNT=
  541.     IL_LO_X86_PART_EXT_BOOTABLE=
  542.     IL_LO_X86_PART_EXT_PART_ID=0f
  543.     IL_LO_X86_PART_EXT_FSTYPE=
  544.     IL_LO_X86_PART_EXT_SIZE=
  545.     IL_LO_X86_PART_EXT_GROWTHCAP=
  546.     IL_LO_X86_PART_EXT_GROWTHWEIGHT=
  547.  
  548.     IL_LO_X86_PART_ROOT1_TARGET=DISK1
  549.     IL_LO_X86_PART_ROOT1_PART_NUM=5
  550.     IL_LO_X86_PART_ROOT1_DEV=${IL_LO_X86_TARGET_DISK1_DEV}${IL_LO_X86_PART_ROOT1_PART_NUM}
  551.     IL_LO_X86_PART_ROOT1_LABEL=ROOT_1
  552.     IL_LO_X86_PART_ROOT1_MOUNT=/
  553.     IL_LO_X86_PART_ROOT1_BOOTABLE=
  554.     IL_LO_X86_PART_ROOT1_PART_ID=83
  555.     IL_LO_X86_PART_ROOT1_FSTYPE=ext3
  556.     IL_LO_X86_PART_ROOT1_SIZE=2048
  557.     IL_LO_X86_PART_ROOT1_GROWTHCAP=
  558.     IL_LO_X86_PART_ROOT1_GROWTHWEIGHT=
  559.     IL_LO_X86_PART_ROOT1_OPTIONS="defaults,noatime,ro"
  560.  
  561.     IL_LO_X86_PART_ROOT2_TARGET=DISK1
  562.     IL_LO_X86_PART_ROOT2_PART_NUM=6
  563.     IL_LO_X86_PART_ROOT2_DEV=${IL_LO_X86_TARGET_DISK1_DEV}${IL_LO_X86_PART_ROOT2_PART_NUM}
  564.     IL_LO_X86_PART_ROOT2_LABEL=ROOT_2
  565.     IL_LO_X86_PART_ROOT2_MOUNT=/
  566.     IL_LO_X86_PART_ROOT2_BOOTABLE=
  567.     IL_LO_X86_PART_ROOT2_PART_ID=83
  568.     IL_LO_X86_PART_ROOT2_FSTYPE=ext3
  569.     IL_LO_X86_PART_ROOT2_SIZE=2048
  570.     IL_LO_X86_PART_ROOT2_GROWTHCAP=
  571.     IL_LO_X86_PART_ROOT2_GROWTHWEIGHT=
  572.     IL_LO_X86_PART_ROOT2_OPTIONS="defaults,noatime,ro"
  573.  
  574.     IL_LO_X86_PART_CONFIG_TARGET=DISK1
  575.     IL_LO_X86_PART_CONFIG_PART_NUM=7
  576.     IL_LO_X86_PART_CONFIG_DEV=${IL_LO_X86_TARGET_DISK1_DEV}${IL_LO_X86_PART_CONFIG_PART_NUM}
  577.     IL_LO_X86_PART_CONFIG_LABEL=CONFIG
  578.     IL_LO_X86_PART_CONFIG_MOUNT=/config
  579.     IL_LO_X86_PART_CONFIG_BOOTABLE=
  580.     IL_LO_X86_PART_CONFIG_PART_ID=83
  581.     IL_LO_X86_PART_CONFIG_FSTYPE=ext3
  582.     IL_LO_X86_PART_CONFIG_SIZE=192
  583.     IL_LO_X86_PART_CONFIG_GROWTHCAP=
  584.     IL_LO_X86_PART_CONFIG_GROWTHWEIGHT=
  585.     IL_LO_X86_PART_CONFIG_OPTIONS="defaults,noatime,data=journal"
  586.  
  587.     IL_LO_X86_PART_OUTPUT_TARGET=DISK1
  588.     IL_LO_X86_PART_OUTPUT_PART_NUM=8
  589.     IL_LO_X86_PART_OUTPUT_DEV=${IL_LO_X86_TARGET_DISK1_DEV}${IL_LO_X86_PART_OUTPUT_PART_NUM}
  590.     IL_LO_X86_PART_OUTPUT_LABEL=OUTPUT
  591.     IL_LO_X86_PART_OUTPUT_MOUNT=/output
  592.     IL_LO_X86_PART_OUTPUT_BOOTABLE=
  593.     IL_LO_X86_PART_OUTPUT_PART_ID=83
  594.     IL_LO_X86_PART_OUTPUT_FSTYPE=ext3
  595.     IL_LO_X86_PART_OUTPUT_SIZE=192
  596.     IL_LO_X86_PART_OUTPUT_GROWTHCAP=
  597.     IL_LO_X86_PART_OUTPUT_GROWTHWEIGHT=
  598.     IL_LO_X86_PART_OUTPUT_OPTIONS="defaults,noatime,data=journal"
  599.  
  600.     IL_LO_X86_PART_VAR_TARGET=DISK1
  601.     IL_LO_X86_PART_VAR_PART_NUM=9
  602.     IL_LO_X86_PART_VAR_DEV=${IL_LO_X86_TARGET_DISK1_DEV}${IL_LO_X86_PART_VAR_PART_NUM}
  603.     IL_LO_X86_PART_VAR_LABEL=VAR
  604.     IL_LO_X86_PART_VAR_MOUNT=/var
  605.     IL_LO_X86_PART_VAR_BOOTABLE=
  606.     IL_LO_X86_PART_VAR_PART_ID=83
  607.     IL_LO_X86_PART_VAR_FSTYPE=ext3
  608.     IL_LO_X86_PART_VAR_SIZE=10500
  609.     IL_LO_X86_PART_VAR_GROWTHCAP=
  610.     IL_LO_X86_PART_VAR_GROWTHWEIGHT=        
  611.    
  612. # ==================================================
  613. #
  614. # x86 partitions layout on 32GB disk
  615. #
  616. # ==================================================  
  617.     IL_LO_X86_32GB_TMPFS_SIZE_MB=2048
  618.  
  619.     IL_LO_X86_32GB_LOCS="BOOTMGR_1 BOOT_1 BOOT_2 ROOT_1 ROOT_2 CONFIG_1 OUTPUT_1 VAR_1"
  620.  
  621.     IL_LO_X86_32GB_TARGET_NUM_TARGETS=1
  622.     IL_LO_X86_32GB_TARGETS="DISK1"
  623.     IL_LO_X86_32GB_TARGET_DISK1_NUM=1
  624.  
  625.     IL_LO_X86_32GB_ROOT_RDONLY=1
  626.  
  627.     IL_LO_X86_32GB_INITRD_PATH=
  628.  
  629.     IL_LO_X86_32GB_ROOT_MOUNT_BY_LABEL=0
  630.  
  631.     IL_LO_X86_32GB_TARGET_DISK1_MINSIZE=8192
  632.     IL_LO_X86_32GB_TARGET_DISK1_LABELTYPE=
  633.  
  634.     IL_LO_X86_32GB_PARTS="BOOTMGR BOOT1 BOOT2 EXT ROOT1 ROOT2 CONFIG OUTPUT VAR"
  635.  
  636.     IL_LO_X86_32GB_IMAGE_1_INSTALL_LOCS="BOOT_1 ROOT_1"
  637.     IL_LO_X86_32GB_IMAGE_2_INSTALL_LOCS="BOOT_2 ROOT_2"
  638.     IL_LO_X86_32GB_IMAGE_1_LOCS="ROOT_1 BOOT_1 BOOTMGR_1 CONFIG_1 OUTPUT_1 VAR_1"
  639.     IL_LO_X86_32GB_IMAGE_2_LOCS="ROOT_2 BOOT_2 BOOTMGR_1 CONFIG_1 OUTPUT_1 VAR_1"
  640.  
  641.     IL_LO_X86_32GB_OPT_LAST_PART_FILL=1
  642.  
  643.     IL_LO_X86_32GB_LOC_BOOTMGR_1_PART=BOOTMGR
  644.     IL_LO_X86_32GB_LOC_BOOTMGR_1_DIR=/
  645.     IL_LO_X86_32GB_LOC_BOOTMGR_1_IMAGE_EXTRACT="./bootmgr"
  646.     IL_LO_X86_32GB_LOC_BOOTMGR_1_IMAGE_EXTRACT_PREFIX="/bootmgr"
  647.  
  648.     IL_LO_X86_32GB_LOC_BOOT_1_PART=BOOT1
  649.     IL_LO_X86_32GB_LOC_BOOT_1_DIR=/
  650.     IL_LO_X86_32GB_LOC_BOOT_1_IMAGE_EXTRACT="./boot"
  651.     IL_LO_X86_32GB_LOC_BOOT_1_IMAGE_EXTRACT_PREFIX="/boot"
  652.  
  653.     IL_LO_X86_32GB_LOC_BOOT_2_PART=BOOT2
  654.     IL_LO_X86_32GB_LOC_BOOT_2_DIR=/
  655.     IL_LO_X86_32GB_LOC_BOOT_2_IMAGE_EXTRACT="./boot"
  656.     IL_LO_X86_32GB_LOC_BOOT_2_IMAGE_EXTRACT_PREFIX="/boot"
  657.  
  658.     IL_LO_X86_32GB_LOC_ROOT_1_PART=ROOT1
  659.     IL_LO_X86_32GB_LOC_ROOT_1_DIR=/
  660.     IL_LO_X86_32GB_LOC_ROOT_1_IMAGE_EXTRACT="./"
  661.     IL_LO_X86_32GB_LOC_ROOT_1_IMAGE_EXTRACT_EXCLUDE="./bootmgr ./boot ./config ./var"
  662.     IL_LO_X86_32GB_LOC_ROOT_1_IMAGE_EXTRACT_PREFIX=""
  663.  
  664.     IL_LO_X86_32GB_LOC_ROOT_2_PART=ROOT2
  665.     IL_LO_X86_32GB_LOC_ROOT_2_DIR=/
  666.     IL_LO_X86_32GB_LOC_ROOT_2_IMAGE_EXTRACT="./"
  667.     IL_LO_X86_32GB_LOC_ROOT_2_IMAGE_EXTRACT_EXCLUDE="./bootmgr ./boot ./config ./var"
  668.     IL_LO_X86_32GB_LOC_ROOT_2_IMAGE_EXTRACT_PREFIX=""
  669.  
  670.     IL_LO_X86_32GB_LOC_CONFIG_1_PART=CONFIG
  671.     IL_LO_X86_32GB_LOC_CONFIG_1_DIR=/
  672.     IL_LO_X86_32GB_LOC_CONFIG_1_IMAGE_EXTRACT="./config"
  673.     IL_LO_X86_32GB_LOC_CONFIG_1_IMAGE_EXTRACT_PREFIX="/config"
  674.     IL_LO_X86_32GB_LOC_OUTPUT_1_PART=OUTPUT
  675.     IL_LO_X86_32GB_LOC_OUTPUT_1_DIR=/
  676.     IL_LO_X86_32GB_LOC_OUTPUT_1_IMAGE_EXTRACT="./output"
  677.     IL_LO_X86_32GB_LOC_OUTPUT_1_IMAGE_EXTRACT_PREFIX="/output"
  678.  
  679.     IL_LO_X86_32GB_LOC_VAR_1_PART=VAR
  680.     IL_LO_X86_32GB_LOC_VAR_1_DIR=/
  681.     IL_LO_X86_32GB_LOC_VAR_1_IMAGE_EXTRACT="./var"
  682.     IL_LO_X86_32GB_LOC_VAR_1_IMAGE_EXTRACT_PREFIX="/var"
  683.      
  684.  
  685.     IL_LO_X86_32GB_PART_BOOTMGR_TARGET=DISK1
  686.     IL_LO_X86_32GB_PART_BOOTMGR_PART_NUM=1
  687.     IL_LO_X86_32GB_PART_BOOTMGR_DEV=${IL_LO_X86_32GB_TARGET_DISK1_DEV}${IL_LO_X86_32GB_PART_BOOTMGR_PART_NUM}
  688.     IL_LO_X86_32GB_PART_BOOTMGR_LABEL=BOOTMGR
  689.     IL_LO_X86_32GB_PART_BOOTMGR_MOUNT=/bootmgr
  690.     IL_LO_X86_32GB_PART_BOOTMGR_BOOTABLE=1
  691.     IL_LO_X86_32GB_PART_BOOTMGR_PART_ID=83
  692.     IL_LO_X86_32GB_PART_BOOTMGR_FSTYPE=ext3
  693.     IL_LO_X86_32GB_PART_BOOTMGR_SIZE=192
  694.     IL_LO_X86_32GB_PART_BOOTMGR_GROWTHCAP=
  695.     IL_LO_X86_32GB_PART_BOOTMGR_GROWTHWEIGHT=
  696.     IL_LO_X86_32GB_PART_BOOTMGR_OPTIONS="defaults,noatime,ro"
  697.  
  698.     IL_LO_X86_32GB_PART_BOOT1_TARGET=DISK1
  699.     IL_LO_X86_32GB_PART_BOOT1_PART_NUM=2
  700.     IL_LO_X86_32GB_PART_BOOT1_DEV=${IL_LO_X86_32GB_TARGET_DISK1_DEV}${IL_LO_X86_32GB_PART_BOOT1_PART_NUM}
  701.     IL_LO_X86_32GB_PART_BOOT1_LABEL=BOOT_1
  702.     IL_LO_X86_32GB_PART_BOOT1_MOUNT=/boot
  703.     IL_LO_X86_32GB_PART_BOOT1_BOOTABLE=
  704.     IL_LO_X86_32GB_PART_BOOT1_PART_ID=83
  705.     IL_LO_X86_32GB_PART_BOOT1_FSTYPE=ext3
  706.     IL_LO_X86_32GB_PART_BOOT1_SIZE=192
  707.     IL_LO_X86_32GB_PART_BOOT1_GROWTHCAP=
  708.     IL_LO_X86_32GB_PART_BOOT1_GROWTHWEIGHT=
  709.     IL_LO_X86_32GB_PART_BOOT1_OPTIONS="defaults,noatime,ro"
  710.  
  711.     IL_LO_X86_32GB_PART_BOOT2_TARGET=DISK1
  712.     IL_LO_X86_32GB_PART_BOOT2_PART_NUM=3
  713.     IL_LO_X86_32GB_PART_BOOT2_DEV=${IL_LO_X86_32GB_TARGET_DISK1_DEV}${IL_LO_X86_32GB_PART_BOOT2_PART_NUM}
  714.     IL_LO_X86_32GB_PART_BOOT2_LABEL=BOOT_2
  715.     IL_LO_X86_32GB_PART_BOOT2_MOUNT=/boot
  716.     IL_LO_X86_32GB_PART_BOOT2_BOOTABLE=
  717.     IL_LO_X86_32GB_PART_BOOT2_PART_ID=83
  718.     IL_LO_X86_32GB_PART_BOOT2_FSTYPE=ext3
  719.     IL_LO_X86_32GB_PART_BOOT2_SIZE=192
  720.     IL_LO_X86_32GB_PART_BOOT2_GROWTHCAP=
  721.     IL_LO_X86_32GB_PART_BOOT2_GROWTHWEIGHT=
  722.     IL_LO_X86_32GB_PART_BOOT2_OPTIONS="defaults,noatime,ro"
  723.  
  724.     # Last extended 4th parition accumulating all other logical partitions
  725.     IL_LO_X86_32GB_PART_EXT_TARGET=DISK1
  726.     IL_LO_X86_32GB_PART_EXT_PART_NUM=4
  727.     IL_LO_X86_32GB_PART_EXT_DEV=${IL_LO_X86_32GB_TARGET_DISK1_DEV}${IL_LO_X86_32GB_PART_EXT_PART_NUM}
  728.     IL_LO_X86_32GB_PART_EXT_LABEL=
  729.     IL_LO_X86_32GB_PART_EXT_MOUNT=
  730.     IL_LO_X86_32GB_PART_EXT_BOOTABLE=
  731.     IL_LO_X86_32GB_PART_EXT_PART_ID=0f
  732.     IL_LO_X86_32GB_PART_EXT_FSTYPE=
  733.     IL_LO_X86_32GB_PART_EXT_SIZE=
  734.     IL_LO_X86_32GB_PART_EXT_GROWTHCAP=
  735.     IL_LO_X86_32GB_PART_EXT_GROWTHWEIGHT=
  736.  
  737.     IL_LO_X86_32GB_PART_ROOT1_TARGET=DISK1
  738.     IL_LO_X86_32GB_PART_ROOT1_PART_NUM=5
  739.     IL_LO_X86_32GB_PART_ROOT1_DEV=${IL_LO_X86_32GB_TARGET_DISK1_DEV}${IL_LO_X86_32GB_PART_ROOT1_PART_NUM}
  740.     IL_LO_X86_32GB_PART_ROOT1_LABEL=ROOT_1
  741.     IL_LO_X86_32GB_PART_ROOT1_MOUNT=/
  742.     IL_LO_X86_32GB_PART_ROOT1_BOOTABLE=
  743.     IL_LO_X86_32GB_PART_ROOT1_PART_ID=83
  744.     IL_LO_X86_32GB_PART_ROOT1_FSTYPE=ext3
  745.     IL_LO_X86_32GB_PART_ROOT1_SIZE=3072
  746.     IL_LO_X86_32GB_PART_ROOT1_GROWTHCAP=
  747.     IL_LO_X86_32GB_PART_ROOT1_GROWTHWEIGHT=
  748.     IL_LO_X86_32GB_PART_ROOT1_OPTIONS="defaults,noatime,ro"
  749.  
  750.     IL_LO_X86_32GB_PART_ROOT2_TARGET=DISK1
  751.     IL_LO_X86_32GB_PART_ROOT2_PART_NUM=6
  752.     IL_LO_X86_32GB_PART_ROOT2_DEV=${IL_LO_X86_32GB_TARGET_DISK1_DEV}${IL_LO_X86_32GB_PART_ROOT2_PART_NUM}
  753.     IL_LO_X86_32GB_PART_ROOT2_LABEL=ROOT_2
  754.     IL_LO_X86_32GB_PART_ROOT2_MOUNT=/
  755.     IL_LO_X86_32GB_PART_ROOT2_BOOTABLE=
  756.     IL_LO_X86_32GB_PART_ROOT2_PART_ID=83
  757.     IL_LO_X86_32GB_PART_ROOT2_FSTYPE=ext3
  758.     IL_LO_X86_32GB_PART_ROOT2_SIZE=3072
  759.     IL_LO_X86_32GB_PART_ROOT2_GROWTHCAP=
  760.     IL_LO_X86_32GB_PART_ROOT2_GROWTHWEIGHT=
  761.     IL_LO_X86_32GB_PART_ROOT2_OPTIONS="defaults,noatime,ro"
  762.  
  763.     IL_LO_X86_32GB_PART_CONFIG_TARGET=DISK1
  764.     IL_LO_X86_32GB_PART_CONFIG_PART_NUM=7
  765.     IL_LO_X86_32GB_PART_CONFIG_DEV=${IL_LO_X86_32GB_TARGET_DISK1_DEV}${IL_LO_X86_32GB_PART_CONFIG_PART_NUM}
  766.     IL_LO_X86_32GB_PART_CONFIG_LABEL=CONFIG
  767.     IL_LO_X86_32GB_PART_CONFIG_MOUNT=/config
  768.     IL_LO_X86_32GB_PART_CONFIG_BOOTABLE=
  769.     IL_LO_X86_32GB_PART_CONFIG_PART_ID=83
  770.     IL_LO_X86_32GB_PART_CONFIG_FSTYPE=ext3
  771.     IL_LO_X86_32GB_PART_CONFIG_SIZE=192
  772.     IL_LO_X86_32GB_PART_CONFIG_GROWTHCAP=
  773.     IL_LO_X86_32GB_PART_CONFIG_GROWTHWEIGHT=
  774.     IL_LO_X86_32GB_PART_CONFIG_OPTIONS="defaults,noatime,data=journal"
  775.  
  776.     IL_LO_X86_32GB_PART_OUTPUT_TARGET=DISK1
  777.     IL_LO_X86_32GB_PART_OUTPUT_PART_NUM=8
  778.     IL_LO_X86_32GB_PART_OUTPUT_DEV=${IL_LO_X86_32GB_TARGET_DISK1_DEV}${IL_LO_X86_32GB_PART_OUTPUT_PART_NUM}
  779.     IL_LO_X86_32GB_PART_OUTPUT_LABEL=OUTPUT
  780.     IL_LO_X86_32GB_PART_OUTPUT_MOUNT=/output
  781.     IL_LO_X86_32GB_PART_OUTPUT_BOOTABLE=
  782.     IL_LO_X86_32GB_PART_OUTPUT_PART_ID=83
  783.     IL_LO_X86_32GB_PART_OUTPUT_FSTYPE=ext3
  784.     IL_LO_X86_32GB_PART_OUTPUT_SIZE=192
  785.     IL_LO_X86_32GB_PART_OUTPUT_GROWTHCAP=
  786.     IL_LO_X86_32GB_PART_OUTPUT_GROWTHWEIGHT=
  787.     IL_LO_X86_32GB_PART_OUTPUT_OPTIONS="defaults,noatime,data=journal"
  788.  
  789.     IL_LO_X86_32GB_PART_VAR_TARGET=DISK1
  790.     IL_LO_X86_32GB_PART_VAR_PART_NUM=9
  791.     IL_LO_X86_32GB_PART_VAR_DEV=${IL_LO_X86_32GB_TARGET_DISK1_DEV}${IL_LO_X86_32GB_PART_VAR_PART_NUM}
  792.     IL_LO_X86_32GB_PART_VAR_LABEL=VAR
  793.     IL_LO_X86_32GB_PART_VAR_MOUNT=/var
  794.     IL_LO_X86_32GB_PART_VAR_BOOTABLE=
  795.     IL_LO_X86_32GB_PART_VAR_PART_ID=83
  796.     IL_LO_X86_32GB_PART_VAR_FSTYPE=ext3
  797.     IL_LO_X86_32GB_PART_VAR_SIZE=23000
  798.     IL_LO_X86_32GB_PART_VAR_GROWTHCAP=
  799.     IL_LO_X86_32GB_PART_VAR_GROWTHWEIGHT=
  800.  
  801. # ==================================================
  802. #
  803. # MLNX OS over ONIE new layout, gpt used.
  804. #
  805. # ==================================================
  806.  
  807.     # X86 specific TMPFS_SIZE_MB
  808.     IL_LO_X86ONIE_TMPFS_SIZE_MB=2048
  809.     # These are the standard location names.  They should not be changed
  810.     IL_LO_X86ONIE_LOCS="BOOTMGR_1 BOOT_1 BOOT_2 ROOT_1 ROOT_2 CONFIG_1 OUTPUT_1 VAR_1"
  811.  
  812.     # The default is the GRUB, but we want to use grub2 on MLNX OS over ONIE PNs
  813.     IL_LO_X86ONIE_BOOTMGR=grub2
  814.  
  815.     # Targets are things like a disk or a flash device
  816.     IL_LO_X86ONIE_TARGET_NUM_TARGETS=1
  817.     IL_LO_X86ONIE_TARGETS="DISK1"
  818.     IL_LO_X86ONIE_TARGET_DISK1_NUM=1
  819.  
  820.     # Configuration option to indicate that the root locations
  821.     # should be read-only. It is still necessary to indicate
  822.     # 'ro' in the partition option line for root.
  823.     IL_LO_X86ONIE_ROOT_RDONLY=1
  824.  
  825.     # Set this to use an initrd (initial ramdisk) at kernel boot time.  This
  826.     # is relative to the layout's LOC_BOOT_*_DIR , so you probably do not
  827.     # want a leading / in this name.
  828.     #
  829.     # Note, if you are using VPARTs (with a ..._ISROOTFS=1), do not set this
  830.     # option, as it may conflict.
  831.     IL_LO_X86ONIE_INITRD_PATH=
  832.  
  833.     # If we want the root device mounted by label instead of device name.
  834.     # Note that all partitions are mounted by label once the system has
  835.     # booted.  This setting is only about what the kernel does on startup.
  836.     #
  837.     # NOTE: This only makes sense if you have an initrd, as the kernel
  838.     # cannot do the label lookup for things like 'LABEL=ROOT_1' .
  839.     # initrd's are not currently produced by the build process.
  840.     IL_LO_X86ONIE_ROOT_MOUNT_BY_LABEL=0
  841.  
  842.     IL_LO_X86ONIE_TARGET_DISK1_MINSIZE=8192
  843.     IL_LO_X86ONIE_TARGET_DISK1_LABELTYPE=gpt
  844.  
  845.     # What partitions get made on the targets
  846.     IL_LO_X86ONIE_PARTS="BOOTMGR BOOT1 BOOT2 ROOT1 ROOT2 CONFIG OUTPUT VAR"
  847.  
  848.     IL_LO_X86ONIE_IMAGE_1_INSTALL_LOCS="BOOT_1 ROOT_1"
  849.     IL_LO_X86ONIE_IMAGE_2_INSTALL_LOCS="BOOT_2 ROOT_2"
  850.     IL_LO_X86ONIE_IMAGE_1_LOCS="ROOT_1 BOOT_1 BOOTMGR_1 CONFIG_1 OUTPUT_1 VAR_1"
  851.     IL_LO_X86ONIE_IMAGE_2_LOCS="ROOT_2 BOOT_2 BOOTMGR_1 CONFIG_1 OUTPUT_1 VAR_1"
  852.  
  853.     IL_LO_X86ONIE_OPT_LAST_PART_FILL=1
  854.  
  855.     IL_LO_X86ONIE_LOC_BOOTMGR_1_PART=BOOTMGR
  856.     IL_LO_X86ONIE_LOC_BOOTMGR_1_DIR=/
  857.     IL_LO_X86ONIE_LOC_BOOTMGR_1_IMAGE_EXTRACT="./bootmgr"
  858.     IL_LO_X86ONIE_LOC_BOOTMGR_1_IMAGE_EXTRACT_PREFIX="/bootmgr"
  859.  
  860.     IL_LO_X86ONIE_LOC_BOOT_1_PART=BOOT1
  861.     IL_LO_X86ONIE_LOC_BOOT_1_DIR=/
  862.     IL_LO_X86ONIE_LOC_BOOT_1_IMAGE_EXTRACT="./boot"
  863.     IL_LO_X86ONIE_LOC_BOOT_1_IMAGE_EXTRACT_PREFIX="/boot"
  864.  
  865.     IL_LO_X86ONIE_LOC_BOOT_2_PART=BOOT2
  866.     IL_LO_X86ONIE_LOC_BOOT_2_DIR=/
  867.     IL_LO_X86ONIE_LOC_BOOT_2_IMAGE_EXTRACT="./boot"
  868.     IL_LO_X86ONIE_LOC_BOOT_2_IMAGE_EXTRACT_PREFIX="/boot"
  869.  
  870.     IL_LO_X86ONIE_LOC_ROOT_1_PART=ROOT1
  871.     IL_LO_X86ONIE_LOC_ROOT_1_DIR=/
  872.     IL_LO_X86ONIE_LOC_ROOT_1_IMAGE_EXTRACT="./"
  873.     IL_LO_X86ONIE_LOC_ROOT_1_IMAGE_EXTRACT_EXCLUDE="./bootmgr ./boot ./config ./var"
  874.     IL_LO_X86ONIE_LOC_ROOT_1_IMAGE_EXTRACT_PREFIX=""
  875.  
  876.     IL_LO_X86ONIE_LOC_ROOT_2_PART=ROOT2
  877.     IL_LO_X86ONIE_LOC_ROOT_2_DIR=/
  878.     IL_LO_X86ONIE_LOC_ROOT_2_IMAGE_EXTRACT="./"
  879.     IL_LO_X86ONIE_LOC_ROOT_2_IMAGE_EXTRACT_EXCLUDE="./bootmgr ./boot ./config ./var"
  880.     IL_LO_X86ONIE_LOC_ROOT_2_IMAGE_EXTRACT_PREFIX=""
  881.  
  882.     IL_LO_X86ONIE_LOC_CONFIG_1_PART=CONFIG
  883.     IL_LO_X86ONIE_LOC_CONFIG_1_DIR=/
  884.     IL_LO_X86ONIE_LOC_CONFIG_1_IMAGE_EXTRACT="./config"
  885.     IL_LO_X86ONIE_LOC_CONFIG_1_IMAGE_EXTRACT_PREFIX="/config"
  886.     IL_LO_X86ONIE_LOC_OUTPUT_1_PART=OUTPUT
  887.     IL_LO_X86ONIE_LOC_OUTPUT_1_DIR=/
  888.     IL_LO_X86ONIE_LOC_OUTPUT_1_IMAGE_EXTRACT="./output"
  889.     IL_LO_X86ONIE_LOC_OUTPUT_1_IMAGE_EXTRACT_PREFIX="/output"
  890.  
  891.     IL_LO_X86ONIE_LOC_VAR_1_PART=VAR
  892.     IL_LO_X86ONIE_LOC_VAR_1_DIR=/
  893.     IL_LO_X86ONIE_LOC_VAR_1_IMAGE_EXTRACT="./var"
  894.     IL_LO_X86ONIE_LOC_VAR_1_IMAGE_EXTRACT_PREFIX="/var"
  895.  
  896.  
  897.     # Each of these says how a partition is named, labled, and sized.
  898.  
  899.     IL_LO_X86ONIE_PART_BOOTMGR_TARGET=DISK1
  900.     IL_LO_X86ONIE_PART_BOOTMGR_PART_NUM=3
  901.     IL_LO_X86ONIE_PART_BOOTMGR_DEV=${IL_LO_X86ONIE_TARGET_DISK1_DEV}${IL_LO_X86ONIE_PART_BOOTMGR_PART_NUM}
  902.     IL_LO_X86ONIE_PART_BOOTMGR_LABEL=BOOTMGR
  903.     IL_LO_X86ONIE_PART_BOOTMGR_MOUNT=/bootmgr
  904.     IL_LO_X86ONIE_PART_BOOTMGR_BOOTABLE=1
  905.     IL_LO_X86ONIE_PART_BOOTMGR_PART_ID=83
  906.     IL_LO_X86ONIE_PART_BOOTMGR_FSTYPE=ext3
  907.     IL_LO_X86ONIE_PART_BOOTMGR_SIZE=128
  908.     IL_LO_X86ONIE_PART_BOOTMGR_GROWTHCAP=
  909.     IL_LO_X86ONIE_PART_BOOTMGR_GROWTHWEIGHT=
  910.     IL_LO_X86ONIE_PART_BOOTMGR_OPTIONS="defaults,noatime,ro"
  911.  
  912.     IL_LO_X86ONIE_PART_BOOT1_TARGET=DISK1
  913.     IL_LO_X86ONIE_PART_BOOT1_PART_NUM=4
  914.     IL_LO_X86ONIE_PART_BOOT1_DEV=${IL_LO_X86ONIE_TARGET_DISK1_DEV}${IL_LO_X86ONIE_PART_BOOT1_PART_NUM}
  915.     IL_LO_X86ONIE_PART_BOOT1_LABEL=BOOT_1
  916.     IL_LO_X86ONIE_PART_BOOT1_MOUNT=/boot
  917.     IL_LO_X86ONIE_PART_BOOT1_BOOTABLE=
  918.     IL_LO_X86ONIE_PART_BOOT1_PART_ID=83
  919.     IL_LO_X86ONIE_PART_BOOT1_FSTYPE=ext3
  920.     IL_LO_X86ONIE_PART_BOOT1_SIZE=128
  921.     IL_LO_X86ONIE_PART_BOOT1_GROWTHCAP=
  922.     IL_LO_X86ONIE_PART_BOOT1_GROWTHWEIGHT=
  923.     IL_LO_X86ONIE_PART_BOOT1_OPTIONS="defaults,noatime,ro"
  924.  
  925.     IL_LO_X86ONIE_PART_BOOT2_TARGET=DISK1
  926.     IL_LO_X86ONIE_PART_BOOT2_PART_NUM=5
  927.     IL_LO_X86ONIE_PART_BOOT2_DEV=${IL_LO_X86ONIE_TARGET_DISK1_DEV}${IL_LO_X86ONIE_PART_BOOT2_PART_NUM}
  928.     IL_LO_X86ONIE_PART_BOOT2_LABEL=BOOT_2
  929.     IL_LO_X86ONIE_PART_BOOT2_MOUNT=/boot
  930.     IL_LO_X86ONIE_PART_BOOT2_BOOTABLE=
  931.     IL_LO_X86ONIE_PART_BOOT2_PART_ID=83
  932.     IL_LO_X86ONIE_PART_BOOT2_FSTYPE=ext3
  933.     IL_LO_X86ONIE_PART_BOOT2_SIZE=128
  934.     IL_LO_X86ONIE_PART_BOOT2_GROWTHCAP=
  935.     IL_LO_X86ONIE_PART_BOOT2_GROWTHWEIGHT=
  936.     IL_LO_X86ONIE_PART_BOOT2_OPTIONS="defaults,noatime,ro"
  937.  
  938.  
  939.     IL_LO_X86ONIE_PART_ROOT1_TARGET=DISK1
  940.     IL_LO_X86ONIE_PART_ROOT1_PART_NUM=6
  941.     IL_LO_X86ONIE_PART_ROOT1_DEV=${IL_LO_X86ONIE_TARGET_DISK1_DEV}${IL_LO_X86ONIE_PART_ROOT1_PART_NUM}
  942.     IL_LO_X86ONIE_PART_ROOT1_LABEL=ROOT_1
  943.     IL_LO_X86ONIE_PART_ROOT1_MOUNT=/
  944.     IL_LO_X86ONIE_PART_ROOT1_BOOTABLE=
  945.     IL_LO_X86ONIE_PART_ROOT1_PART_ID=83
  946.     IL_LO_X86ONIE_PART_ROOT1_FSTYPE=ext3
  947.     IL_LO_X86ONIE_PART_ROOT1_SIZE=2048
  948.     IL_LO_X86ONIE_PART_ROOT1_GROWTHCAP=
  949.     IL_LO_X86ONIE_PART_ROOT1_GROWTHWEIGHT=
  950.     IL_LO_X86ONIE_PART_ROOT1_OPTIONS="defaults,noatime,ro"
  951.  
  952.     IL_LO_X86ONIE_PART_ROOT2_TARGET=DISK1
  953.     IL_LO_X86ONIE_PART_ROOT2_PART_NUM=7
  954.     IL_LO_X86ONIE_PART_ROOT2_DEV=${IL_LO_X86ONIE_TARGET_DISK1_DEV}${IL_LO_X86ONIE_PART_ROOT2_PART_NUM}
  955.     IL_LO_X86ONIE_PART_ROOT2_LABEL=ROOT_2
  956.     IL_LO_X86ONIE_PART_ROOT2_MOUNT=/
  957.     IL_LO_X86ONIE_PART_ROOT2_BOOTABLE=
  958.     IL_LO_X86ONIE_PART_ROOT2_PART_ID=83
  959.     IL_LO_X86ONIE_PART_ROOT2_FSTYPE=ext3
  960.     IL_LO_X86ONIE_PART_ROOT2_SIZE=2048
  961.     IL_LO_X86ONIE_PART_ROOT2_GROWTHCAP=
  962.     IL_LO_X86ONIE_PART_ROOT2_GROWTHWEIGHT=
  963.     IL_LO_X86ONIE_PART_ROOT2_OPTIONS="defaults,noatime,ro"
  964.  
  965.     IL_LO_X86ONIE_PART_CONFIG_TARGET=DISK1
  966.     IL_LO_X86ONIE_PART_CONFIG_PART_NUM=8
  967.     IL_LO_X86ONIE_PART_CONFIG_DEV=${IL_LO_X86ONIE_TARGET_DISK1_DEV}${IL_LO_X86ONIE_PART_CONFIG_PART_NUM}
  968.     IL_LO_X86ONIE_PART_CONFIG_LABEL=CONFIG
  969.     IL_LO_X86ONIE_PART_CONFIG_MOUNT=/config
  970.     IL_LO_X86ONIE_PART_CONFIG_BOOTABLE=
  971.     IL_LO_X86ONIE_PART_CONFIG_PART_ID=83
  972.     IL_LO_X86ONIE_PART_CONFIG_FSTYPE=ext3
  973.     IL_LO_X86ONIE_PART_CONFIG_SIZE=192
  974.     IL_LO_X86ONIE_PART_CONFIG_GROWTHCAP=
  975.     IL_LO_X86ONIE_PART_CONFIG_GROWTHWEIGHT=
  976.     IL_LO_X86ONIE_PART_CONFIG_OPTIONS="defaults,noatime,data=journal"
  977.  
  978.     IL_LO_X86ONIE_PART_OUTPUT_TARGET=DISK1
  979.     IL_LO_X86ONIE_PART_OUTPUT_PART_NUM=9
  980.     IL_LO_X86ONIE_PART_OUTPUT_DEV=${IL_LO_X86ONIE_TARGET_DISK1_DEV}${IL_LO_X86ONIE_PART_OUTPUT_PART_NUM}
  981.     IL_LO_X86ONIE_PART_OUTPUT_LABEL=OUTPUT
  982.     IL_LO_X86ONIE_PART_OUTPUT_MOUNT=/output
  983.     IL_LO_X86ONIE_PART_OUTPUT_BOOTABLE=
  984.     IL_LO_X86ONIE_PART_OUTPUT_PART_ID=83
  985.     IL_LO_X86ONIE_PART_OUTPUT_FSTYPE=ext3
  986.     IL_LO_X86ONIE_PART_OUTPUT_SIZE=192
  987.     IL_LO_X86ONIE_PART_OUTPUT_GROWTHCAP=
  988.     IL_LO_X86ONIE_PART_OUTPUT_GROWTHWEIGHT=
  989.     IL_LO_X86ONIE_PART_OUTPUT_OPTIONS="defaults,noatime,data=journal"
  990.  
  991.     IL_LO_X86ONIE_PART_VAR_TARGET=DISK1
  992.     IL_LO_X86ONIE_PART_VAR_PART_NUM=10
  993.     IL_LO_X86ONIE_PART_VAR_DEV=${IL_LO_X86ONIE_TARGET_DISK1_DEV}${IL_LO_X86ONIE_PART_VAR_PART_NUM}
  994.     IL_LO_X86ONIE_PART_VAR_LABEL=VAR
  995.     IL_LO_X86ONIE_PART_VAR_MOUNT=/var
  996.     IL_LO_X86ONIE_PART_VAR_BOOTABLE=
  997.     IL_LO_X86ONIE_PART_VAR_PART_ID=83
  998.     IL_LO_X86ONIE_PART_VAR_FSTYPE=ext3
  999.     IL_LO_X86ONIE_PART_VAR_SIZE=10500
  1000.     IL_LO_X86ONIE_PART_VAR_GROWTHCAP=
  1001.     IL_LO_X86ONIE_PART_VAR_GROWTHWEIGHT=
  1002.  
  1003. # ==================================================
  1004. #
  1005. # MLNX OS over ONIE 32GB new layout, gpt used.
  1006. #
  1007. # ==================================================    
  1008.  
  1009.     IL_LO_X86ONIE_32GB_TMPFS_SIZE_MB=2048
  1010.  
  1011.     IL_LO_X86ONIE_32GB_LOCS="BOOTMGR_1 BOOT_1 BOOT_2 ROOT_1 ROOT_2 CONFIG_1 OUTPUT_1 VAR_1"
  1012.  
  1013.     IL_LO_X86ONIE_32GB_BOOTMGR=grub2
  1014.  
  1015.     IL_LO_X86ONIE_32GB_TARGET_NUM_TARGETS=1
  1016.     IL_LO_X86ONIE_32GB_TARGETS="DISK1"
  1017.     IL_LO_X86ONIE_32GB_TARGET_DISK1_NUM=1
  1018.  
  1019.     IL_LO_X86ONIE_32GB_ROOT_RDONLY=1
  1020.  
  1021.     IL_LO_X86ONIE_32GB_INITRD_PATH=
  1022.  
  1023.     IL_LO_X86ONIE_32GB_ROOT_MOUNT_BY_LABEL=0
  1024.  
  1025.     IL_LO_X86ONIE_32GB_TARGET_DISK1_MINSIZE=8192
  1026.     IL_LO_X86ONIE_32GB_TARGET_DISK1_LABELTYPE=gpt
  1027.  
  1028.     IL_LO_X86ONIE_32GB_PARTS="BOOTMGR BOOT1 BOOT2 ROOT1 ROOT2 CONFIG OUTPUT VAR"
  1029.  
  1030.     IL_LO_X86ONIE_32GB_IMAGE_1_INSTALL_LOCS="BOOT_1 ROOT_1"
  1031.     IL_LO_X86ONIE_32GB_IMAGE_2_INSTALL_LOCS="BOOT_2 ROOT_2"
  1032.     IL_LO_X86ONIE_32GB_IMAGE_1_LOCS="ROOT_1 BOOT_1 BOOTMGR_1 CONFIG_1 OUTPUT_1 VAR_1"
  1033.     IL_LO_X86ONIE_32GB_IMAGE_2_LOCS="ROOT_2 BOOT_2 BOOTMGR_1 CONFIG_1 OUTPUT_1 VAR_1"
  1034.  
  1035.     IL_LO_X86ONIE_32GB_OPT_LAST_PART_FILL=1
  1036.  
  1037.     IL_LO_X86ONIE_32GB_LOC_BOOTMGR_1_PART=BOOTMGR
  1038.     IL_LO_X86ONIE_32GB_LOC_BOOTMGR_1_DIR=/
  1039.     IL_LO_X86ONIE_32GB_LOC_BOOTMGR_1_IMAGE_EXTRACT="./bootmgr"
  1040.     IL_LO_X86ONIE_32GB_LOC_BOOTMGR_1_IMAGE_EXTRACT_PREFIX="/bootmgr"
  1041.  
  1042.     IL_LO_X86ONIE_32GB_LOC_BOOT_1_PART=BOOT1
  1043.     IL_LO_X86ONIE_32GB_LOC_BOOT_1_DIR=/
  1044.     IL_LO_X86ONIE_32GB_LOC_BOOT_1_IMAGE_EXTRACT="./boot"
  1045.     IL_LO_X86ONIE_32GB_LOC_BOOT_1_IMAGE_EXTRACT_PREFIX="/boot"
  1046.  
  1047.     IL_LO_X86ONIE_32GB_LOC_BOOT_2_PART=BOOT2
  1048.     IL_LO_X86ONIE_32GB_LOC_BOOT_2_DIR=/
  1049.     IL_LO_X86ONIE_32GB_LOC_BOOT_2_IMAGE_EXTRACT="./boot"
  1050.     IL_LO_X86ONIE_32GB_LOC_BOOT_2_IMAGE_EXTRACT_PREFIX="/boot"
  1051.  
  1052.     IL_LO_X86ONIE_32GB_LOC_ROOT_1_PART=ROOT1
  1053.     IL_LO_X86ONIE_32GB_LOC_ROOT_1_DIR=/
  1054.     IL_LO_X86ONIE_32GB_LOC_ROOT_1_IMAGE_EXTRACT="./"
  1055.     IL_LO_X86ONIE_32GB_LOC_ROOT_1_IMAGE_EXTRACT_EXCLUDE="./bootmgr ./boot ./config ./var"
  1056.     IL_LO_X86ONIE_32GB_LOC_ROOT_1_IMAGE_EXTRACT_PREFIX=""
  1057.  
  1058.     IL_LO_X86ONIE_32GB_LOC_ROOT_2_PART=ROOT2
  1059.     IL_LO_X86ONIE_32GB_LOC_ROOT_2_DIR=/
  1060.     IL_LO_X86ONIE_32GB_LOC_ROOT_2_IMAGE_EXTRACT="./"
  1061.     IL_LO_X86ONIE_32GB_LOC_ROOT_2_IMAGE_EXTRACT_EXCLUDE="./bootmgr ./boot ./config ./var"
  1062.     IL_LO_X86ONIE_32GB_LOC_ROOT_2_IMAGE_EXTRACT_PREFIX=""
  1063.  
  1064.     IL_LO_X86ONIE_32GB_LOC_CONFIG_1_PART=CONFIG
  1065.     IL_LO_X86ONIE_32GB_LOC_CONFIG_1_DIR=/
  1066.     IL_LO_X86ONIE_32GB_LOC_CONFIG_1_IMAGE_EXTRACT="./config"
  1067.     IL_LO_X86ONIE_32GB_LOC_CONFIG_1_IMAGE_EXTRACT_PREFIX="/config"
  1068.     IL_LO_X86ONIE_32GB_LOC_OUTPUT_1_PART=OUTPUT
  1069.     IL_LO_X86ONIE_32GB_LOC_OUTPUT_1_DIR=/
  1070.     IL_LO_X86ONIE_32GB_LOC_OUTPUT_1_IMAGE_EXTRACT="./output"
  1071.     IL_LO_X86ONIE_32GB_LOC_OUTPUT_1_IMAGE_EXTRACT_PREFIX="/output"
  1072.  
  1073.     IL_LO_X86ONIE_32GB_LOC_VAR_1_PART=VAR
  1074.     IL_LO_X86ONIE_32GB_LOC_VAR_1_DIR=/
  1075.     IL_LO_X86ONIE_32GB_LOC_VAR_1_IMAGE_EXTRACT="./var"
  1076.     IL_LO_X86ONIE_32GB_LOC_VAR_1_IMAGE_EXTRACT_PREFIX="/var"
  1077.  
  1078.  
  1079.     IL_LO_X86ONIE_32GB_PART_BOOTMGR_TARGET=DISK1
  1080.     IL_LO_X86ONIE_32GB_PART_BOOTMGR_PART_NUM=3
  1081.     IL_LO_X86ONIE_32GB_PART_BOOTMGR_DEV=${IL_LO_X86ONIE_32GB_TARGET_DISK1_DEV}${IL_LO_X86ONIE_32GB_PART_BOOTMGR_PART_NUM}
  1082.     IL_LO_X86ONIE_32GB_PART_BOOTMGR_LABEL=BOOTMGR
  1083.     IL_LO_X86ONIE_32GB_PART_BOOTMGR_MOUNT=/bootmgr
  1084.     IL_LO_X86ONIE_32GB_PART_BOOTMGR_BOOTABLE=1
  1085.     IL_LO_X86ONIE_32GB_PART_BOOTMGR_PART_ID=83
  1086.     IL_LO_X86ONIE_32GB_PART_BOOTMGR_FSTYPE=ext3
  1087.     IL_LO_X86ONIE_32GB_PART_BOOTMGR_SIZE=192
  1088.     IL_LO_X86ONIE_32GB_PART_BOOTMGR_GROWTHCAP=
  1089.     IL_LO_X86ONIE_32GB_PART_BOOTMGR_GROWTHWEIGHT=
  1090.     IL_LO_X86ONIE_32GB_PART_BOOTMGR_OPTIONS="defaults,noatime,ro"
  1091.  
  1092.     IL_LO_X86ONIE_32GB_PART_BOOT1_TARGET=DISK1
  1093.     IL_LO_X86ONIE_32GB_PART_BOOT1_PART_NUM=4
  1094.     IL_LO_X86ONIE_32GB_PART_BOOT1_DEV=${IL_LO_X86ONIE_32GB_TARGET_DISK1_DEV}${IL_LO_X86ONIE_32GB_PART_BOOT1_PART_NUM}
  1095.     IL_LO_X86ONIE_32GB_PART_BOOT1_LABEL=BOOT_1
  1096.     IL_LO_X86ONIE_32GB_PART_BOOT1_MOUNT=/boot
  1097.     IL_LO_X86ONIE_32GB_PART_BOOT1_BOOTABLE=
  1098.     IL_LO_X86ONIE_32GB_PART_BOOT1_PART_ID=83
  1099.     IL_LO_X86ONIE_32GB_PART_BOOT1_FSTYPE=ext3
  1100.     IL_LO_X86ONIE_32GB_PART_BOOT1_SIZE=192
  1101.     IL_LO_X86ONIE_32GB_PART_BOOT1_GROWTHCAP=
  1102.     IL_LO_X86ONIE_32GB_PART_BOOT1_GROWTHWEIGHT=
  1103.     IL_LO_X86ONIE_32GB_PART_BOOT1_OPTIONS="defaults,noatime,ro"
  1104.  
  1105.     IL_LO_X86ONIE_32GB_PART_BOOT2_TARGET=DISK1
  1106.     IL_LO_X86ONIE_32GB_PART_BOOT2_PART_NUM=5
  1107.     IL_LO_X86ONIE_32GB_PART_BOOT2_DEV=${IL_LO_X86ONIE_32GB_TARGET_DISK1_DEV}${IL_LO_X86ONIE_32GB_PART_BOOT2_PART_NUM}
  1108.     IL_LO_X86ONIE_32GB_PART_BOOT2_LABEL=BOOT_2
  1109.     IL_LO_X86ONIE_32GB_PART_BOOT2_MOUNT=/boot
  1110.     IL_LO_X86ONIE_32GB_PART_BOOT2_BOOTABLE=
  1111.     IL_LO_X86ONIE_32GB_PART_BOOT2_PART_ID=83
  1112.     IL_LO_X86ONIE_32GB_PART_BOOT2_FSTYPE=ext3
  1113.     IL_LO_X86ONIE_32GB_PART_BOOT2_SIZE=192
  1114.     IL_LO_X86ONIE_32GB_PART_BOOT2_GROWTHCAP=
  1115.     IL_LO_X86ONIE_32GB_PART_BOOT2_GROWTHWEIGHT=
  1116.     IL_LO_X86ONIE_32GB_PART_BOOT2_OPTIONS="defaults,noatime,ro"
  1117.  
  1118.  
  1119.     IL_LO_X86ONIE_32GB_PART_ROOT1_TARGET=DISK1
  1120.     IL_LO_X86ONIE_32GB_PART_ROOT1_PART_NUM=6
  1121.     IL_LO_X86ONIE_32GB_PART_ROOT1_DEV=${IL_LO_X86ONIE_32GB_TARGET_DISK1_DEV}${IL_LO_X86ONIE_32GB_PART_ROOT1_PART_NUM}
  1122.     IL_LO_X86ONIE_32GB_PART_ROOT1_LABEL=ROOT_1
  1123.     IL_LO_X86ONIE_32GB_PART_ROOT1_MOUNT=/
  1124.     IL_LO_X86ONIE_32GB_PART_ROOT1_BOOTABLE=
  1125.     IL_LO_X86ONIE_32GB_PART_ROOT1_PART_ID=83
  1126.     IL_LO_X86ONIE_32GB_PART_ROOT1_FSTYPE=ext3
  1127.     IL_LO_X86ONIE_32GB_PART_ROOT1_SIZE=3072
  1128.     IL_LO_X86ONIE_32GB_PART_ROOT1_GROWTHCAP=
  1129.     IL_LO_X86ONIE_32GB_PART_ROOT1_GROWTHWEIGHT=
  1130.     IL_LO_X86ONIE_32GB_PART_ROOT1_OPTIONS="defaults,noatime,ro"
  1131.  
  1132.     IL_LO_X86ONIE_32GB_PART_ROOT2_TARGET=DISK1
  1133.     IL_LO_X86ONIE_32GB_PART_ROOT2_PART_NUM=7
  1134.     IL_LO_X86ONIE_32GB_PART_ROOT2_DEV=${IL_LO_X86ONIE_32GB_TARGET_DISK1_DEV}${IL_LO_X86ONIE_32GB_PART_ROOT2_PART_NUM}
  1135.     IL_LO_X86ONIE_32GB_PART_ROOT2_LABEL=ROOT_2
  1136.     IL_LO_X86ONIE_32GB_PART_ROOT2_MOUNT=/
  1137.     IL_LO_X86ONIE_32GB_PART_ROOT2_BOOTABLE=
  1138.     IL_LO_X86ONIE_32GB_PART_ROOT2_PART_ID=83
  1139.     IL_LO_X86ONIE_32GB_PART_ROOT2_FSTYPE=ext3
  1140.     IL_LO_X86ONIE_32GB_PART_ROOT2_SIZE=3072
  1141.     IL_LO_X86ONIE_32GB_PART_ROOT2_GROWTHCAP=
  1142.     IL_LO_X86ONIE_32GB_PART_ROOT2_GROWTHWEIGHT=
  1143.     IL_LO_X86ONIE_32GB_PART_ROOT2_OPTIONS="defaults,noatime,ro"
  1144.  
  1145.     IL_LO_X86ONIE_32GB_PART_CONFIG_TARGET=DISK1
  1146.     IL_LO_X86ONIE_32GB_PART_CONFIG_PART_NUM=8
  1147.     IL_LO_X86ONIE_32GB_PART_CONFIG_DEV=${IL_LO_X86ONIE_32GB_TARGET_DISK1_DEV}${IL_LO_X86ONIE_32GB_PART_CONFIG_PART_NUM}
  1148.     IL_LO_X86ONIE_32GB_PART_CONFIG_LABEL=CONFIG
  1149.     IL_LO_X86ONIE_32GB_PART_CONFIG_MOUNT=/config
  1150.     IL_LO_X86ONIE_32GB_PART_CONFIG_BOOTABLE=
  1151.     IL_LO_X86ONIE_32GB_PART_CONFIG_PART_ID=83
  1152.     IL_LO_X86ONIE_32GB_PART_CONFIG_FSTYPE=ext3
  1153.     IL_LO_X86ONIE_32GB_PART_CONFIG_SIZE=192
  1154.     IL_LO_X86ONIE_32GB_PART_CONFIG_GROWTHCAP=
  1155.     IL_LO_X86ONIE_32GB_PART_CONFIG_GROWTHWEIGHT=
  1156.     IL_LO_X86ONIE_32GB_PART_CONFIG_OPTIONS="defaults,noatime,data=journal"
  1157.  
  1158.     IL_LO_X86ONIE_32GB_PART_OUTPUT_TARGET=DISK1
  1159.     IL_LO_X86ONIE_32GB_PART_OUTPUT_PART_NUM=9
  1160.     IL_LO_X86ONIE_32GB_PART_OUTPUT_DEV=${IL_LO_X86ONIE_32GB_TARGET_DISK1_DEV}${IL_LO_X86ONIE_32GB_PART_OUTPUT_PART_NUM}
  1161.     IL_LO_X86ONIE_32GB_PART_OUTPUT_LABEL=OUTPUT
  1162.     IL_LO_X86ONIE_32GB_PART_OUTPUT_MOUNT=/output
  1163.     IL_LO_X86ONIE_32GB_PART_OUTPUT_BOOTABLE=
  1164.     IL_LO_X86ONIE_32GB_PART_OUTPUT_PART_ID=83
  1165.     IL_LO_X86ONIE_32GB_PART_OUTPUT_FSTYPE=ext3
  1166.     IL_LO_X86ONIE_32GB_PART_OUTPUT_SIZE=192
  1167.     IL_LO_X86ONIE_32GB_PART_OUTPUT_GROWTHCAP=
  1168.     IL_LO_X86ONIE_32GB_PART_OUTPUT_GROWTHWEIGHT=
  1169.     IL_LO_X86ONIE_32GB_PART_OUTPUT_OPTIONS="defaults,noatime,data=journal"
  1170.  
  1171.     IL_LO_X86ONIE_32GB_PART_VAR_TARGET=DISK1
  1172.     IL_LO_X86ONIE_32GB_PART_VAR_PART_NUM=10
  1173.     IL_LO_X86ONIE_32GB_PART_VAR_DEV=${IL_LO_X86ONIE_32GB_TARGET_DISK1_DEV}${IL_LO_X86ONIE_32GB_PART_VAR_PART_NUM}
  1174.     IL_LO_X86ONIE_32GB_PART_VAR_LABEL=VAR
  1175.     IL_LO_X86ONIE_32GB_PART_VAR_MOUNT=/var
  1176.     IL_LO_X86ONIE_32GB_PART_VAR_BOOTABLE=
  1177.     IL_LO_X86ONIE_32GB_PART_VAR_PART_ID=83
  1178.     IL_LO_X86ONIE_32GB_PART_VAR_FSTYPE=ext3
  1179.     IL_LO_X86ONIE_32GB_PART_VAR_SIZE=23000
  1180.     IL_LO_X86ONIE_32GB_PART_VAR_GROWTHCAP=
  1181.     IL_LO_X86ONIE_32GB_PART_VAR_GROWTHWEIGHT=
  1182.  
  1183. # ==================================================
  1184. #
  1185. # MTD based layout, using NOR and NAND flash.  For PowerPC with u-boot.
  1186. #
  1187. #  NOTE: these _must_ match the numbers in the DTB the booted
  1188. #        kernel has, or there will be corruption.  Also, deployed
  1189. #        systems _must_not_ install versions with a DTB with different
  1190. #        partitioning info.
  1191. #
  1192. #  NOTE: there are no partition tables / disk labels used in this layout
  1193. #
  1194. #  16 MB NOR Flash:
  1195. #     /dev/mtd0 [nmp] kernel 1     (raw partition, uImage kernel, cp / dd)
  1196. #     /dev/mtd1 [nmp] kernel fdt 1 (raw partition, DTB,           cp / dd)
  1197. #     /dev/mtd2 [nmp] kernel 2     (raw partition, uImage kernel, cp / dd)
  1198. #     /dev/mtd3 [nmp] kernel fdt 2 (raw partition, DTB,           cp / dd)
  1199. #     /dev/mtd4 [nmp] u-boot env   (raw partition, U-boot env,    cp / dd)
  1200. #     /dev/mtd5 [nmp] u-boot       (raw partition, U-boot,        cp / dd)
  1201. #
  1202. #  1024 MB NAND Flash:
  1203. #     /dev/mtdblock6  / [root 1] ro root    (jffs2)
  1204. #     /dev/mtdblock7  / [root 2] ro root    (jffs2)
  1205. #     /dev/mtdblock8  /config rw config db  (jffs2)
  1206. #     /dev/mtdblock9  /var rw general, logs (jffs2)
  1207. #
  1208. #
  1209. # ==================================================
  1210.  
  1211. # These are the standard location names.  They should not be changed
  1212. IL_LO_MFL1_LOCS="ROOT_1 ROOT_2 CONFIG_1 VAR_1 BOOT_1 BOOT_2 KERNEL_1 FDT_1 KERNEL_2 FDT_2 UBOOT_ENV_1 UBOOT_1"
  1213. # Targets are things like a disk or a flash device
  1214. IL_LO_MFL1_TARGET_NUM_TARGETS=1
  1215. IL_LO_MFL1_TARGETS="MTD1"
  1216. IL_LO_MFL1_TARGET_MTD1_NUM=1
  1217. IL_LO_MFL1_TARGET_MTD1_DEV_BLOCK=${IL_LO_MFL1_TARGET_MTD1_DEV}block
  1218. IL_LO_MFL1_TARGET_MTD1_DEV_CHAR=${IL_LO_MFL1_TARGET_MTD1_DEV}
  1219.  
  1220. IL_LO_MFL1_ROOT_RDONLY=1
  1221.  
  1222. # For PowerPC, this should always be set
  1223. IL_LO_MFL1_HWNAME_REQUIRED=1
  1224.  
  1225.  
  1226. # The default is the GRUB, but we want to use u-boot for the PPC system
  1227. IL_LO_MFL1_BOOTMGR=uboot
  1228.  
  1229. # How u-boot gets image settings: 'eeprom' or 'nvs_file'
  1230. IL_LO_MFL1_UBOOT_IMAGE_CONFIG_TYPE=eeprom
  1231.  
  1232. IL_LO_MFL1_TARGET_MTD1_MINSIZE=
  1233.  
  1234. IL_LO_MFL1_TARGET_MTD1_LABELTYPE=raw
  1235. # block or mtd
  1236. IL_LO_MFL1_TARGET_MTD1_TYPE=mtd
  1237.  
  1238. IL_LO_MFL1_PARTS="KERNEL1 FDT1 KERNEL2 FDT2 UBOOTENV UBOOT ROOT1 ROOT2 CONFIG VAR"
  1239.  
  1240. # For the candidate loc list for upgrade (_LOCS above used for mfg)
  1241. IL_LO_MFL1_IMAGE_1_INSTALL_LOCS="ROOT_1 BOOT_1 KERNEL_1 FDT_1"
  1242. IL_LO_MFL1_IMAGE_2_INSTALL_LOCS="ROOT_2 BOOT_2 KERNEL_2 FDT_2"
  1243.  
  1244. # For the fstab
  1245. IL_LO_MFL1_IMAGE_1_LOCS="ROOT_1 BOOT_1 CONFIG_1 VAR_1"
  1246. IL_LO_MFL1_IMAGE_2_LOCS="ROOT_2 BOOT_2 CONFIG_1 VAR_1"
  1247.  
  1248. IL_LO_MFL1_OPT_LAST_PART_FILL=0
  1249.  
  1250. # Each of these says which PART (partition) below goes with which LOC
  1251. #     (standardized location) .  It also says for each LOC which subdirectory
  1252. #     under the PART the LOC is in, and what files to extract there
  1253.  
  1254.  
  1255. # XXXX! what about hw models?  The image might want to have kernel / fdt
  1256. # for different models.  Currently this is not possible.
  1257.  
  1258. IL_LO_MFL1_LOC_KERNEL_1_PART=KERNEL1
  1259. IL_LO_MFL1_LOC_KERNEL_1_IMAGE_EXTRACT_MTD="./boot/vmlinuz"
  1260. IL_LO_MFL1_LOC_KERNEL_1_SRC_PART=ROOT1
  1261.  
  1262. IL_LO_MFL1_LOC_FDT_1_PART=FDT1
  1263. IL_LO_MFL1_LOC_FDT_1_IMAGE_EXTRACT_MTD="./boot/fdt"
  1264. IL_LO_MFL1_LOC_FDT_1_SRC_PART=ROOT1
  1265.  
  1266. IL_LO_MFL1_LOC_KERNEL_2_PART=KERNEL2
  1267. IL_LO_MFL1_LOC_KERNEL_2_IMAGE_EXTRACT_MTD="./boot/vmlinuz"
  1268. IL_LO_MFL1_LOC_KERNEL_2_SRC_PART=ROOT2
  1269.  
  1270. IL_LO_MFL1_LOC_FDT_2_PART=FDT2
  1271. IL_LO_MFL1_LOC_FDT_2_IMAGE_EXTRACT_MTD="./boot/fdt"
  1272. IL_LO_MFL1_LOC_FDT_2_SRC_PART=ROOT2
  1273.  
  1274. # NOTE: mfg will not touch by default!
  1275. IL_LO_MFL1_LOC_UBOOT_ENV_1_PART=UBOOTENV
  1276. IL_LO_MFL1_LOC_UBOOT_ENV_1_ACTIVE=0
  1277.  
  1278. # NOTE: the next location is different than kernel/fdt , as we want them
  1279. # to extract from the new image location, (or 1 image for mfg), not from
  1280. # a known, static location.
  1281.  
  1282. # NOTE: mfg will not touch by default!
  1283. IL_LO_MFL1_LOC_UBOOT_1_PART=UBOOT
  1284. IL_LO_MFL1_LOC_UBOOT_1_ACTIVE=0
  1285. IL_LO_MFL1_LOC_UBOOT_1_IMAGE_EXTRACT_MTD="./opt/tms/lib/u-boot/${IL_HWNAME_LC}/u-boot.bin"
  1286. if [ ! -z "${INSTALL_IMAGE_ID}" -a "${INSTALL_IMAGE_ID}" != "-1" ]; then
  1287.     eval 'IL_LO_MFL1_LOC_UBOOT_1_SRC_PART="ROOT'${INSTALL_IMAGE_ID}'"'
  1288. else
  1289.     IL_LO_MFL1_LOC_UBOOT_1_SRC_PART="ROOT1"
  1290. fi
  1291.  
  1292.  
  1293. # XXXX-mtd:  make sure that places that might want to mount
  1294. # both root and boot loc parts are fixed so they can deal with them
  1295. # being only one part, as no existing (working) layout does this, and
  1296. # some mounts / umounts could get messed up.
  1297.  
  1298. # Note, not a partition, on root1
  1299. IL_LO_MFL1_LOC_BOOT_1_PART=ROOT1
  1300. IL_LO_MFL1_LOC_BOOT_1_DIR=/boot
  1301. IL_LO_MFL1_LOC_BOOT_1_IMAGE_EXTRACT="./boot"
  1302. IL_LO_MFL1_LOC_BOOT_1_IMAGE_EXTRACT_PREFIX=""
  1303.  
  1304. # Note, not a partition, on root2
  1305. IL_LO_MFL1_LOC_BOOT_2_PART=ROOT2
  1306. IL_LO_MFL1_LOC_BOOT_2_DIR=/boot
  1307. IL_LO_MFL1_LOC_BOOT_2_IMAGE_EXTRACT="./boot"
  1308. IL_LO_MFL1_LOC_BOOT_2_IMAGE_EXTRACT_PREFIX=""
  1309.  
  1310. IL_LO_MFL1_LOC_ROOT_1_PART=ROOT1
  1311. IL_LO_MFL1_LOC_ROOT_1_DIR=/
  1312. IL_LO_MFL1_LOC_ROOT_1_IMAGE_EXTRACT="./"
  1313. IL_LO_MFL1_LOC_ROOT_1_IMAGE_EXTRACT_EXCLUDE="./boot ./config ./var"
  1314. IL_LO_MFL1_LOC_ROOT_1_IMAGE_EXTRACT_PREFIX=""
  1315.  
  1316. IL_LO_MFL1_LOC_ROOT_2_PART=ROOT2
  1317. IL_LO_MFL1_LOC_ROOT_2_DIR=/
  1318. IL_LO_MFL1_LOC_ROOT_2_IMAGE_EXTRACT="./"
  1319. IL_LO_MFL1_LOC_ROOT_2_IMAGE_EXTRACT_EXCLUDE="./boot ./config ./var"
  1320. IL_LO_MFL1_LOC_ROOT_2_IMAGE_EXTRACT_PREFIX=""
  1321.  
  1322. IL_LO_MFL1_LOC_CONFIG_1_PART=CONFIG
  1323. IL_LO_MFL1_LOC_CONFIG_1_DIR=/
  1324. IL_LO_MFL1_LOC_CONFIG_1_IMAGE_EXTRACT="./config"
  1325. IL_LO_MFL1_LOC_CONFIG_1_IMAGE_EXTRACT_PREFIX="/config"
  1326.  
  1327. IL_LO_MFL1_LOC_VAR_1_PART=VAR
  1328. IL_LO_MFL1_LOC_VAR_1_DIR=/
  1329. IL_LO_MFL1_LOC_VAR_1_IMAGE_EXTRACT="./var"
  1330. IL_LO_MFL1_LOC_VAR_1_IMAGE_EXTRACT_PREFIX="/var"
  1331.  
  1332.  
  1333. # Each of these says how a partition is named, labled, and sized.
  1334.  
  1335. # Note: we use the synthetic PART_ID "d9" to say this is a
  1336. # filesystem-less MTD device that we'll be copying a file to.
  1337.  
  1338. ############### Raw, un-mountable partitions start
  1339.  
  1340. IL_LO_MFL1_PART_KERNEL1_TARGET=MTD1
  1341. IL_LO_MFL1_PART_KERNEL1_PART_NUM=0
  1342. IL_LO_MFL1_PART_KERNEL1_DEV=${IL_LO_MFL1_TARGET_MTD1_DEV_BLOCK}${IL_LO_MFL1_PART_KERNEL1_PART_NUM}
  1343. IL_LO_MFL1_PART_KERNEL1_DEV_CHAR=${IL_LO_MFL1_TARGET_MTD1_DEV_CHAR}${IL_LO_MFL1_PART_KERNEL1_PART_NUM}
  1344. IL_LO_MFL1_PART_KERNEL1_MTD_SIZE_KB=1920
  1345. IL_LO_MFL1_PART_KERNEL1_MTD_ERASESIZE_KB=128
  1346. IL_LO_MFL1_PART_KERNEL1_MTD_LABEL=KERNEL_1
  1347. IL_LO_MFL1_PART_KERNEL1_PART_ID=d9
  1348.  
  1349. IL_LO_MFL1_PART_FDT1_TARGET=MTD1
  1350. IL_LO_MFL1_PART_FDT1_PART_NUM=1
  1351. IL_LO_MFL1_PART_FDT1_DEV=${IL_LO_MFL1_TARGET_MTD1_DEV_BLOCK}${IL_LO_MFL1_PART_FDT1_PART_NUM}
  1352. IL_LO_MFL1_PART_FDT1_DEV_CHAR=${IL_LO_MFL1_TARGET_MTD1_DEV_CHAR}${IL_LO_MFL1_PART_FDT1_PART_NUM}
  1353. IL_LO_MFL1_PART_FDT1_MTD_SIZE_KB=128
  1354. IL_LO_MFL1_PART_FDT1_MTD_ERASESIZE_KB=128
  1355. IL_LO_MFL1_PART_FDT1_MTD_LABEL=FDT_1
  1356. IL_LO_MFL1_PART_FDT1_PART_ID=d9
  1357.  
  1358. IL_LO_MFL1_PART_KERNEL2_TARGET=MTD1
  1359. IL_LO_MFL1_PART_KERNEL2_PART_NUM=2
  1360. IL_LO_MFL1_PART_KERNEL2_DEV=${IL_LO_MFL1_TARGET_MTD1_DEV_BLOCK}${IL_LO_MFL1_PART_KERNEL2_PART_NUM}
  1361. IL_LO_MFL1_PART_KERNEL2_DEV_CHAR=${IL_LO_MFL1_TARGET_MTD1_DEV_CHAR}${IL_LO_MFL1_PART_KERNEL2_PART_NUM}
  1362. IL_LO_MFL1_PART_KERNEL2_MTD_SIZE_KB=1920
  1363. IL_LO_MFL1_PART_KERNEL2_MTD_ERASESIZE_KB=128
  1364. IL_LO_MFL1_PART_KERNEL2_MTD_LABEL=KERNEL_2
  1365. IL_LO_MFL1_PART_KERNEL2_PART_ID=d9
  1366.  
  1367. IL_LO_MFL1_PART_FDT2_TARGET=MTD1
  1368. IL_LO_MFL1_PART_FDT2_PART_NUM=3
  1369. IL_LO_MFL1_PART_FDT2_DEV=${IL_LO_MFL1_TARGET_MTD1_DEV_BLOCK}${IL_LO_MFL1_PART_FDT2_PART_NUM}
  1370. IL_LO_MFL1_PART_FDT2_DEV_CHAR=${IL_LO_MFL1_TARGET_MTD1_DEV_CHAR}${IL_LO_MFL1_PART_FDT2_PART_NUM}
  1371. IL_LO_MFL1_PART_FDT2_MTD_SIZE_KB=128
  1372. IL_LO_MFL1_PART_FDT2_MTD_ERASESIZE_KB=128
  1373. IL_LO_MFL1_PART_FDT2_MTD_LABEL=FDT_2
  1374. IL_LO_MFL1_PART_FDT2_PART_ID=d9
  1375.  
  1376. IL_LO_MFL1_PART_UBOOTENV_TARGET=MTD1
  1377. IL_LO_MFL1_PART_UBOOTENV_PART_NUM=4
  1378. IL_LO_MFL1_PART_UBOOTENV_DEV=${IL_LO_MFL1_TARGET_MTD1_DEV_BLOCK}${IL_LO_MFL1_PART_UBOOTENV_PART_NUM}
  1379. IL_LO_MFL1_PART_UBOOTENV_DEV_CHAR=${IL_LO_MFL1_TARGET_MTD1_DEV_CHAR}${IL_LO_MFL1_PART_UBOOTENV_PART_NUM}
  1380. IL_LO_MFL1_PART_UBOOTENV_MTD_SIZE_KB=128
  1381. IL_LO_MFL1_PART_UBOOTENV_MTD_ERASESIZE_KB=128
  1382. IL_LO_MFL1_PART_UBOOTENV_MTD_LABEL=UBOOTENV
  1383. IL_LO_MFL1_PART_UBOOTENV_PART_ID=d9
  1384.  
  1385. IL_LO_MFL1_PART_UBOOT_TARGET=MTD1
  1386. IL_LO_MFL1_PART_UBOOT_PART_NUM=5
  1387. IL_LO_MFL1_PART_UBOOT_DEV=${IL_LO_MFL1_TARGET_MTD1_DEV_BLOCK}${IL_LO_MFL1_PART_UBOOT_PART_NUM}
  1388. IL_LO_MFL1_PART_UBOOT_DEV_CHAR=${IL_LO_MFL1_TARGET_MTD1_DEV_CHAR}${IL_LO_MFL1_PART_UBOOT_PART_NUM}
  1389. IL_LO_MFL1_PART_UBOOT_MTD_SIZE_KB=384
  1390. IL_LO_MFL1_PART_UBOOT_MTD_ERASESIZE_KB=128
  1391. IL_LO_MFL1_PART_UBOOT_MTD_LABEL=UBOOT
  1392. IL_LO_MFL1_PART_UBOOT_PART_ID=d9
  1393.  
  1394. ############### Mountable partitions start
  1395.  
  1396. IL_LO_MFL1_PART_ROOT1_TARGET=MTD1
  1397. IL_LO_MFL1_PART_ROOT1_PART_NUM=6
  1398. IL_LO_MFL1_PART_ROOT1_DEV=${IL_LO_MFL1_TARGET_MTD1_DEV_BLOCK}${IL_LO_MFL1_PART_ROOT1_PART_NUM}
  1399. IL_LO_MFL1_PART_ROOT1_DEV_CHAR=${IL_LO_MFL1_TARGET_MTD1_DEV_CHAR}${IL_LO_MFL1_PART_ROOT1_PART_NUM}
  1400. IL_LO_MFL1_PART_ROOT1_MTD_SIZE_KB=524288
  1401. IL_LO_MFL1_PART_ROOT1_MTD_ERASESIZE_KB=128
  1402. IL_LO_MFL1_PART_ROOT1_MTD_LABEL=ROOT_1
  1403. IL_LO_MFL1_PART_ROOT1_MOUNT=/
  1404. IL_LO_MFL1_PART_ROOT1_PART_ID=1f
  1405. IL_LO_MFL1_PART_ROOT1_FSTYPE=jffs2
  1406. IL_LO_MFL1_PART_ROOT1_OPTIONS="defaults,noatime,ro"
  1407.  
  1408. IL_LO_MFL1_PART_ROOT2_TARGET=MTD1
  1409. IL_LO_MFL1_PART_ROOT2_PART_NUM=7
  1410. IL_LO_MFL1_PART_ROOT2_DEV=${IL_LO_MFL1_TARGET_MTD1_DEV_BLOCK}${IL_LO_MFL1_PART_ROOT2_PART_NUM}
  1411. IL_LO_MFL1_PART_ROOT2_DEV_CHAR=${IL_LO_MFL1_TARGET_MTD1_DEV_CHAR}${IL_LO_MFL1_PART_ROOT2_PART_NUM}
  1412. IL_LO_MFL1_PART_ROOT2_MTD_SIZE_KB=524288
  1413. IL_LO_MFL1_PART_ROOT2_MTD_ERASESIZE_KB=128
  1414. IL_LO_MFL1_PART_ROOT2_MTD_LABEL=ROOT_2
  1415. IL_LO_MFL1_PART_ROOT2_MOUNT=/
  1416. IL_LO_MFL1_PART_ROOT2_PART_ID=1f
  1417. IL_LO_MFL1_PART_ROOT2_FSTYPE=jffs2
  1418. IL_LO_MFL1_PART_ROOT2_OPTIONS="defaults,noatime,ro"
  1419.  
  1420. IL_LO_MFL1_PART_CONFIG_TARGET=MTD1
  1421. IL_LO_MFL1_PART_CONFIG_PART_NUM=8
  1422. IL_LO_MFL1_PART_CONFIG_DEV=${IL_LO_MFL1_TARGET_MTD1_DEV_BLOCK}${IL_LO_MFL1_PART_CONFIG_PART_NUM}
  1423. IL_LO_MFL1_PART_CONFIG_DEV_CHAR=${IL_LO_MFL1_TARGET_MTD1_DEV_CHAR}${IL_LO_MFL1_PART_CONFIG_PART_NUM}
  1424. IL_LO_MFL1_PART_CONFIG_MTD_SIZE_KB=102400
  1425. IL_LO_MFL1_PART_CONFIG_MTD_ERASESIZE_KB=128
  1426. IL_LO_MFL1_PART_CONFIG_MTD_LABEL=CONFIG
  1427. IL_LO_MFL1_PART_CONFIG_MOUNT=/config
  1428. IL_LO_MFL1_PART_CONFIG_PART_ID=1f
  1429. IL_LO_MFL1_PART_CONFIG_FSTYPE=jffs2
  1430. IL_LO_MFL1_PART_CONFIG_OPTIONS="defaults,noatime"
  1431.  
  1432. IL_LO_MFL1_PART_VAR_TARGET=MTD1
  1433. IL_LO_MFL1_PART_VAR_PART_NUM=9
  1434. IL_LO_MFL1_PART_VAR_DEV=${IL_LO_MFL1_TARGET_MTD1_DEV_BLOCK}${IL_LO_MFL1_PART_VAR_PART_NUM}
  1435. IL_LO_MFL1_PART_VAR_DEV_CHAR=${IL_LO_MFL1_TARGET_MTD1_DEV_CHAR}${IL_LO_MFL1_PART_VAR_PART_NUM}
  1436. IL_LO_MFL1_PART_VAR_MTD_SIZE_KB=880640
  1437. IL_LO_MFL1_PART_VAR_MTD_ERASESIZE_KB=128
  1438. IL_LO_MFL1_PART_VAR_MTD_LABEL=VAR
  1439. IL_LO_MFL1_PART_VAR_MOUNT=/var
  1440. IL_LO_MFL1_PART_VAR_PART_ID=1f
  1441. IL_LO_MFL1_PART_VAR_FSTYPE=jffs2
  1442. IL_LO_MFL1_PART_VAR_OPTIONS="defaults,noatime"
  1443.  
  1444.  
  1445. }
  1446.  
  1447.  
  1448. #
  1449. # SwitchX manufacture , rd
  1450. #
  1451.  
  1452. #
  1453. # global vars needed incase not declared yet
  1454. # e.g. using as standalone script
  1455. #
  1456.  
  1457. if [ -z $MDDBREQ ]; then
  1458.     MDDBREQ="mddbreq"
  1459. fi
  1460.  
  1461. if [ -z $MFG_DB_PATH ]; then
  1462.     MFG_DB_PATH="/config/mfg/mfdb"
  1463. fi
  1464.  
  1465. if [ -z $IS_REMANUFACTURE ]; then
  1466.     IS_REMANUFACTURE=0
  1467. fi
  1468.  
  1469. if (! type vlecho >/dev/null 2>&1) ; then
  1470.     vlecho() {
  1471.         : $*
  1472.     }
  1473. fi
  1474.  
  1475. if (! type vlechoerr >/dev/null 2>&1) ; then
  1476.     vlechoerr() {
  1477.         echo $2
  1478.         exit $1
  1479.     }
  1480. fi
  1481.  
  1482. if (! type cleanup_exit >/dev/null 2>&1) ; then
  1483.     cleanup_exit() {
  1484.         exit 0
  1485.     }
  1486. fi
  1487.  
  1488. if [ -z $IS_REMANUFACTURE_SWITCHX ]; then
  1489.     IS_REMANUFACTURE_SWITCHX=0
  1490. fi
  1491.  
  1492. #
  1493. # functions
  1494. #
  1495.  
  1496. load_sx_low_level_if_bf() {
  1497.     local load=0
  1498.     for M in mellaggra_mod ; do
  1499.         if ! /sbin/lsmod | grep ${M} > /dev/null ; then
  1500.             load=1
  1501.         fi
  1502.     done
  1503.  
  1504.     if [ "$load" -eq 1 ] ; then
  1505.         if [ -f /etc/init.d/palladium_sim ] ; then
  1506.             rm -rf /dev/i2c-*
  1507.             sh /etc/init.d/palladium_sim start
  1508.         fi
  1509.         if [ -f /etc/rc.d/init.d/sx_low_level_if ] ; then
  1510.             /etc/rc.d/init.d/sx_low_level_if start_bf
  1511.         elif [ -f /etc/init.d/sx_low_level_if ] ; then
  1512.             sh /etc/init.d/sx_low_level_if start_bf
  1513.         fi
  1514.     fi
  1515. }
  1516.  
  1517. # e     error
  1518. # v     value
  1519. # ev    error msg
  1520. mlx_check_err() {
  1521.     local e="$1"
  1522.     local v="$2"
  1523.     local ev="$3"
  1524.  
  1525.     vlecho 1 "mlx_check_err: e=$e v=$v"
  1526.  
  1527.     # not failing on remanufacture
  1528.     if [ ${IS_REMANUFACTURE} -eq 0 ]; then
  1529.         if [ $e -ne 0 ]; then
  1530.             vlechoerr -1 "Error: mlxi2c failed: $ev"
  1531.             cleanup_exit
  1532.         fi
  1533.  
  1534.         if [ -z "$v" ]; then
  1535.             vlechoerr -1 "Error: $ev"
  1536.             cleanup_exit
  1537.         fi
  1538.     fi
  1539. }
  1540.  
  1541. get_system_info() {
  1542.     local out
  1543.     local oldifs
  1544.     if [ -f /usr/bin/mlxi2c_bf ] ; then
  1545.         MASTER_MODE=" --master-mode "
  1546.         SYS_TYPE=" --sys_type "
  1547.  
  1548.         # get system type
  1549.  
  1550.         out=`mlxi2c_bf ${MASTER_MODE}-without_modules show modules -v`
  1551.         mlx_check_err "$?" "$out" "cant read system type"
  1552.  
  1553.         oldifs=$IFS
  1554.         IFS=`echo \n`
  1555.         system_type=`echo $out | grep "\s*MGMT" | awk {'print $2'}`
  1556.         IFS=$oldifs
  1557.         mlx_check_err 0 "$system_type" "cant parse system type"
  1558.         # get system profile
  1559.  
  1560.         out=`mlxi2c_bf ${MASTER_MODE}-without_modules show fru MGMT`
  1561.         mlx_check_err "$?" "$out" "cant read system profile"
  1562.  
  1563.         oldifs=$IFS
  1564.         IFS=`echo \n`
  1565.         system_profile=`echo $out | grep FEATURE_EN_1: | awk {'print $NF'}`
  1566.         IFS=$oldifs
  1567.         mlx_check_err 0 "$system_profile" "cant parse system profile"
  1568.  
  1569.         # get number of swids
  1570.  
  1571.         oldifs=$IFS
  1572.         IFS=`echo \n`
  1573.         num_swids=`echo $out | grep FEATURE_EN_10: | awk {'print $NF'}`
  1574.         IFS=$oldifs
  1575.         mlx_check_err 0 "$num_swids" "cant parse number of swids"
  1576.  
  1577.         #Setting mlxi2c with no User DPT default value
  1578.         mlxi2c_bf_pointer=${mlxi2c_bf_pointer:-"mlxi2c_bf"}
  1579.         #update OID
  1580.         if [ "$system_type" = "IS5600MDC" ]; then
  1581.             system_oid="1.3.6.1.4.1.33049.1.1.1.6500"
  1582.         elif [ "$system_type" = "MMB7500" ]; then
  1583.             system_oid="1.3.6.1.4.1.33049.1.1.1.7500"
  1584.         else
  1585.             # get system fru id
  1586.             out=`${mlxi2c_bf_pointer} ${MASTER_MODE} ${SYS_TYPE} show fru chassis`
  1587.             mlx_check_err "$?" "$out" "cant read fru chassis"
  1588.    
  1589.             oldifs=$IFS
  1590.             IFS=`echo \n`
  1591.             system_fru_id_hex=`echo $out | grep SW_MGT_ID | awk {'print $NF'}`
  1592.    
  1593.             IFS=$oldifs
  1594.             mlx_check_err 0 "$system_fru_id_hex" "cant parse fru chassis"
  1595.             let system_fru_id=0x$system_fru_id_hex
  1596.             system_oid="1.3.6.1.4.1.33049.1.1.1."$system_fru_id
  1597.         fi
  1598.     fi
  1599.     # profiles:
  1600.     # 1 - IB
  1601.     # 2 - ETH
  1602.     vlecho 1 "get_system_info: system_type=$system_type"
  1603.     vlecho 1 "get_system_info: system_profile=$system_profile"
  1604.  
  1605.     # fru_id:
  1606.     vlecho 1 "get_system_info: system_fru_id=$system_fru_id"
  1607.     vlecho 1 "get_system_info: system_oid=$system_oid"
  1608. }
  1609.  
  1610. create_new_admin_account() {
  1611.     local user="USERID"
  1612.     local password='$6$wZeCGM/s$I7GX3VU3HawzQm8Zx.wkYAxlhdujktCmrIbxbXxhT9Q/RQKo0A46taKOP6cvY.Q6LAjsynJcJ2S/ZibqCdYd10'
  1613.     local mgt_admin=0
  1614.     local mfdb="/mfg/mfdb/switchx"
  1615.  
  1616.     ${MDDBREQ} -c ${MANUFACTURE_DB} set modify - ${mfdb}/auth/passwd/user/${user}/enable bool true
  1617.     ${MDDBREQ} -c ${MANUFACTURE_DB} set modify - ${mfdb}/auth/passwd/user/${user}/gecos string "System Administrator"
  1618.     ${MDDBREQ} -c ${MANUFACTURE_DB} set modify - ${mfdb}/auth/passwd/user/${user}/home_dir string "/var/home/root"
  1619.     ${MDDBREQ} -c ${MANUFACTURE_DB} set modify - ${mfdb}/auth/passwd/user/${user}/shell string "/opt/tms/bin/cli"
  1620.     ${MDDBREQ} -c ${MANUFACTURE_DB} set modify - ${mfdb}/auth/passwd/user/${user}/gid uint32 ${mgt_admin}
  1621.     ${MDDBREQ} -c ${MANUFACTURE_DB} set modify - ${mfdb}/auth/passwd/user/${user}/uid uint32 ${mgt_admin}
  1622.     ${MDDBREQ} -c ${MANUFACTURE_DB} set modify - ${mfdb}/auth/passwd/user/${user}/password string ${password}
  1623.     ${MDDBREQ} -c ${MANUFACTURE_DB} set modify - ${mfdb}/auth/passwd/user/${user}/newly_created bool false
  1624.  
  1625.     #
  1626.     # The nodes are copied from mfdb in md_chassis_init, md_chassis_add_initial()
  1627.     #
  1628. }
  1629.  
  1630. settings_for_per_port_licensing() {
  1631.     local out
  1632.     local cnt
  1633.     local ports
  1634.     local scheme
  1635.     local num_ports
  1636.  
  1637.     out=`mlxi2c_bf --sys_type show fru chassis | sed -r -n -e '/------ Block 4 ------/,${p}' | sed 1d`
  1638.  
  1639.     scheme=`echo "$out" | grep PORTS_LIC_SCHEME | awk {'print $3'}`
  1640.  
  1641.     num_ports=$((`echo "$out" | grep EN_PORTS_NUM | awk {'print "0x"$3'}`))
  1642.  
  1643.     if [ $scheme = "\"1\"" ] ; then
  1644.         ${MDDBREQ} -c ${MANUFACTURE_DB} set modify - /mfg/mfdb/portd/config/ekey/en_ports_num uint16 $num_ports
  1645.  
  1646.         ports=`echo "$out" | grep "PORTS_LIC_ARRAY_" | awk {'print "0x"$3'}`
  1647.  
  1648.         cnt=1
  1649.         for i in $ports;
  1650.         do
  1651.             license=$(( $i & 128 ))
  1652.             if [ $license -eq 0 ]; then
  1653.                 license="true"
  1654.             else
  1655.                 license="false"
  1656.             fi
  1657.  
  1658.             speed=$(( $i & 0x7F ))
  1659.  
  1660.             ${MDDBREQ} -c ${MANUFACTURE_DB} set modify - /mfg/mfdb/portd/config/license/label_port/$cnt/license bool $license
  1661.             ${MDDBREQ} -c ${MANUFACTURE_DB} set modify - /mfg/mfdb/portd/config/license/label_port/$cnt/max_speed uint32 $speed
  1662.  
  1663.             let cnt+=1
  1664.         done
  1665.  
  1666.         echo "num_ports=$num_ports cnt=$cnt"
  1667.     fi
  1668. }
  1669.  
  1670. settings_for_SXCA() {
  1671.     # Blades
  1672.     if [ "$system_type" = "SXCA07156" ] ; then
  1673.         # set to true
  1674.         for j in \
  1675.             "/mfg/mfdb/net/interface/config/mgmt0/enable"           \
  1676.             "/mfg/mfdb/net/interface/config/mgmt0/addr/ipv4/dhcp"
  1677.         do
  1678.             ${MDDBREQ} -c ${MANUFACTURE_DB} set modify - $j bool true
  1679.         done
  1680.  
  1681.         # set to false
  1682.         for i in \
  1683.             "/mfg/mfdb/net/interface/config/mgmt0/addr/ipv4/zeroconf"
  1684.         do
  1685.             ${MDDBREQ} -c ${MANUFACTURE_DB} set modify - $i bool false
  1686.         done
  1687.     fi
  1688. }
  1689.  
  1690. settings_for_SX90Y() {
  1691.     # Blades
  1692.     if [ "$system_type" = "SX90Y3245" ] || [ "$system_type" = "SX90Y3476" ]; then
  1693.         # set all to false
  1694.         for i in \
  1695.             "/mfg/mfdb/switchx/web/httpd/http/enable"               \
  1696.             "/mfg/mfdb/switchx/snmp/enable/communities"             \
  1697.             "/mfg/mfdb/switchx/xinetd/service/telnet/enable"        \
  1698.             "/mfg/mfdb/switchx/xinetd/service/ftp/enable"           \
  1699.             "/mfg/mfdb/net/interface/config/mgmt0/enable"           \
  1700.             "/mfg/mfdb/net/interface/config/mgmt0/addr/ipv4/zeroconf"
  1701.         do
  1702.             ${MDDBREQ} -c ${MANUFACTURE_DB} set modify - $i bool false
  1703.         done
  1704.  
  1705.         #Check if ETH or IB
  1706.         sw_mgmt_id=`mlxi2c_bf --sys_type show fru chassis | grep SW_MGT_ID | awk {'print $4'}`
  1707.  
  1708.         # Iterate over internal ports, if ETH set stp port-type to edge and switchport mode to access
  1709.         for ifindex in \
  1710.             "109" "67" "69" "70" "72" "74" "107" "106" "104" "102" "101" "99" "97" "65"
  1711.         do
  1712.             PORT_NODE=/mfg/mfdb/portd/config/port-description/${ifindex}
  1713.             ${MDDBREQ} -c ${MANUFACTURE_DB} set modify - ${PORT_NODE}/description string "internal port"
  1714.             if [ "$sw_mgmt_id" = "d94" ]; then
  1715.                 VLAN_PREFIX=/mfg/mfdb/iss/config/vlan/interface/${ifindex}/switchport
  1716.                 STP_NODE=/mfg/mfdb/iss/config/stp/interface/${ifindex}/port-type
  1717.                 ${MDDBREQ} -c ${MANUFACTURE_DB} set modify - ${VLAN_PREFIX}/mode string access
  1718.                 ${MDDBREQ} -c ${MANUFACTURE_DB} set modify - ${STP_NODE} string edge
  1719.                 ${MDDBREQ} -c ${MANUFACTURE_DB} set modify - ${PORT_NODE}/vpi_type string "eth"
  1720.             elif [ "$sw_mgmt_id" = "cad" ]; then
  1721.                 ${MDDBREQ} -c ${MANUFACTURE_DB} set modify - ${PORT_NODE}/vpi_type string "ib"
  1722.             fi
  1723.         done
  1724.  
  1725.         # Iterate over external ports, if ETH set switchport mode to trunk
  1726.         for ifindex in \
  1727.             "95" "93" "91" "89" "87" "85" "84" "82" "80" "112" "114" "116" "117" "119" "121" "123" "125" "127"
  1728.         do
  1729.             PORT_NODE=/mfg/mfdb/portd/config/port-description/${ifindex}
  1730.             ${MDDBREQ} -c ${MANUFACTURE_DB} set modify - ${PORT_NODE}/description string "external port"
  1731.             if [ "$sw_mgmt_id" = "d94" ]; then
  1732.                 VLAN_PREFIX=/mfg/mfdb/iss/config/vlan/interface/${ifindex}/switchport
  1733.                 ${MDDBREQ} -c ${MANUFACTURE_DB} set modify - /mfg/mfdb/iss/config/vcm/interface/${ifindex} string ${ifindex}
  1734.                 ${MDDBREQ} -c ${MANUFACTURE_DB} set modify - ${VLAN_PREFIX}/mode string trunk
  1735.                 ${MDDBREQ} -c ${MANUFACTURE_DB} set modify - ${VLAN_PREFIX}/scope string all
  1736.                 ${MDDBREQ} -c ${MANUFACTURE_DB} set modify - ${VLAN_PREFIX}/tagging-def-vlan bool true
  1737.                 ${MDDBREQ} -c ${MANUFACTURE_DB} set modify - ${PORT_NODE}/vpi_type string "eth"
  1738.             elif [ "$sw_mgmt_id" = "cad" ]; then
  1739.                 ${MDDBREQ} -c ${MANUFACTURE_DB} set modify - ${PORT_NODE}/vpi_type string "ib"
  1740.             fi
  1741.         done
  1742.  
  1743.         #
  1744.         # The nodes are copied from mfdb in md_chassis_init, md_chassis_add_initial()
  1745.         #
  1746.  
  1747.         create_new_admin_account
  1748.  
  1749.     # end block for SX90Y3245 and SX90Y3476
  1750.     fi
  1751. }
  1752.  
  1753. settings_for_DKBA41313161() {
  1754. # for DKBA41313161 blade system, we want to swap between mgmt0 and mgmt1,
  1755. # that is, we want to call the default mgmt0 interface by the name mgmt1
  1756. # and vice versa.
  1757. # for that we are going to change the relevant nodes that hold the
  1758. # interface name mappings and basically do something similar to the code section
  1759. # in manufacture.sh script under the comment:
  1760. # "Write out the list of mac -> interface name mappings"
  1761.  
  1762.     if [ "$system_type" = "DKBA41313161" ]; then
  1763.        
  1764.         vecho 0 "-- system_type is DKBA41313161. Will overide interface name mapping"
  1765.        
  1766.         if [ "$IS_REMANUFACTURE_SWITCHX" -eq 1 ]; then
  1767.        
  1768.             vecho 0 "-- system is over going a remanufacture ."
  1769.             vecho 0 "-- will re calculate the values for variables:"
  1770.             vecho 0 "-- IF_ACCEPTED_PATTERN, IF_CHECK_PHYSICAL, IF_NAME_MAC_RAW, IF_MACS_LIST"
  1771.             IF_ACCEPTED_PATTERN='.*'
  1772.             IF_CHECK_PHYSICAL=1
  1773.             if [ "${IF_CHECK_PHYSICAL}" = "1" ]; then
  1774.                 # XXX #dep/parse: ifconfig
  1775.                 IF_CANDIDATES=`ifconfig -a | egrep '^[^ \t]' | grep 'Ethernet.*HWaddr' | awk '{print $1}' | tr '\n' ' '`
  1776.  
  1777.                 # Now, walk the candidates, and make sure there's a device file for each
  1778.                 IF_ACCEPTED=
  1779.                 IF_ACCEPTED_PATTERN=
  1780.                 for ifn in ${IF_CANDIDATES}; do
  1781.                     DN="/sys/class/net/${ifn}/device"
  1782.                     if [ -e "${DN}" ]; then
  1783.                         IF_ACCEPTED="${IF_ACCEPTED} ${ifn}"
  1784.                         if [ ! -z "${IF_ACCEPTED_PATTERN}" ]; then
  1785.                             IF_ACCEPTED_PATTERN="${IF_ACCEPTED_PATTERN}|${ifn}"
  1786.                         else
  1787.                             IF_ACCEPTED_PATTERN="${ifn}"
  1788.                         fi
  1789.                     fi
  1790.                 done
  1791.             fi      
  1792.              
  1793.             # XXX #dep/parse: ifconfig
  1794.             IF_NAME_MAC_RAW=`ifconfig -a | grep 'Ethernet.*HWaddr' | sed 's/^\([^ ]*\) .*HWaddr \(.*\)/\2 \1/' | tr -s ' ' | egrep -v '^.* [^:]*:.*$' | egrep ' ('${IF_ACCEPTED_PATTERN}')$'`
  1795.             IF_MACS_LIST=`echo "${IF_NAME_MAC_RAW}" | awk '{print $1}' | tr '\n' ' '`
  1796.                
  1797.         fi
  1798.                    
  1799.         # we now iterate over all found macs, for each mac we look at its configuration node"
  1800.         # and if it was configured to have the name mgmt0 we override this to be mgmt1 and vice versa
  1801.         for mac in ${IF_MACS_LIST}; do
  1802.  
  1803.             if_nums=`${MDDBREQ} -v ${MANUFACTURE_DB} query iterate - /mfg/mfdb/interface/map/macifname | tr '\n' ' '`
  1804.            
  1805.             for ifn in ${if_nums}; do
  1806.            
  1807.                 macaddr=`${MDDBREQ} -v ${MANUFACTURE_DB} query get - /mfg/mfdb/interface/map/macifname/${ifn}/macaddr`
  1808.                 if_name=`${MDDBREQ} -v ${MANUFACTURE_DB} query get - /mfg/mfdb/interface/map/macifname/${ifn}/name`
  1809.                
  1810.                 if [ "$macaddr" = "$mac" ]; then
  1811.                      if [ "$if_name" = "mgmt0" ]; then
  1812.                         vecho 0 "-- overriding interface name mapping for ${mac} from ${if_name} to mgmt1"
  1813.                         ${MDDBREQ} -c ${MANUFACTURE_DB} set modify - /mfg/mfdb/interface/map/macifname/${ifn}/name string "mgmt1"
  1814.                      elif [ "$if_name" = "mgmt1" ]; then
  1815.                         vecho 0 "-- overriding interface name mapping for ${mac} from ${if_name} to mgmt0"
  1816.                         ${MDDBREQ} -c ${MANUFACTURE_DB} set modify - /mfg/mfdb/interface/map/macifname/${ifn}/name string "mgmt0"
  1817.                      else
  1818.                         vecho 0 "-- unknown interface name: ${if_name}"
  1819.                      fi
  1820.                 fi
  1821.                
  1822.             done
  1823.            
  1824.         done
  1825.        
  1826.         # for this system type we are disabling http and https
  1827.         # this means no web for this system type.
  1828.         for i in \
  1829.             "/mfg/mfdb/switchx/system/chassis/config/web/permanent_disable"
  1830.         do
  1831.             ${MDDBREQ} -c ${MANUFACTURE_DB} set modify - $i bool true
  1832.         done
  1833.        
  1834.     fi
  1835. }
  1836.  
  1837. mlx_general_settings() {
  1838.     local ib_enabled=$((system_profile & 0x1))
  1839.     local eth_enabled=$((((system_profile & 0x2)) >> 1))
  1840.     local IB=0
  1841.     local IB_MULTI=1
  1842.     local ETH=2
  1843.     local VPI=4
  1844.     local IB_NO_AR=6
  1845.     local profile
  1846.     local adaptive_routing_en="true"
  1847.     local ib_router_en="false"
  1848.     local swid_enable_mask=0
  1849.     local swid_type_mask=0
  1850.  
  1851.     if [ "$ib_enabled" -eq 1 ] && [ "$eth_enabled" -eq 1 ]; then
  1852.         profile=$VPI
  1853.         elif [ "$ib_enabled" -eq 1 ]; then
  1854.         if [ $num_swids -gt 1 ]; then
  1855.             profile=$IB_MULTI
  1856.         else
  1857.             profile=$IB
  1858.         fi
  1859.         else
  1860.                 profile=$ETH
  1861.         fi
  1862.  
  1863.     if [ "$ib_enabled" -eq 1 ]; then
  1864.         # settings for IB
  1865.  
  1866.         ${MDDBREQ} -c ${MANUFACTURE_DB} set modify - /mfg/mfdb/net/interface/config/ib0/enable bool true
  1867.         ${MDDBREQ} -c ${MANUFACTURE_DB} set modify - /mfg/mfdb/net/interface/config/ib0/mtu uint16 2044
  1868.    
  1869.         #
  1870.         # The ib0 interface nodes are copied by the code in md_if_config, md_interface_copy_mfdb()
  1871.         #
  1872.     fi
  1873.  
  1874.     if [ "$profile" = "$IB_MULTI" ]; then
  1875.    
  1876.         let last_swid=$num_swids-1
  1877.         for swidno in $(seq 1 $last_swid)
  1878.         do
  1879.             ${MDDBREQ} -c ${MANUFACTURE_DB} set modify - /mfg/mfdb/net/interface/config/ib$swidno/enable bool true
  1880.             ${MDDBREQ} -c ${MANUFACTURE_DB} set modify - /mfg/mfdb/net/interface/config/ib$swidno/mtu uint16 2044    
  1881.         done
  1882.    
  1883.         if [ "$system_fru_id"  -eq 7780 ]; then
  1884.             ib_router_en="true"
  1885.             adaptive_routing_en="false"
  1886.  
  1887.             # Port 1 (ifindex=100) in SWID 0 (infiniband-default)
  1888.             ${MDDBREQ} -c ${MANUFACTURE_DB} set modify - /mfg/mfdb/portd/config/ifindex/100 uint32 100
  1889.             ${MDDBREQ} -c ${MANUFACTURE_DB} set modify - /mfg/mfdb/portd/config/ifindex/100/swid uint8 0
  1890.  
  1891.             # Port 2 (ifindex=99) in SWID 1 (infiniband-1)
  1892.             ${MDDBREQ} -c ${MANUFACTURE_DB} set modify - /mfg/mfdb/portd/config/ifindex/99 uint32 99
  1893.             ${MDDBREQ} -c ${MANUFACTURE_DB} set modify - /mfg/mfdb/portd/config/ifindex/99/swid uint8 1
  1894.  
  1895.             # Port 1 initial configuration
  1896.             ${MDDBREQ} -c ${MANUFACTURE_DB} set modify - /mfg/mfdb/ib/config/externalports/100 uint32 100
  1897.             ${MDDBREQ} -c ${MANUFACTURE_DB} set modify - /mfg/mfdb/ib/config/externalports/100/enable uint8 1
  1898.             ${MDDBREQ} -c ${MANUFACTURE_DB} set modify - /mfg/mfdb/ib/config/externalports/100/fec string "-1"
  1899.             ${MDDBREQ} -c ${MANUFACTURE_DB} set modify - /mfg/mfdb/ib/config/externalports/100/mtu string "-1"
  1900.             ${MDDBREQ} -c ${MANUFACTURE_DB} set modify - /mfg/mfdb/ib/config/externalports/100/op_vls uint8 255
  1901.             ${MDDBREQ} -c ${MANUFACTURE_DB} set modify - /mfg/mfdb/ib/config/externalports/100/port uint32 1
  1902.             ${MDDBREQ} -c ${MANUFACTURE_DB} set modify - /mfg/mfdb/ib/config/externalports/100/slot uint32 1
  1903.             ${MDDBREQ} -c ${MANUFACTURE_DB} set modify - /mfg/mfdb/ib/config/externalports/100/speed uint8 255
  1904.             ${MDDBREQ} -c ${MANUFACTURE_DB} set modify - /mfg/mfdb/ib/config/externalports/100/switch string ""
  1905.             ${MDDBREQ} -c ${MANUFACTURE_DB} set modify - /mfg/mfdb/ib/config/externalports/100/width uint8 255
  1906.  
  1907.             # Port 2 initial configuration
  1908.             ${MDDBREQ} -c ${MANUFACTURE_DB} set modify - /mfg/mfdb/ib/config/externalports/99 uint32 99
  1909.             ${MDDBREQ} -c ${MANUFACTURE_DB} set modify - /mfg/mfdb/ib/config/externalports/99/enable uint8 1
  1910.             ${MDDBREQ} -c ${MANUFACTURE_DB} set modify - /mfg/mfdb/ib/config/externalports/99/fec string "-1"
  1911.             ${MDDBREQ} -c ${MANUFACTURE_DB} set modify - /mfg/mfdb/ib/config/externalports/99/mtu string "-1"
  1912.             ${MDDBREQ} -c ${MANUFACTURE_DB} set modify - /mfg/mfdb/ib/config/externalports/99/op_vls uint8 255
  1913.             ${MDDBREQ} -c ${MANUFACTURE_DB} set modify - /mfg/mfdb/ib/config/externalports/99/port uint32 2
  1914.             ${MDDBREQ} -c ${MANUFACTURE_DB} set modify - /mfg/mfdb/ib/config/externalports/99/slot uint32 1
  1915.             ${MDDBREQ} -c ${MANUFACTURE_DB} set modify - /mfg/mfdb/ib/config/externalports/99/speed uint8 255
  1916.             ${MDDBREQ} -c ${MANUFACTURE_DB} set modify - /mfg/mfdb/ib/config/externalports/99/switch string ""
  1917.             ${MDDBREQ} -c ${MANUFACTURE_DB} set modify - /mfg/mfdb/ib/config/externalports/99/width uint8 255
  1918.  
  1919.             # SWID 0 name=infiniband-default mapping (Not used yet)
  1920.             ${MDDBREQ} -c ${MANUFACTURE_DB} set modify - /mfg/mfdb/ibrd/config/interface/infiniband-default string infiniband-default
  1921.             ${MDDBREQ} -c ${MANUFACTURE_DB} set modify - /mfg/mfdb/ibrd/config/interface/infiniband-default/enable bool false
  1922.             ${MDDBREQ} -c ${MANUFACTURE_DB} set modify - /mfg/mfdb/ibrd/config/interface/infiniband-default/owner string router-default
  1923.             ${MDDBREQ} -c ${MANUFACTURE_DB} set modify - /mfg/mfdb/ibrd/config/interface/infiniband-default/swid uint32 0
  1924.  
  1925.             # SWID 1 name=infiniband-1 (Not used yet)
  1926.             ${MDDBREQ} -c ${MANUFACTURE_DB} set modify - /mfg/mfdb/ibrd/config/interface/infiniband-1 string infiniband-1
  1927.             ${MDDBREQ} -c ${MANUFACTURE_DB} set modify - /mfg/mfdb/ibrd/config/interface/infiniband-1/enable bool false
  1928.             ${MDDBREQ} -c ${MANUFACTURE_DB} set modify - /mfg/mfdb/ibrd/config/interface/infiniband-1/owner string router-default
  1929.             ${MDDBREQ} -c ${MANUFACTURE_DB} set modify - /mfg/mfdb/ibrd/config/interface/infiniband-1/swid uint32 1
  1930.         fi
  1931.     fi
  1932.  
  1933.     # MetroX systems do not support Adaptive routing
  1934.     if  [ "$system_type" = "MTX6100" ]  || [ "$system_type" = "MTX6000" ] || \
  1935.         [ "$system_type" = "MTX6240" ]  || [ "$system_type" = "MTX6280" ]; then
  1936.             profile=$IB_NO_AR
  1937.             adaptive_routing_en="false"
  1938.     fi
  1939.  
  1940.     ${MDDBREQ} -c ${MANUFACTURE_DB} set modify - /mfg/mfdb/switchx/system/chassis/config/profile uint8 $profile
  1941.     ${MDDBREQ} -c ${MANUFACTURE_DB} set modify - /mfg/mfdb/switchx/system/chassis/config/type string $system_type
  1942.     ${MDDBREQ} -c ${MANUFACTURE_DB} set modify - /mfg/mfdb/snmp/sys_object_id oid $system_oid
  1943.     ${MDDBREQ} -c ${MANUFACTURE_DB} set modify - /mfg/mfdb/switchx/vsr/global/adaptive_routing bool $adaptive_routing_en
  1944.  
  1945.     let swid_enable_mask=$(((1<<num_swids)-1))
  1946.  
  1947.     # SWID type has a 1 for each SWID enabled as Eth; for VPI this is only SWID 0
  1948.     if [ "$profile" = "$IB" ]; then
  1949.         swid_type_mask=0
  1950.     elif [ "$profile" = "$IB_MULTI" ]; then
  1951.         swid_type_mask=0
  1952.     elif [ "$profile" = "$ETH" ]; then
  1953.         swid_type_mask=$swid_enable_mask
  1954.     elif [ "$profile" = "$VPI" ]; then
  1955.         swid_type_mask=1
  1956.     fi
  1957.  
  1958.     ${MDDBREQ} -c ${MANUFACTURE_DB} set modify - /mfg/mfdb/switchx/vsr/global/ib_router_allowed bool $ib_router_en
  1959.     ${MDDBREQ} -c ${MANUFACTURE_DB} set modify - /mfg/mfdb/switchx/vsr/global/vpd_swid_enable_mask uint32 $swid_enable_mask
  1960.     ${MDDBREQ} -c ${MANUFACTURE_DB} set modify - /mfg/mfdb/switchx/vsr/global/vpd_swid_type_mask uint32 $swid_type_mask
  1961.  
  1962.     #
  1963.     # DHCP settings
  1964.     # The mgmt0/1 interface nodes are copied by the code in md_if_config, md_interface_copy_mfdb()
  1965.     #
  1966.     if  [ "$system_type" = "SX60XX" ]  || \
  1967.         [ "$system_type" = "SX1024" ]  || [ "$system_type" = "SX6018" ]  || \
  1968.         [ "$system_type" = "MTX6000" ] || [ "$system_type" = "MTX6100" ] || \
  1969.         [ "$system_type" = "SX1024X" ] || [ "$system_type" = "PIRANHAX" ]|| \
  1970.         [ "$system_type" = "MSX6710" ] || [ "$system_type" = "MSX6720" ] || \
  1971.         [ "$system_type" = "DKBA41313161" ] || [ "$system_type" = "MSX6730" ] || \
  1972.         [ "$system_type" = "MSB7700" ] || [ "$system_type" = "MSN2700" ] || \
  1973.         [ "$system_type" = "MSX1410" ] || [ "$system_type" = "MMB7500" ] || \
  1974.         [ "$system_type" = "MSN2410" ] || [ "$system_type" = "MSX1036B" ]; then
  1975.         ${MDDBREQ} -c ${MANUFACTURE_DB} set modify - /mfg/mfdb/net/interface/config/mgmt0/addr/ipv4/dhcp bool true
  1976.         ${MDDBREQ} -c ${MANUFACTURE_DB} set modify - /mfg/mfdb/net/interface/config/mgmt1/addr/ipv4/dhcp bool true
  1977.     elif [ "$system_type" = "SX6012" ] || [ "$system_type" = "SX10XX" ] || \
  1978.          [ "$system_type" = "MSB7800" ] ||  [ "$system_type" = "MSN2740" ] || \
  1979.          [ "$system_type" = "MSN2100" ]  || [ "$system_type" = "SH2200-C" ]; then
  1980.         ${MDDBREQ} -c ${MANUFACTURE_DB} set modify - /mfg/mfdb/net/interface/config/mgmt0/addr/ipv4/dhcp bool true
  1981.     fi
  1982.  
  1983.     if [ "$system_type" = "IS5600MDC" ] || [ "$system_type" = "SXCA07156" ]; then
  1984.         ${MDDBREQ} -c ${MANUFACTURE_DB} set modify - /mfg/mfdb/net/interface/config/mgmt0/addr/ipv4/dhcp bool true
  1985.     fi
  1986.  
  1987.     if [ "$system_type" = "IS5600MDC" ] || [ "$system_type" = "SX10XX" ]; then
  1988.         ${MDDBREQ} -c ${MANUFACTURE_DB} set modify - /mfg/mfdb/net/interface/config/mgmt1/display bool false
  1989.     elif [ "$system_type" = "MMB7500" ]; then
  1990.         ${MDDBREQ} -c ${MANUFACTURE_DB} set modify - /mfg/mfdb/net/interface/config/mgmt2/display bool false
  1991.         ${MDDBREQ} -c ${MANUFACTURE_DB} set modify - /mfg/mfdb/net/interface/config/mgmt3/display bool false
  1992.     fi
  1993.    
  1994.     if [ "$system_type" = "MTX6240" ] || [ "$system_type" = "MTX6280" ]; then
  1995.         ${MDDBREQ} -c ${MANUFACTURE_DB} set modify - /mfg/mfdb/net/interface/config/mgmt0/addr/ipv4/dhcp bool true
  1996.         ${MDDBREQ} -c ${MANUFACTURE_DB} set modify - /mfg/mfdb/net/interface/config/mgmt1/addr/ipv4/dhcp bool false
  1997.         ${MDDBREQ} -c ${MANUFACTURE_DB} set modify - /mfg/mfdb/net/interface/config/mgmt1/addr/ipv4/static/1 uint8 1
  1998.         ${MDDBREQ} -c ${MANUFACTURE_DB} set modify - /mfg/mfdb/net/interface/config/mgmt1/addr/ipv4/static/1/ip ipv4addr 169.254.2.2
  1999.         ${MDDBREQ} -c ${MANUFACTURE_DB} set modify - /mfg/mfdb/net/interface/config/mgmt1/addr/ipv4/static/1/mask_len uint8 16
  2000.     fi
  2001.    
  2002.     if [ "$system_type" = "MSB7800" ] || [ "$system_type" = "MSN2740" ] || [ "$system_type" = "MSN2100" ] || \
  2003.        [ "$system_type" = "SH2200-C" ]; then
  2004.         # Scorpion 2, bulldog and street fighter has only 1 mgmt interface, we need to remove this node created in manufacture.sh
  2005.         ${MDDBREQ} ${MANUFACTURE_DB} set delete - /mfg/mfdb/interface/name/2
  2006.         # These nodes are created in remanufacture flow before system type is queried. need to delete as well
  2007.         ${MDDBREQ} ${MANUFACTURE_DB} set delete - /mfg/mfdb/net/interface/config/mgmts1
  2008.     fi
  2009.    
  2010.     # Create bridge configurations
  2011.     ${MDDBREQ} -c ${MANUFACTURE_DB} set modify - /mfg/mfdb/net/bridge/config/mgmt0 string "mgmt0"
  2012.     ${MDDBREQ} -c ${MANUFACTURE_DB} set modify - /mfg/mfdb/net/bridge/config/mgmt0/interface/mgmts0 string "mgmts0"
  2013.  
  2014.     # Scorpion 2, bulldog and street fighter has only 1 mgmt interface
  2015.     if [ "$system_type" != "MSB7800" ] && [ "$system_type" != "MSN2740" ] && [ "$system_type" != "MSN2100" ] && \
  2016.        [ "$system_type" != "SH2200-C" ]; then
  2017.         ${MDDBREQ} -c ${MANUFACTURE_DB} set modify - /mfg/mfdb/net/bridge/config/mgmt1 string "mgmt1"
  2018.         ${MDDBREQ} -c ${MANUFACTURE_DB} set modify - /mfg/mfdb/net/bridge/config/mgmt1/interface/mgmts1 string "mgmts1"
  2019.     fi
  2020.  
  2021.         if [ "$system_fru_id_hex" = "5e2a" ]; then
  2022.         #Tejas systems
  2023.         ${MDDBREQ} -c ${MANUFACTURE_DB} set modify - /mfg/mfdb/system/issue string $'\n'"Tejas TJ1400P-M4-48DQ-S Switch Management"$'\n'
  2024.         ${MDDBREQ} -c ${MANUFACTURE_DB} set modify - /mfg/mfdb/system/issue_net string $'\n'"Tejas TJ1400P-M4-48DQ-S Switch Management"$'\n'
  2025.         ${MDDBREQ} -c ${MANUFACTURE_DB} set modify - /mfg/mfdb/system/motd string $'\n'"Tejas Switch"$'\n'
  2026.         ${MDDBREQ} -c ${MANUFACTURE_DB} set modify - /mfg/mfdb/system/eula/config/enable bool false
  2027.         ${MDDBREQ} -c ${MANUFACTURE_DB} set modify - /mfg/mfdb/switchx/system/chassis/config/welcome_approved_ver string "-1"
  2028.         elif [ "$system_fru_id_hex" = "371a" ] || [ "$system_fru_id_hex" = "5e29" ]; then
  2029.         #UT-Starcom systems
  2030.         ${MDDBREQ} -c ${MANUFACTURE_DB} set modify - /system/issue string $'\n'"UTStarcom UT-OS Switch Management"$'\n'
  2031.         ${MDDBREQ} -c ${MANUFACTURE_DB} set modify - /system/issue_net string $'\n'"UTStarcom UT-OS Switch Management"$'\n'
  2032.         ${MDDBREQ} -c ${MANUFACTURE_DB} set modify - /system/motd string $'\n'"UTStarcom Switch"$'\n'
  2033.     elif [ "$system_fru_id_hex" = "41ebf" ] || [ "$system_fru_id_hex" = "3ad77" ] || [ "$system_fru_id_hex" = "3345f" ] || [ "$system_fru_id_hex" = "3ad7c" ]; then
  2034.         #HPE systems
  2035.         ${MDDBREQ} -c ${MANUFACTURE_DB} set modify - /mfg/mfdb/system/issue string $'\n'"HPE StoreFabric Switch Management"$'\n'
  2036.         ${MDDBREQ} -c ${MANUFACTURE_DB} set modify - /mfg/mfdb/system/issue_net string $'\n'"HPE StoreFabric Switch Management"$'\n'
  2037.         ${MDDBREQ} -c ${MANUFACTURE_DB} set modify - /mfg/mfdb/system/motd string $'\n'"HPE StoreFabric Switch"$'\n'
  2038.         ${MDDBREQ} -c ${MANUFACTURE_DB} set modify - /mfg/mfdb/system/eula/config/enable bool false
  2039.         ${MDDBREQ} -c ${MANUFACTURE_DB} set modify - /mfg/mfdb/switchx/system/chassis/config/welcome_approved_ver string "-1"
  2040.     else
  2041.         #Default MLNX banners
  2042.                 ${MDDBREQ} -c ${MANUFACTURE_DB} set modify - /system/issue string $'\n'"Mellanox MLNX-OS Switch Management"$'\n'
  2043.                 ${MDDBREQ} -c ${MANUFACTURE_DB} set modify - /system/issue_net string $'\n'"Mellanox MLNX-OS Switch Management"$'\n'
  2044.                 ${MDDBREQ} -c ${MANUFACTURE_DB} set modify - /system/motd string $'\n'"Mellanox Switch"$'\n'
  2045.         fi
  2046.  
  2047. }
  2048.  
  2049. reset_factory() {
  2050.     # open the gate to allow changes on SX90Y3245 and SX90Y3476
  2051.     cli -m config -t "internal a - /cme/action/mm_iface_control deny value bool false"
  2052.     cli -m config -t "reset factory"
  2053. }
  2054.  
  2055. HAVE_MANUFACTURE_SWITCHX=y
  2056. MANUFACTURE_DB=$MFG_DB_PATH
  2057. manufacture_switchx() {
  2058.     load_sx_low_level_if_bf
  2059.     mlxi2c_bf_pointer="mlxi2c_bf"
  2060.     get_system_info
  2061.     mlx_general_settings
  2062.     settings_for_SX90Y
  2063.     settings_for_SXCA
  2064.     settings_for_DKBA41313161
  2065.     settings_for_per_port_licensing
  2066. }
Advertisement
Add Comment
Please, Sign In to add comment