edgecase_datafeed 28 2018-01-09 This is the date at the time of creation of this datafeed article. A checkpoint article containing a hash of this datafeed article may be created on this date or at a later date. 22 5 2017-11-25 bitcoin a8a1d4601a920583445b0c5632e3eaa723a42b10150ff8c2fd26e3665ead5dec 496044 16HqZyw9J61GQkDWSFJAsoQEGQLjNVhisP 1QGiZVqaK1CQunxuFHSs63sGvqtces4V4j
Installing_Centos_6.9_Minimal_on_Kalkin stjohn_piano 2018-01-09 no GOAL: Make an installation USB memory stick using the smallest available Centos 6.9 binary. Use this stick to install Centos 6.9 on article New_computer:_Kalkin edgecase 17 Kalkin . CONTENTS: - Goal - Contents - Brief Summary - Downloadable Assets - Discoveries - Project Log BRIEF SUMMARY: This is a long and meandering project. It took me a long time to figure out a solution. I learned a lot of new things along the way. This log may be of use either to someone who is tackling a very similar problem or simply as an example of how to approach/explore/solve an unknown problem. I was able to create an Centos 6.9 installation USB memory stick. I repeatedly failed to install Centos onto Kalkin's hard disk. The hard disk in Kalkin contained BIOS RAID metadata. I think it was formatted to be part of a RAID array. This raised an error in the Centos installation program, which I did not understand and ignored. I explored various approaches, which led to a workable understanding of changing BIOS settings (e.g. the boot order), changing Grub settings during boot, bootloaders and the boot process, and the use of a shell built into the Centos installation program. Eventually, I tried to run the Centos installation program while two memory sticks were inserted. It asked which of the devices I wanted to install to, rather than choosing the only available disk by default, which is what it would do if only one device was connected. I realised that the Centos installation program, at that point in the setup process, was unable to recognise the hard disk. It had previously tried to notify me that this was the case by raising an error earlier in the process. I was able to use the shell built into the Centos installation program to reformat the hard disk into a usable format. The Centos installation program was then able to proceed normally. I now have a working instance of Centos 6.9 Minimal installed on Kalkin. DOWNLOADABLE ASSETS: The Centos 6.9 ISO image file and the Centos 6 signing key: asset centos-6.9-x86_64-minimal.iso centos-6.9-x86_64-minimal.iso 422af57b493b8af49d485885a730c5a1d955f803fac85aa51311c393168b9080 asset rpm-gpg-key-centos-6 rpm-gpg-key-centos-6 917d9c58a79f9a68e71fad739dda2728edbd8a7cde235245c7852f330663613f Everything else: asset 0_readme.txt 0_readme.txt e8e544a0db44a7800eaa6c9745082f74ccb0d05082fb254ba058eecc0d95102a asset md5sums.txt md5sums.txt 36f586fe38a730de2789539e7c6af30695e6e55bae886086bf8d64aad3b83d4e asset md5sums.txt.asc md5sums.txt.asc 51fbbacd1e8972ca1d8dd77085fe1a1a02c22a9f8ffbd1e53be68c472d0418e7 asset readme.txt readme.txt e8e544a0db44a7800eaa6c9745082f74ccb0d05082fb254ba058eecc0d95102a asset sha1sums.txt sha1sums.txt 500143ad3a8793896bb8ba029be5ee02d658025b8480cc3965984e0395fe4bd1 asset sha1sums.txt.asc sha1sums.txt.asc 18eb933e2e5e35d4d2b42f6e2954a35448a317a51047fdb844986a56067f10cc asset sha256sums.txt sha256sums.txt c81bede31faaccf30d4c30ea9dd236def3f72a4b88d8fe1fefc6628e444afb86 asset sha256sums.txt.asc sha256sums.txt.asc ae8bafed91ecc6dcabe0328db0d682955809db4d562920593d66439ede4e9f4a Note: I have changed all asset names to be lower case. This affects 0_README.txt, README.txt, and RPM-GPG-KEY-CentOS-6. Note: 0_readme.txt is identical to readme.txt. DISCOVERIES: The /dev/sd* and /dev/hd* disk identifiers will not necessarily be consistent between boots. The BIOS is stored in a read-only-memory (ROM) chip on the motherboard. When the computer is turned on, the processor will begin executing instructions stored in the BIOS. The "Missing ISO 9660 Image" error during the installation process means that the Centos installation program can't find the Centos ISO image file that it wants to write to the target disk. The boot process for an operating system can be interrupted at the Grub bootloader layer. The Grub configuration and target operating system can be changed here before continuing with the boot process. The Centos installation program contains a shell. It can be reached by pressing Ctrl-Alt-F2 when you reach the first GUI screen. Press Ctrl-Alt-F6 to switch back to the GUI. If the Centos installation program only sees one disk, it will assume that this is the target disk for installation. If it sees two or more disks, it will ask the user which disks to treat as target disks (and which one of those should have the bootloader installed). The Centos installation program does not use the BIOS boot order to choose its target drive. A disk can be divided into partitions. A filesystem can be written onto a partition. To always mount a filesystem on boot, add a command to specify this in the /etc/fstab file. A lost+found directory within the mountpoint directory typically indicates the root of an Ext* filesystem. A new filesystem can be tested by writing and removing a file on it. The shell in the Centos installation program can be used to partition and format a disk e.g. the hard disk. Commands successfully used in this shell: [anaconda root@localhost /]# fdisk -l [anaconda root@localhost /]# ls -1 /mnt [anaconda root@localhost /]# mkdir /mnt/test1 [anaconda root@localhost /]# mount /dev/sda1 /mnt/test1 [anaconda root@localhost /]# umount /dev/sda1 [anaconda root@localhost /]# ps -ef | grep sd [anaconda root@localhost /]# ls -a1 /mnt/isodir [anaconda root@localhost /]# find / -type f -name "*.iso" [anaconda root@localhost /]# dd --version [anaconda root@localhost /]# df -h [anaconda root@localhost /]# cp /mnt/test1/CentOS-6.9-x86_64-minimal.iso /mnt/isodir/CentOS-6.9-x86_64-minimal.iso [anaconda root@localhost /]# grub --version [anaconda root@localhost /]# grub [anaconda root@localhost /]# parted --version [anaconda root@localhost /]# parted -l [anaconda root@localhost /]# parted /dev/sdh mklabel msdos [anaconda root@localhost /]# parted -a opt /dev/sdh mkpart primary ext4 0% 100% [anaconda root@localhost /]# mkfs.ext4 -L mainpartition /dev/sdh1 [anaconda root@localhost /]# blkid [anaconda root@localhost /]# mount -o defaults /dev/sdh1 /mnt/test [anaconda root@localhost /]# echo "success" \> /mnt/test/foo.txt [anaconda root@localhost /]# cat /mnt/test/foo.txt [anaconda root@localhost /]# rm /mnt/test/foo.txt The main point of the boot process appears to be to get the operating system's main() loop loaded into RAM and get the CPU to target this loop. Various layers exist between powering on the motherboard and arriving at the main loop of the operating system. I think the boot sequence works roughly like this: 1. Power on the motherboard. 2. Motherboard is constructed such that the CPU will begin execution of the BIOS (stored in a ROM chip on motherboard). 3. BIOS will attempt to boot from each available device in the order specified in the BIOS boot sequence list. 4. BIOS loads bootloader (e.g. Grub) into system memory (RAM). Bootloader is stored on the bootable device, not on the motherboard. 5. Bootloader loads operating system (e.g. Centos) into RAM. Bootloader may have multiple stages. 6. Bootloader turns over control to the operating system's main() loop and ceases to be used. PROJECT LOG: I have already confirmed that Centos 6.9 will boot and run on Kalkin by using a article Making_a_Centos_6.9_bootable_USB_memory_stick_on_Mac_OS_X_10.6.8_Snow_Leopard edgecase 19 Centos 6.9 bootable USB stick . My work machine: 2008 Apple MacBook running Mac OS X 10.6.8 Snow Leopard Name of work machine: Aineko Aineko is the name of an increasingly intelligent robotic cat in the book Accelerando by Charles Stross. Make a directory for this project. In my case, it's called centos_minimal_stick. Browse to hyperlink http://wiki.centos.org/Download wiki.centos.org/Download Note: I'm using the Chrome browser, version 49.0.2623.112 (64-bit). In the Base Distribution section, in the row where CentOS Linux Version == 6, click x86_64. This leads to hyperlink http://isoredirect.centos.org/centos/6/isos/x86_64/ isoredirect.centos.org/centos/6/isos/x86_64/ In the Actual Country section, choose first mirror: hyperlink http://mirror.ox.ac.uk/sites/mirror.centos.org/6.9/isos/x86_64 mirror.ox.ac.uk/sites/mirror.centos.org/6.9/isos/x86_64 Files listed: - 0_README.txt - CentOS-6.9-x86_64-LiveDVD.iso - CentOS-6.9-x86_64-LiveDVD.torrent - CentOS-6.9-x86_64-bin-DVD1.iso - CentOS-6.9-x86_64-bin-DVD1to2.torrent - CentOS-6.9-x86_64-bin-DVD2.iso - CentOS-6.9-x86_64-minimal.iso - CentOS-6.9-x86_64-minimal.torrent - CentOS-6.9-x86_64-netinstall.iso - CentOS-6.9-x86_64-netinstall.torrent - README.txt - md5sum.txt - md5sum.txt.asc - sha1sum.txt - sha1sum.txt.asc - sha256sum.txt - sha256sum.txt.asc Right-click 0_README.txt and choose "Save Link As ...". Save it to the project directory centos_minimal_stick. Open a terminal and change directory to the project directory centos_minimal_stick. aineko:centos_minimal_stick stjohnpiano$ ls 0_README.txt aineko:centos_minimal_stick stjohnpiano$ cat 0_README.txt What images are in this directory CentOS-6.9-x86_64-netinstall.iso This is the network install and rescue image. This image is designed to be burned onto a CD. You then boot your computer off the CD. CentOS-6.9-x86_64-minimal.iso The aim of this image is to install a very basic CentOS 6.9 system, with the minimum of packages needed to have a functional system. Please burn this image onto a CD and boot your computer off it. A preselected set of packages will be installed on your system. Everything else needs to be installed using yum. The set of packages installed by this image is identical to the one installed when choosing the group named "Minimal" from the full DVD image. CentOS-6.9-x86_64-bin-DVD1.iso CentOS-6.9-x86_64-bin-DVD2.iso These two dvd images contain the entire base distribution. Please burn DVD1 onto a DVD and boot your computer off it. A basic install will not need DVD2. After the installation is complete, please run "yum update" in order to update your system. CentOS-6.9-x86_64-LiveDVD.iso This is a DVD live image of CentOS 6.9 designed to be burned onto a DVD. You then boot your computer using that DVD. Please read http://wiki.centos.org/Manuals/ReleaseNotes/CentOSLiveDVD6.9 for more details about this image. The disk can also be used to install CentOS 6.9 onto your computer but without offering any package selection options at install time. Remember that in order to be able to partition your disk you will need to run the GUI installer which in turns needs enough RAM. The same is true for the network setup step. The release notes ( http://wiki.centos.org/Manuals/ReleaseNotes/CentOS6.9 ) provide more details about these aspects. Key section that interests me: CentOS-6.9-x86_64-minimal.iso The aim of this image is to install a very basic CentOS 6.9 system, with the minimum of packages needed to have a functional system. Please burn this image onto a CD and boot your computer off it. A preselected set of packages will be installed on your system. Everything else needs to be installed using yum. The set of packages installed by this image is identical to the one installed when choosing the group named "Minimal" from the full DVD image. I'll download this .iso file, check the hashes and signatures, and write it to a memory stick. I'll work through the steps I explored in article Making_a_Centos_6.9_bootable_USB_memory_stick_on_Mac_OS_X_10.6.8_Snow_Leopard edgecase 19 Making a Centos 6.9 bootable USB memory stick on Mac OS X 10.6.8 Snow Leopard . Right-click CentOS-6.9-x86_64-minimal.torrent and save it to the project directory. Start the m___Torrent (Version 1.8.1 (28758)) application, and use it to open the CentOS-6.9-x86_64-minimal.torrent file. The Add New Torrent dialogue box provides a list of the contents of the torrent: - 0_README.txt - CentOS-6.9-x86_64-minimal.iso - README.txt - md5sums.txt - md5sums.txt.asc - sha1sums.txt - sha1sums.txt.asc - sha256sums.txt - sha256sums.txt.asc Click OK to begin torrenting. The resulting directory CentOS-6.9-x86_64-minimal is downloaded to my Downloads directory. Move it to the project directory centos_minimal_stick. aineko:centos_minimal_stick stjohnpiano$ ls -1 0_README.txt CentOS-6.9-x86_64-minimal CentOS-6.9-x86_64-minimal.torrent aineko:centos_minimal_stick stjohnpiano$ ls -1 CentOS-6.9-x86_64-minimal 0_README.txt CentOS-6.9-x86_64-minimal.iso README.txt md5sums.txt md5sums.txt.asc sha1sums.txt sha1sums.txt.asc sha256sums.txt sha256sums.txt.asc Let's check file size. aineko:centos_minimal_stick stjohnpiano$ cd CentOS-6.9-x86_64-minimal aineko:CentOS-6.9-x86_64-minimal stjohnpiano$ du -h CentOS-6.9-x86_64-minimal.iso 408M CentOS-6.9-x86_64-minimal.iso aineko:CentOS-6.9-x86_64-minimal stjohnpiano$ ls -lh CentOS-6.9-x86_64-minimal.iso -rw-r--r-- 1 stjohnpiano staff 408M Dec 18 11:13 CentOS-6.9-x86_64-minimal.iso So CentOS-6.9-x86_64-minimal.iso is 408 MB. Right-click CentOS-6.9-x86_64-minimal.iso and choose Get Info: 427.8 MB on disk (427,819,008 bytes) Why the discrepancy? Google "mac size on disk vs du". Excerpt from: hyperlink http://apple.stackexchange.com/questions/147885/why-large-size-calculation-difference-mac-finder-vs-du apple.stackexchange.com/questions/147885/why-large-size-calculation-difference-mac-finder-vs-du Q: Why large size calculation difference: Mac Finder vs du? I have just noticed that for some of my directories on an external disk there is a huge difference in calculated size depending on whether I use the GUI Finder or du (or rather du -h). Using Finder on this directory I get 145 GB, whereas du gives me 135 GB. That is a difference of 10 GB! Checking another directory I (on my local machine) I get 41 vs 43,7. So there seems to be almost a 10% difference here. Can anyone explain this? asked Oct 1 '14 at 8:44 Nick The Swede A: I'm not entirely sure but 145GB is exactly hyperlink http://www.wolframalpha.com/input/?i=145GB+to+GiB [link] 135 GiB so I think Finder gives result with decimal prefixes while du uses the binary ones. See this article hyperlink http://blog.codinghorror.com/gigabyte-decimal-vs-binary [link] answered Oct 1 '14 at 13:57 Rnhmjoj Excerpt from: hyperlink http://blog.codinghorror.com/gigabyte-decimal-vs-binary blog.codinghorror.com/gigabyte-decimal-vs-binary Author: Jeff Atwood Published: 10 Sep 2007 Title: Gigabyte: Decimal vs. Binary Everyone who has ever purchased a hard drive finds out the hard way that there are two ways to define a gigabyte. When you buy a "500 Gigabyte" hard drive, the vendor defines it using the decimal powers of ten definition of the "Giga" prefix. 500 * 10^9 bytes = 500,000,000,000 = 500 Gigabytes But the operating system determines the size of the drive using the computer's binary powers of two definition of the "Giga" prefix: 465 * 2^30 bytes = 499,289,948,160 = 465 Gigabytes The binary definition of a megabyte has a specific name: Mebibyte. Its abbreviation is MiB instead of MB. I'll use Wolfram Alpha to convert the earlier output of du (408M for CentOS-6.9-x86_64-minimal.iso), which I'll treat as being in mebibytes, into decimal megabytes. hyperlink http://www.wolframalpha.com/input/?i=408MiB+to+MB www.wolframalpha.com/input/?i=408MiB+to+MB Result: 427.8 MB (megabytes) This fits with the hypothesis that the Mac GUI reports file sizes in decimal (e.g. megabytes) and the FreeBSD tools underneath it report file sizes in binary (e.g. mebibytes). They both use the same unit abbreviations (e.g. MB). aineko:CentOS-6.9-x86_64-minimal stjohnpiano$ gpg --version gpg (GnuPG) 1.4.21 Copyright (C) 2015 Free Software Foundation, Inc. License GPLv3+: GNU GPL version 3 or later \ This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law. Home: ~/.gnupg Supported algorithms: Pubkey: RSA, RSA-E, RSA-S, ELG-E, DSA Cipher: IDEA, 3DES, CAST5, BLOWFISH, AES, AES192, AES256, TWOFISH, CAMELLIA128, CAMELLIA192, CAMELLIA256 Hash: MD5, SHA1, RIPEMD160, SHA256, SHA384, SHA512, SHA224 Compression: Uncompressed, ZIP, ZLIB, BZIP2 aineko:CentOS-6.9-x86_64-minimal stjohnpiano$ wget --version GNU Wget 1.17.1 built on darwin10.8.0. +digest -gpgme +https +ipv6 +iri +large-file -metalink +nls +ntlm +opie -psl +ssl/gnutls Wgetrc: /opt/local/etc/wgetrc (system) Locale: /opt/local/share/locale Compile: /usr/bin/gcc-4.2 -DHAVE_CONFIG_H -DSYSTEM_WGETRC="/opt/local/etc/wgetrc" -DLOCALEDIR="/opt/local/share/locale" -I. -I../lib -I../lib -I/opt/local/include -I/opt/local/include -I/opt/local/include -I/opt/local/include/p11-kit-1 -I/opt/local/include -DHAVE_LIBGNUTLS -I/opt/local/include -DNDEBUG -pipe -Os -arch x86_64 Link: /usr/bin/gcc-4.2 -I/opt/local/include -I/opt/local/include -I/opt/local/include/p11-kit-1 -I/opt/local/include -DHAVE_LIBGNUTLS -I/opt/local/include -DNDEBUG -pipe -Os -arch x86_64 -L/opt/local/lib -Wl,-headerpad_max_install_names -arch x86_64 -liconv -lintl -Wl,-framework -Wl,CoreFoundation -L/opt/local/lib -lpcre -lnettle -L/opt/local/lib -lgnutls -L/opt/local/lib -lz -lidn ftp-opie.o gnutls.o http-ntlm.o ../lib/libgnu.a Copyright (C) 2015 Free Software Foundation, Inc. License GPLv3+: GNU GPL version 3 or later \. This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law. Originally written by Hrvoje Niksic \. Please send bug reports and questions to \. Let's download a copy of the public key. aineko:CentOS-6.9-x86_64-minimal stjohnpiano$ wget http://mirror.centos.org/centos/RPM-GPG-KEY-CentOS-6 --2017-12-18 13:01:01-- http://mirror.centos.org/centos/RPM-GPG-KEY-CentOS-6 Resolving mirror.centos.org (mirror.centos.org)... 93.113.36.66, 2a00:1768:1001:48::10 Connecting to mirror.centos.org (mirror.centos.org)|93.113.36.66|:80... connected. HTTP request sent, awaiting response... 200 OK Length: 1706 (1.7K) Saving to: 'RPM-GPG-KEY-CentOS-6' RPM-GPG-KEY-CentOS- 100%[===================\>] 1.67K --.-KB/s in 0s 2017-12-18 13:01:01 (77.5 MB/s) - 'RPM-GPG-KEY-CentOS-6' saved [1706/1706] aineko:CentOS-6.9-x86_64-minimal stjohnpiano$ cat RPM-GPG-KEY-CentOS-6 -----BEGIN PGP PUBLIC KEY BLOCK----- Version: GnuPG v1.4.5 (GNU/Linux) mQINBE4P06MBEACqn48FZgYkG2QrtUAVDV58H6LpDYEcTcv4CIFSkgs6dJ9TavCW NyPBZRpM2R+Rg5eVqlborp7TmktBP/sSsxc8eJ+3P2aQWSWc5ol74Y0OznJUCrBr bIdypJllsD9Fe+h7gLBXTh3vdBEWr2lR+xA+Oou8UlO2gFbVFQqMafUgU1s0vqaE /hHH0TzwD0/tJ6eqIbHwVR/Bu6kHFK4PwePovhfvyYD9Y+C0vOYd5Ict2vbLHz1f QBDZObv4M6KN3j7nzme47hKtdMd+LwFqxM5cXfM6b5doDulWPmuGV78VoX6OR7el x1tlfpuiFeuXYnImm5nTawArcQ1UkXUSYcTUKShJebRDLR3BycxR39Q9jtbOQ29R FumHginovEhdUcinRr22eRXgcmzpR00zFIWoFCwHh/OCtG14nFhefuZ8Z80qbVhW 2J9+/O4tksv9HtQBmQNOK5S8C4HNF2M8AfOWNTr8esFSDc0YA5/cxzdfOOtWam/w lBpNcUUSSgddRsBwijPuWhVA3NmA/uQlJtAo4Ji5vo8cj5MTPG3+U+rfNqRxu1Yc ioXRo4LzggPscaTZX6V24n0fzw0J2k7TT4sX007k+7YXwEMqmHpcMYbDNzdCzUer Zilh5hihJwvGfdi234W3GofttoO+jaAZjic7a3p6cO1ICMgfVqrbZCUQVQARAQAB tEZDZW50T1MtNiBLZXkgKENlbnRPUyA2IE9mZmljaWFsIFNpZ25pbmcgS2V5KSA8 Y2VudG9zLTYta2V5QGNlbnRvcy5vcmc+iQI8BBMBAgAmBQJOD9OjAhsDBQkSzAMA BgsJCAcDAgQVAggDBBYCAwECHgECF4AACgkQCUb8osEFud6ajRAAnb6d+w6Y/v/d MSy7UEy4rNquArix8xhqBwwjoGXpa37OqTvvcJrftZ1XgtzmTbkqXc+9EFch0C+w ST10f+H0SPTUGuPwqLkg27snUkDAv1B8laub+l2L9erzCaRriH8MnFyxt5v1rqWA mVlRymzgXK+EQDr+XOgMm1CvxVY3OwdjdoHNox4TdVQWlZl83xdLXBxkd5IRciNm sg5fJAzAMeg8YsoDee3m4khg9gEm+/Rj5io8Gfk0nhQpgGGeS1HEXl5jzTb44zQW qudkfcLEdUMOECbu7IC5Z1wrcj559qcp9C94IwQQO+LxLwg4kHffvZjCaOXDRiya h8KGsEDuiqwjU9HgGq9fa0Ceo3OyUazUi+WnOxBLVIQ8cUZJJ2Ia5PDnEsz59kCp JmBZaYPxUEteMtG3yDTa8c8jUnJtMPpkwpSkeMBeNr/rEH4YcBoxuFjppHzQpJ7G hZRbOfY8w97TgJbfDElwTX0/xX9ypsmBezgGoOvOkzP9iCy9YUBc9q/SNnflRWPO sMVrjec0vc6ffthu2xBdigBXhL7x2bphWzTXf2T067k+JOdoh5EGney6LhQzcp8m YCTENStCR+L/5XwrvNgRBnoXe4e0ZHet1CcCuBCBvSmsPHp5ml21ahsephnHx+rl JNGtzulnNP07RyfzQcpCNFH7W4lXzqM= =jrWY -----END PGP PUBLIC KEY BLOCK----- aineko:CentOS-6.9-x86_64-minimal stjohnpiano$ gpg --quiet --with-fingerprint RPM-GPG-KEY-CentOS-6 pub 4096R/C105B9DE 2011-07-03 CentOS-6 Key (CentOS 6 Official Signing Key) \ Key fingerprint = C1DA C52D 1664 E8A4 386D BA43 0946 FCA2 C105 B9DE On hyperlink http://www.centos.org/keys www.centos.org/keys , I find: CentOS-6 Signing Key pub 4096R/C105B9DE 2011-07-03 CentOS-6 Key (CentOS 6 Official Signing Key) \ Key fingerprint = C1DA C52D 1664 E8A4 386D BA43 0946 FCA2 C105 B9DE [fingerprint of downloaded key] aineko:CentOS-6.9-x86_64-minimal stjohnpiano$ s1="C1DA C52D 1664 E8A4 386D BA43 0946 FCA2 C105 B9DE" [fingerprint shown on web page https://www.centos.org/keys] aineko:CentOS-6.9-x86_64-minimal stjohnpiano$ s2="C1DA C52D 1664 E8A4 386D BA43 0946 FCA2 C105 B9DE" Check that these fingerprints are identical. aineko:CentOS-6.9-x86_64-minimal stjohnpiano$ [[ "$s1" = "$s2" ]] && echo equal || echo not-equal equal I'm going to use a temporary keyring to check the signatures. aineko:CentOS-6.9-x86_64-minimal stjohnpiano$ mkdir keyring_tmp aineko:CentOS-6.9-x86_64-minimal stjohnpiano$ gpg --no-default-keyring --keyring pubring.gpg --homedir keyring_tmp --import RPM-GPG-KEY-CentOS-6 gpg: WARNING: unsafe permissions on homedir `keyring_tmp' gpg: keyring `keyring_tmp/secring.gpg' created gpg: keyring `keyring_tmp/pubring.gpg' created gpg: keyring_tmp/trustdb.gpg: trustdb created gpg: key C105B9DE: public key "CentOS-6 Key (CentOS 6 Official Signing Key) \" imported gpg: Total number processed: 1 gpg: imported: 1 (RSA: 1) aineko:CentOS-6.9-x86_64-minimal stjohnpiano$ gpg --no-default-keyring --keyring pubring.gpg --homedir keyring_tmp --verify md5sums.txt.asc gpg: WARNING: unsafe permissions on homedir `keyring_tmp' gpg: Signature made Tue Apr 4 19:56:16 2017 GMT using RSA key ID C105B9DE gpg: Good signature from "CentOS-6 Key (CentOS 6 Official Signing Key) \" gpg: WARNING: This key is not certified with a trusted signature! gpg: There is no indication that the signature belongs to the owner. Primary key fingerprint: C1DA C52D 1664 E8A4 386D BA43 0946 FCA2 C105 B9DE gpg: WARNING: not a detached signature; file 'md5sums.txt' was NOT verified! Key line: gpg: Good signature from "CentOS-6 Key (CentOS 6 Official Signing Key) \" This means that gpg thinks that the signature is mathematically valid. Let's select the hash from md5sums.txt.asc corresponding to the CentOS-6.9-x86_64-minimal.iso: aineko:CentOS-6.9-x86_64-minimal stjohnpiano$ cat md5sums.txt.asc -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 2e227fa14c8a9791293b6525289c7dad CentOS-6.9-x86_64-bin-DVD1.iso e2152e0eeb082a92c0f925e7a99c872c CentOS-6.9-x86_64-bin-DVD2.iso a807045c5f8037686f3375bd7b463753 CentOS-6.9-x86_64-LiveDVD.iso af4a1640c0c6f348c6c41f1ea9e192a2 CentOS-6.9-x86_64-minimal.iso cdab6b8142cb03e5f02102879d11ef44 CentOS-6.9-x86_64-netinstall.iso -----BEGIN PGP SIGNATURE----- Version: GnuPG v2.0.14 (GNU/Linux) iQIcBAEBAgAGBQJY4/pgAAoJEAlG/KLBBbneysEQAJNWGG/VCseW1fjY/VDQmRgi /GTIJZx1hg3Wegj3fcrZBQMJKvZglRf6no++Z+xyRchCJmWqur3/ZY2SiXkzEror ZLbIdm++Rdi7upfBsobRaS7yEc0JHVZaUi9kYLnMBH5cYMTNZSH9y4fjvQ3ADkot gTfGtvSn46YgKyzZfIN5x2KvPOHiJEWgRaiy0tBpBCIQTXnIhtCb7Hk1NAa6FeIr 4PfIvTTOGNPzbnkBfVZm1Ifwc2fvymgNpdCRi7DHg2bNFcKsAUw/j5oAZlPMqgQM H7XOwTuH1KLYiYhbQPNsQWiyff8aAhsJ0HYyDPcGF7bDfj+/plVCxlciOXEBJPMq 8V+539+zEgQNSdM1akUwmNfkA04hdZqyDxPHdx6BcaHQYVDhMmMOho8esgV9AM0G hElGg4845jO+HjFKba6d+8pbQmX1SZ/nmIGDDeBjzxyN+pGYlkNZ0Yc7aT5mxuS6 MA07tihun4Fye2OrimXXALSQVPt/830Pq5ZyNfNTdKBQfJVgP6hU0IILqBOVPkvF bsgCIYl238TsSLmPIW7zC3LaTXl21mfoHWWYD/bH9cVwML5ylQGP1Kza5LMnXmhy mAFtj/zMA13taU0m4s2uAP7Eu3cfL+c5M8bPuVrA9aAxXaUGBh42og19lpv9DOaT 5HSjO5fjJz4hw8IDTMop =ml4M -----END PGP SIGNATURE----- Key line: af4a1640c0c6f348c6c41f1ea9e192a2 CentOS-6.9-x86_64-minimal.iso aineko:CentOS-6.9-x86_64-minimal stjohnpiano$ s1="af4a1640c0c6f348c6c41f1ea9e192a2" Now hash the iso image file: aineko:CentOS-6.9-x86_64-minimal stjohnpiano$ md5 CentOS-6.9-x86_64-minimal.iso MD5 (CentOS-6.9-x86_64-minimal.iso) = af4a1640c0c6f348c6c41f1ea9e192a2 aineko:CentOS-6.9-x86_64-minimal stjohnpiano$ s2="af4a1640c0c6f348c6c41f1ea9e192a2" Check that the hash values are identical. aineko:CentOS-6.9-x86_64-minimal stjohnpiano$ [[ "$s1" = "$s2" ]] && echo equal || echo not-equal equal The signed hash is identical to the calculated hash, which means that the .iso file has not been altered since the hash was signed. For completeness, I will also check the sha1 and sha256 signatures and values. aineko:CentOS-6.9-x86_64-minimal stjohnpiano$ gpg --no-default-keyring --keyring pubring.gpg --homedir keyring_tmp --verify sha1sums.txt.asc gpg: WARNING: unsafe permissions on homedir `keyring_tmp' gpg: Signature made Tue Apr 4 19:56:18 2017 GMT using RSA key ID C105B9DE gpg: Good signature from "CentOS-6 Key (CentOS 6 Official Signing Key) \" gpg: WARNING: This key is not certified with a trusted signature! gpg: There is no indication that the signature belongs to the owner. Primary key fingerprint: C1DA C52D 1664 E8A4 386D BA43 0946 FCA2 C105 B9DE gpg: WARNING: not a detached signature; file 'sha1sums.txt' was NOT verified! aineko:CentOS-6.9-x86_64-minimal stjohnpiano$ cat sha1sums.txt.asc -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 09c68654986feee54dcc6cad72771b7fe4be9703 CentOS-6.9-x86_64-bin-DVD1.iso 1415937993b615956c8c4239544366e0674bf042 CentOS-6.9-x86_64-bin-DVD2.iso 21531d5d403bb9dbb3bd35efbf9fc6dff8c02bfd CentOS-6.9-x86_64-LiveDVD.iso b23d4d996d2cb5b370120588d5ea18a9cfba7881 CentOS-6.9-x86_64-minimal.iso 32f9f74fd27ec1ff7cc4f39a80d0dae34d9ec18b CentOS-6.9-x86_64-netinstall.iso -----BEGIN PGP SIGNATURE----- Version: GnuPG v2.0.14 (GNU/Linux) iQIcBAEBAgAGBQJY4/piAAoJEAlG/KLBBbnei3gP/RCx/jhqw8MbhidVlBeWOKU5 CiuwLDiK371wxULLtixsmkSqSSW+QDX/+diefQTJezRhDS4r/b143cWYHqj7X/m/ gZ1b9mfzvRgWdWMejYUCxHUhENFh8MkS8CPOCnxoexASU25im75UEXFTH6XdYGbv 9H3iWOdhiUcjCnvwqKF53xJOSTMnItHTinj03HhgAohuQjS3AFRwSPs2+7QFAMSg gtIFDcnqF0/kSZKWOEmFhuGSm697QUJWWr87aGejV9V5Xv/+FWcjSW/oyPyeUKcF uwqMWXYYGW5PJTz1nyFYdXk34Q17XsMVho360P43JRx9Qmm9LTpQ5Q6CMJbvS9NH mWgwrHMMGWhthvmogXJ3CNsatzucPeA3d3DmfH94D47SqhbryXI0FJJ2+UdO+dlM 6jmiFafMD3D9Nvn3LcZrja7tdc1HPIXayoTWBJe0z4ZzOzcuaTMyMLDTm01Lak0C ILPZWw7xhp6z/oKacaYog+/NF3S22YyDzUSmddLay19m05pYIjz0rNyST/9RD7X6 qxIMoI0Aye0o6QZV1fw1qjfPfz2ueplJay1WJaHB9k5WXH9aIsT5K1/5heCVYNrN rVEFc4TS5hUCOSXx2keruyI/iT8YePqpRS3YgGLphfQXHZoTts19wtxH2vByYSPr zr+dwXEe4FpmwRF/aXHL =jKV2 -----END PGP SIGNATURE----- Let's select the hash from sha1sums.txt.asc corresponding to the CentOS-6.9-x86_64-minimal.iso: Key line: b23d4d996d2cb5b370120588d5ea18a9cfba7881 CentOS-6.9-x86_64-minimal.iso aineko:CentOS-6.9-x86_64-minimal stjohnpiano$ s1="b23d4d996d2cb5b370120588d5ea18a9cfba7881" Now hash the iso image file: aineko:CentOS-6.9-x86_64-minimal stjohnpiano$ shasum CentOS-6.9-x86_64-minimal.iso b23d4d996d2cb5b370120588d5ea18a9cfba7881 CentOS-6.9-x86_64-minimal.iso aineko:CentOS-6.9-x86_64-minimal stjohnpiano$ s2="b23d4d996d2cb5b370120588d5ea18a9cfba7881" Check that the hash values are identical. aineko:CentOS-6.9-x86_64-minimal stjohnpiano$ [[ "$s1" = "$s2" ]] && echo equal || echo not-equal equal sha1 hash confirmed. aineko:CentOS-6.9-x86_64-minimal stjohnpiano$ gpg --no-default-keyring --keyring pubring.gpg --homedir keyring_tmp --verify sha256sums.txt.asc gpg: WARNING: unsafe permissions on homedir `keyring_tmp' gpg: Signature made Tue Apr 4 19:56:21 2017 GMT using RSA key ID C105B9DE gpg: Good signature from "CentOS-6 Key (CentOS 6 Official Signing Key) \" gpg: WARNING: This key is not certified with a trusted signature! gpg: There is no indication that the signature belongs to the owner. Primary key fingerprint: C1DA C52D 1664 E8A4 386D BA43 0946 FCA2 C105 B9DE gpg: WARNING: not a detached signature; file 'sha256sums.txt' was NOT verified! aineko:CentOS-6.9-x86_64-minimal stjohnpiano$ cat sha256sums.txt.asc -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 d27cf37a40509c17ad70f37bc743f038c1feba00476fe6b69682aa424c399ea6 CentOS-6.9-x86_64-bin-DVD1.iso 631b8640460f46a8139a6a7cbbac5f3594d08c32945449b6bbd65234929ce7a4 CentOS-6.9-x86_64-bin-DVD2.iso 422af57b493b8af49d485885a730c5a1d955f803fac85aa51311c393168b9080 CentOS-6.9-x86_64-minimal.iso 6b2cbec908708476389b143841a8e73462506de0744bda8b4192d3655d5bb8d2 CentOS-6.9-x86_64-netinstall.iso ae56f677786673ad476477ed2df84ce80cf5f9b90a44e25146e69ef3cfd02602 CentOS-6.9-x86_64-LiveDVD.iso -----BEGIN PGP SIGNATURE----- Version: GnuPG v2.0.14 (GNU/Linux) iQIcBAEBAgAGBQJY4/plAAoJEAlG/KLBBbnepEQQAJfuNfrgBNRZzPGrXoem+CV1 x/ztLlpDZ1ZxczGjbvMEpF3CXUYqUmQPB4xI0W8O0zRdfMYX6ic4LjV4k7DCHcas gQEEOYsUu5IZkQhiXyJAbo2Hnp4NR/JR6f25DA2nzaa8xIrhMw4jfyOat8Htk2Wi qNSjAKXUHiIdeuQsPtXQpOBONiS/2Ytc+Kx4hBQAO6s8G6gdfVE6vVY+Xl8Kdyk7 x0mYtm5cDiwd7PX+pJS/DaeVbnO0UstgmB/66hjSgEN2m9siLQuDPhyGg1PZyFx9 xwbC0UW39fNE0C833aLHOy8mojLuAvO5QmDEKBztdCKwOQR98vqxti2TI1z+/6fd BKq8XM0K8ZsPdIZqUu9z2XnA+DFz7sVljjUyuuWEMpz0eyAfzskod2K/ujkSaLmF 97wq10fREB+TOaWWzndJ8ydl95h5WRmGMFvHfvJxhdVMyKZEYzofazpb0qyUERcz 4GbW3YCSTNOO6SaKBywqPVlp4m7Mv1CAFQRjBbJkYx7husiMnXxzFYzW9/0jDVT1 uB183j+pucE5zlpZTGaG75ZN1c0izFperqbdHwfiZEGma41vUvAIDUhy+CCZTMgB 7FEOsjRToCm02HChW8fArUn0j5oNdAb8hZiJugOFQKEbdb3pJ9//rOLgVadCnUBl XIikxN22P8EkKTF2PKoR =QFrh -----END PGP SIGNATURE----- Let's select the hash from sha256sums.txt.asc corresponding to the CentOS-6.9-x86_64-minimal.iso: Key line: 422af57b493b8af49d485885a730c5a1d955f803fac85aa51311c393168b9080 CentOS-6.9-x86_64-minimal.iso aineko:CentOS-6.9-x86_64-minimal stjohnpiano$ s1="422af57b493b8af49d485885a730c5a1d955f803fac85aa51311c393168b9080" Now hash the iso image file: aineko:CentOS-6.9-x86_64-minimal stjohnpiano$ shasum -a 256 CentOS-6.9-x86_64-minimal.iso 422af57b493b8af49d485885a730c5a1d955f803fac85aa51311c393168b9080 CentOS-6.9-x86_64-minimal.iso aineko:CentOS-6.9-x86_64-minimal stjohnpiano$ s2="422af57b493b8af49d485885a730c5a1d955f803fac85aa51311c393168b9080" Check that the hash values are identical. aineko:CentOS-6.9-x86_64-minimal stjohnpiano$ [[ "$s1" = "$s2" ]] && echo equal || echo not-equal equal sha256 hash confirmed. Next: Prepare the USB memory stick and write the minimal iso image to it. I have an HP 16 GB stick. I'll follow the recipe I used to make a article Making_a_Centos_6.9_bootable_USB_memory_stick_on_Mac_OS_X_10.6.8_Snow_Leopard edgecase 19 Centos 6.9 bootable live USB memory stick , updated a little. WARNING: Perform your backups now in order to avoid catastrophic data loss from making a mistake when using Disk Utility or when running the dd command. Recipe for writing an OS iso image file to a memory stick: - Format the USB memory stick as a single FAT32 partition. Partition scheme = Master Boot Record. On Mac OS X, use Disk Utility to do this. - Remove the memory stick. - In a terminal, change directory to the directory containing the OS image (e.g. CentOS-6.9-x86_64-minimal.iso) - Run this command: $ df -h - Reinsert the memory stick. - Run this command: $ df -h - In the output, find the item name that wasn't listed in the output from the first time that df -h was run. Example: /dev/disk1s1 - Remove the /dev/ prefix to get the device name. Example: /dev/disk1s1 becomes disk1s1 - Run this command: $ sudo diskutil unmount /dev/[device_name] -- Example: $ sudo diskutil unmount /dev/disk1s1 - Get raw device name by deleting the partition name e.g. 's1' and adding 'r' to the front. Example: disk1s1 becomes rdisk1 - WARNING: If you make a mistake in the next step you could wipe your operating system. - Run this command: $ sudo dd bs=1m if=CentOS-6.9-x86_64-minimal.iso of=/dev/[raw_device_name] -- Example: $ sudo dd bs=1m if=CentOS-6.9-x86_64-minimal.iso of=/dev/rdisk1 -- This should take a few minutes. - Remove the memory stick. Insert memory stick. It mounts automatically and an icon appears on the Desktop. Open Disk Utility (Version 11.5.2 (298.4)). In Disk Utility, select the memory stick (it shows up as "15.96 GB hp v150w Media"). Click Erase tab. - Format = MS-DOS (FAT) - Name = CENTOS6_9_M Click Erase. Pop-up dialogue box opens with this message: Are you sure you want to erase the disk "hp v150w Media"? Erasing a disk deletes all data on all its partitions. This disk is unformatted. and two buttons: Cancel and Erase. Click Erase. Click Partition tab. Under Volume Scheme, choose 1 Partition. Click Options and choose Master Boot Record partition scheme. Under Volume Information, set these values: - Name = CENTOS6_9_M - Format = MS-DOS (FAT) - Size = 15.96 Click Apply. Pop-up dialogue box opens with this message: Are you sure you want to partition the disk "hp v150w Media"? Partitioning this disk will delete all data on this disk. This partition will be erased: "CENTOS6_9_M" This partition will be added: "CENTOS6_9_M" and two buttons: Cancel and Partition. Click Partition. Quit Disk Utility. Eject CENTOS6_9_M disk (right-click icon on Desktop and choose Eject). Remove the CENTOS6_9_M memory stick. aineko:CentOS-6.9-x86_64-minimal stjohnpiano$ df -h Filesystem Size Used Avail Capacity Mounted on /dev/disk0s2 117Gi 107Gi 10Gi 92% / devfs 109Ki 109Ki 0Bi 100% /dev map -hosts 0Bi 0Bi 0Bi 100% /net map auto_home 0Bi 0Bi 0Bi 100% /home /dev/disk0s3 32Gi 14Gi 18Gi 45% /Volumes/Untitled Reinsert the CENTOS6_9_L memory stick. It mounts automatically and an icon appears on the Desktop. aineko:CentOS-6.9-x86_64-minimal stjohnpiano$ df -h Filesystem Size Used Avail Capacity Mounted on /dev/disk0s2 117Gi 107Gi 10Gi 92% / devfs 110Ki 110Ki 0Bi 100% /dev map -hosts 0Bi 0Bi 0Bi 100% /net map auto_home 0Bi 0Bi 0Bi 100% /home /dev/disk0s3 32Gi 14Gi 18Gi 45% /Volumes/Untitled /dev/disk1s1 15Gi 768Ki 15Gi 1% /Volumes/CENTOS6_9_M Find the device name that wasn't listed before: /dev/disk1s1 Unmount the disk: aineko:CentOS-6.9-x86_64-minimal stjohnpiano$ diskutil unmount /dev/disk1s1 Volume CENTOS6_9_M on disk1s1 unmounted Get raw device name by deleting the partition name e.g. 's1' and adding 'r' to the front. In this case, disk1s1 becomes rdisk1 WARNING: If you make a mistake in the next step you could wipe your operating system. aineko:CentOS-6.9-x86_64-minimal stjohnpiano$ sudo dd bs=1m if=CentOS-6.9-x86_64-minimal.iso of=/dev/rdisk1 Password: 408+0 records in 408+0 records out 427819008 bytes transferred in 54.177718 secs (7896586 bytes/sec) 54 seconds / (60 seconds / minute) = 0.9 minutes Remove and re-insert the memory stick. Disk is auto-mounted as CentOS_6.9_Final. Eject disk. Remove memory stick. Let's move from Aineko to Kalkin. Insert memory stick into one of Kalkin's USB ports. Press the power button to boot Kalkin. After some startup messages, Kalkin arrives at a screen showing these options: Welcome to CentOS 6.9! - Install or upgrade an existing system - Install system with basic video driver - Rescue installed system - Boot from local drive - Memory test Press [Tab] to edit options Automatic boot in 60 seconds... CentOS 6 Community ENTerprise Operating System The option Install or upgrade an existing system was highlighted i.e. selected. After 60 seconds the system booted, presumably using the first option. Kalkin arrives at this screen: Welcome to CentOS for x86_64 Choose a Language What language would you like to use during the installation process? [...] English [...] OK \/\ between elements | \ selects | \ next screen English is highlighted. Press Space. Nothing happens. Press Enter. Screen: Keyboard Type What type of keyboard do you have? [...] us [...] OK, Back us is highlighted. Press Enter. Screen: Installation Method What type of media contains the installation image? - Local CD/DVD - Hard drive - NFS directory - URL OK, Back Local CD/DVD is highlighted. I think that in this case a USB stick might fall under the CD/DVD category. Press Enter. Screen: Disc Not Found The CentOS disc was not found in any of your CDROM drives. Please insert the CentOS disc and press OK to retry. OK, Back OK is highlighted. Press Right Arrow. Now Back is highlighted. Press Enter. Screen: Installation Method What type of media contains the installation image? - Local CD/DVD - Hard drive - NFS directory - URL OK, Back Local CD/DVD is highlighted. Press Down Arrow. Now Hard drive is highlighted. Press Enter. Screen: Select Partition What partition and directory on that partition holds the installation image for CentOS? If you don't see the disk drive you're using listed here, press F2 to configure additional devices. - /dev/sda1 Directory holding image: ________________ OK, Back /dev/sda1 is highlighted. I think that /dev/sda1 is the 2 TB hard drive within Kalkin. I want to install the operating system from the memory stick to the hard drive. Press F2. Screen: Driver Disk Source You have multiple devices which could serve as sources for a driver disk. Which would you like to use? - sda - sdb - sdc - sdd - sdf - sde - sdg - sr0 OK, Back sda is highlighted. Press Down Arrow until sr0 is highlighted. I don't know what it is, but let's see what happens. Screen: Insert Driver Disk Insert your driver disk into /dev/sr0 and press "OK" to continue. OK, Back OK is highlighted. Press Enter. Screen: Error Failed to mount driver disk. OK OK is highlighted. Press Enter. Screen: Insert Driver Disk Insert your driver disk into /dev/sr0 and press "OK" to continue. OK, Back OK is highlighted. I'll reboot and try a different option at the beginning. Press and hold the power button to turn Kalkin off. Press the power button to boot Kalkin. Screen: Welcome to CentOS 6.9! - Install or upgrade an existing system - Install system with basic video driver - Rescue installed system - Boot from local drive - Memory test Press [Tab] to edit options Automatic boot in 60 seconds... CentOS 6 Community ENTerprise Operating System The option Install or upgrade an existing system is highlighted. Press Down Arrow three times. Now Boot from local drive is selected. The "automatic boot" message disappeared when I pressed Down Arrow the first time. Press Enter. Screen: Booting from local disk... Intel(R) Boot Agent GE v1.3.63 Copyright (C) 1997-2010, Intel Corporation Intel(R) Boot Agent PXE Base Code (PXE-2.1 build 089) Copyright (C) 1997-2010, Intel Corporation Initializing and establishing link... Screen: Booting from local disk... Intel(R) Boot Agent GE v1.3.63 Copyright (C) 1997-2010, Intel Corporation Intel(R) Boot Agent PXE Base Code (PXE-2.1 build 089) Copyright (C) 1997-2010, Intel Corporation CLIENT MAC ADDR: 08 2E 5F 25 D7 26 GUID: 80F50C7C F843 E111 A1D0 082E5F25D76 DHCP../ At some point I connected Kalkin to the local network via an Ethernet cable in order to check that the Ethernet connection worked (didn't note down exactly when I did so). These lines: CLIENT MAC ADDR: 08 2E 5F 25 D7 26 GUID: 80F50C7C F843 E111 A1D0 082E5F25D76 DHCP../ are probably due to this connection. Screen: Booting from local disk... Intel(R) Boot Agent GE v1.3.63 Copyright (C) 1997-2010, Intel Corporation Intel(R) Boot Agent PXE Base Code (PXE-2.1 build 089) Copyright (C) 1997-2010, Intel Corporation CLIENT MAC ADDR: 08 2E 5F 25 D7 26 GUID: 80F50C7C F843 E111 A1D0 082E5F25D76 PXE-E53: No boot filename received PXE-M0F: Exiting Intel Boot Agent. Screen: Non-System disk or disk error replace and strike any key when ready Press Enter. Screen: Welcome to CentOS 6.9! - Install or upgrade an existing system - Install system with basic video driver - Rescue installed system - Boot from local drive - Memory test Press [Tab] to edit options Automatic boot in 60 seconds... CentOS 6 Community ENTerprise Operating System The option Install or upgrade an existing system is highlighted. I'll reboot and go into the BIOS at the beginning. Related article: article Exploring_the_BIOS_boot_options_on_Kalkin edgecase 23 Exploring the BIOS boot options on Kalkin . Press and hold the power button to turn Kalkin off. Press the power button to boot Kalkin. Hold the Escape Key as it boots. Screen: Version 2.10.1208. Copyright (C) 2011 American Megatrends, Inc. 16384 MB Startup Menu - Continue Startup (Exit) - System Information - Change Language - Diagnostics (F2) - Boot Menu (F9) - Computer Setup (F10) - System Recovery (F11) - Network Boot (F12) - Utilities - Run UEFI Application... J51 v01.20 HP Z210 Workstation Press the ESC key for Startup Menu Startup Menu Press F9. Screen: Please select boot device: EFI Boot Sources Legacy Boot Sources - ATAPI CD/DVD Drive -- SATA2 - Hard Drive -- hp v150w 1100 -- HDS722020ALA330 RSD HUA - IBA GE Slot 00C8 v1363 [up arrow symbol] and [down arrow symbol] to move selection ENTER to select boot device ESC to boot using defaults EFI Boot Sources is highlighted. Press Down Arrow until hp v150w 1100 is highlighted. Press Enter. Screen: Welcome to CentOS 6.9! - Install or upgrade an existing system - Install system with basic video driver - Rescue installed system - Boot from local drive - Memory test Press [Tab] to edit options Automatic boot in 60 seconds... CentOS 6 Community ENTerprise Operating System The option Install or upgrade an existing system is highlighted. Press Enter. Screen: Choose a Language What language would you like to use during the installation process? [...] English [...] OK English is highlighted. Press Enter. Screen: Keyboard Type What type of keyboard do you have? [...] us [...] OK, Back us is highlighted. Press Enter. Screen: Installation Method What type of media contains the installation image? - Local CD/DVD - Hard drive - NFS directory - URL OK, Back Local CD/DVD is highlighted. In the BIOS Boot Menu, hp v150w 1100 was listed under the Hard Drive section, before the actual hard drive HDS722020ALA330 RSD HUA. Perhaps some admin information has been changed somewhere so that Kalkin will see the HP memory stick first when told to boot from the hard drive. Press Down Arrow. Now Hard drive is highlighted. Press Enter. Screen: Select Partition What partition and directory on that partition holds the installation image for CentOS? If you don't see the disk drive you're using listed here, press F2 to configure additional devices. - /dev/sda1 Directory holding image: ________________ OK, Back /dev/sda1 is highlighted. Press Enter. Something appears to be working. Screen: CentOS 6 Community ENTerprise Operating System Back, Next Next is a button. Back is a greyed-out button. This is a GUI screen, not a terminal screen. Click Next. Screen: What type of devices will your installation involve? - Basic Storage Devices: Installs or upgrades to typical types of storage devices. If you're not sure which option is right for you, this is probably it. - Specialized Storage Devices: Installs or upgrades to enterprise devices such as Storage Area Networks (SANs). This option will allow you to add FCoEes / iSCSI / zFCP disks and to filter out devices the installer should ignore. Back, Next Basic Storage Devices is selected. Click Next. Screen: Warning Disk sdg contains BIOS RAID metadata, but is not part of any recognized BIOS RAID sets. Ignoring disk sdg. OK Back, Next Click OK. Not sure what disk sdg is. Screen: Please name this computer. The hostname identifies the computer on a network. Hostname: [text field] Configure Network Back, Next Type "kalkin" into the text field. Click Next. Screen: Please select the nearest city in your time zone: [Map of the world with dots for cities. New York is named.] Selected city: New York, America (Eastern (most areas)) [Drop-down list. America/New York is selected.] [checkbox: ticked] System clock uses UTC Back, Next Click the drop-down list and select Europe/London. Pressing Page Down to move through the list is faster than scrolling. Click Next. Screen: The root account is used for administering the system. Enter a password for the root user. Route Password: [text field] Confirm: [text field] Back, Next Type in a password for the root user into both text fields. Click Next. Screen: Which type of installation would you like? - Use All Space: Removes all partitions on the selected device(s). This includes partitions created by other operating systems. Tip: This option will remove data from the selected device(s). Make sure you have backups. - Replace Existing Linux System(s): Removes only Linux partition (created from a previous Linux installation). This does not remove other partitions you may have on your storage device(s) (such as VFAT or FAT32). Tip: This option will remove data from the selected device(s). Make sure you have backups. - Shrink Current System: Shrinks existing partitions to create free space for the default layout. - Use Free Space: Retains your current data and partitions and uses only the unpartitioned space on the selected device(s), assuming you have enough free space available. - Creed Custom Layout: Manually create your own custom layout on the selected device(s) using our partitioning tool. [checkbox: not ticked] Encrypt system [checkbox: not ticked] Review and modify partitioning layout Back, Next Replace Existing Linux System(s) is selected. Click Use All Space. Click Next. Screen: Writing storage configuration to disk The partitioning options you have selected will now be written to disk. Any data on deleted or reformatted partitions will be lost. Go back, Write changes to disk Click Write changes to disk. Screen: Formatting Creating ext4 filesystem on /dev/sda1 [progress bar] Back, Next [Various other messages are displayed, but not recorded here] Screen: Missing ISO 9660 Image The installer has tried to mount image #1, but cannot find it on the hard drive. Please copy this image to the driver and click Retry. Click Exit to abort the installation. Exit, Retry Back, Next Google "centos missing iso 9660 image". First result: hyperlink http://www.centos.org/forums/viewtopic.php?t=1001 www.centos.org/forums/viewtopic.php?t=1001 [SOLVED] USB: The installer has tried to mount image #1, but cannot find it on the hard drive. by willroberts 2011/07/20 22:55:16 The Problem: I am installing CentOS 6 on my server, which has no optical drives. I used UNetBootIn to create a USB installation disk from the CentOS 6 DVD (DVD1). As soon as I finish telling GRUB where to put the bootloader, the installation shows an error titled "Missing ISO 9660 Image". The message is: The installer has tried to mount image #1, but cannot find it on the hard drive. Please copy this image to the drive and click Retry. Click Exit to abort the installation. So I can't proceed any further in the GUI. This happens when creating the image from multiple sources, not just UNetBootIn. The Solution tty2 is an active root shell - press Ctrl-Alt-F2 to access it. Use this shell to mount another filesystem (flash drive) containing the CentOS DVD ISO. mount /dev/sdc1 /mnt/foldername The code above assumes your drive is registered as /dev/sdc1. This may not be the case. Use `fdisk -l` to identify your drive and its partitions. Assuming you are using SATA drives, search for 'sd' in your running processes to find the anaconda info: ps -ef | grep sd You will see a line similar to this one: /usr/bin/python /usr/bin/anaconda --stage2 hd:/dev/sda1://images/install.img --graphical --selinux --lang en_US_UTF-8 --keymap us [b][u]--repo hd:/dev/sda1:/[/u][/b] This is where the problem is. The system is looking in /dev/sda1 (or /mnt/isodir when mounted) for any ISO file containing the CentOS installation data. Copy your CentOS ISO to this directory (using the folder name mounted previously): cp /mnt/foldername/centos.iso /mnt/isodir/centos.iso Then go back to the GUI (Ctrl-Alt-F6), hit Retry, and finish the installation! I'll follow these steps and see if they work. Press Ctrl-Alt-F2. [anaconda root@localhost /]# This screen is black with white text and appears to be a terminal, presumably tty2. [anaconda root@localhost /]# fdisk -l Disk /dev/loop0: 146 MB, 146558976 bytes 255 heads, 63 sectors/track, 17 cylinders Units = cylinders of 16065 * 512 = 8225280 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disk identifier: 0x0c30c34e Disk /dev/sda: 16.0 GB, 15955132416 bytes 64 heads, 32 sectors/track, 15216 cylinders Units = cylinders of 2048 * 512 = 1048576 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disk identifier: 0x000ee137 Device Boot Start End Blocks Id System /dev/sda1 * 2 501 512000 83 Linux Partition 1 does not end on cylinder boundary. /dev/sda2 502 15216 15068160 8e Linux LVM Partition 2 does not end on cylinder boundary. Disk /dev/sdg: 2000.4 GB, 2000398934016 bytes 255 heads, 63 sectors/track, 243201 cylinders Units = cylinders of 16065 * 512 = 8225280 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disk identifier: 0x00000000 Disk /dev/mapper/vg_kalkin-lv_root: 13.8 GB, 13832814592 bytes 255 heads, 63 sectors/track, 1681 cylinders Units = cylinders of 16065 * 512 = 8225280 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disk identifier: 0x00000000 Disk /dev/mapper/vg_kalkin-lv_swap: 1593 MB, 1593835520 bytes 255 heads, 63 sectors/track, 193 cylinders Units = cylinders of 16065 * 512 = 8225280 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disk identifier: 0x00000000 Disk /dev/sda is 16.0 GB, which is the size of the memory stick. I don't know which partition I should choose. I'll try with partition 1 on /dev/sda. [anaconda root@localhost /]# ls -1 /mnt isodir runtime source sysimage I'll call the mount directory "test1". Mount this partition: [anaconda root@localhost /]# mount /dev/sda1 /mnt/test1 mount: mount point /mnt/test1 does not exist I forgot that it's necessary to create a directory first before using it as a mount point. [anaconda root@localhost /]# mkdir /mnt/test1 [anaconda root@localhost /]# ls -1 /mnt isodir runtime source sysimage test1 [anaconda root@localhost /]# mount /dev/sda1 /mnt/test1 [anaconda root@localhost /]# ls -1 /mnt/test1 lost+found [anaconda root@localhost /]# ls -1 /mnt/test1/lost+found Hm. Ok. Let's dismount /dev/sda1 and try with partition 2. [anaconda root@localhost /]# umount /dev/sda1 [anaconda root@localhost /]# ls -1 /mnt/test1 [anaconda root@localhost /]# mount /dev/sda2 /mnt/test1 mount: unknown filesystem type 'LVM2_member' Hm. Let's try without specifying a partition. [anaconda root@localhost /]# mount /dev/sda /mnt/test1 mount: you must specify the filesystem type Let's leave finding the .iso for now. [anaconda root@localhost /]# ps -ef | grep sd root 893 148 0 16:14 tty1 00:00:04 /usr/bin/python /usr/bin/anaconda --stage2 hd:/dev/sda1://images/install.img --graphical --selinux --lang en_US.UTF-8 --keymap us --repo hd:/dev/sda1:/ root 1077 893 0 16:14 tty1 00:00:00 /usr/bin/python /usr/bin/anaconda --stage2 hd:/dev/sda1://images/install.img --graphical --selinux --lang en_US.UTF-8 --keymap us --repo hd:/dev/sda1:/ root 1676 2 0 16:52 ? 00:00:00 [jbd2/sda1-8] root 1980 858 0 21:18 tty2 00:00:00 grep sd Key line from the post: "The system is looking in /dev/sda1 (or /mnt/isodir when mounted) for any ISO file containing the CentOS installation data." It looks as though on Kalkin the system is also looking in /dev/sda1. Hm. [anaconda root@localhost /]# ls -a1 /mnt . .. isodir runtime source sysimage test1 [anaconda root@localhost /]# ls -a1 /mnt/isodir . .. lost+found [anaconda root@localhost /]# ls -a1 /mnt/isodir/lost+found . .. I think that /dev/sda1 is already mounted to /mnt/isodir. Aha. I realise now that I made an incorrect assumption. I interpreted "Use this shell to mount another filesystem (flash drive) containing the CentOS DVD ISO" to mean that there was a way to mount the memory stick so that its entire contents could be treated as "the centos iso file" and copied (normal copy, not using dd). Instead, I think willroberts meant that one should copy the centos iso to a second memory stick, and use the tty2 shell (booted from the first memory stick) to access it and copy the iso from it to the location expected by the installation script. Before proceeding, let's double-check that this iso file does not already exist anywhere on the system. [anaconda root@localhost /]# find / -type f -name "*.iso" Hm. Thinking about it, I directly copied (using dd) the iso file to the memory stick. Presumably this iso file contains the various pieces needed for booting and running a shell. I'm unsure about why these pieces, once loaded and running/available in RAM, can't look at the memory stick and copy its contents to an iso file on the hard drive. This CentOS-6.9-x86_64-minimal.iso was designed to be written to a CD, not a USB memory stick. This might be why this problem has occurred. This particular operation (copying from the memory stick) might not have been constructed or planned for in the installation process. Note: Perhaps I could use dd to copy the contents of the memory stick to an iso file on the hard drive. I'll try this if mounting a second memory stick doesn't work for some reason. [anaconda root@localhost /]# dd --version dd (coreutils) 8.4 Copyright (C) 2010 Free Software Foundation, Inc. License GPLv3+: GNU GPL version 3 or later \. This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law. Written by Paul Rubin, David MacKenzie, and Stuart Kemp. Insert a second memory stick (Kingston, 32 GB) into Aineko. Copy the CentOS-6.9-x86_64-minimal.iso onto the stick (normal copy, not using dd). Move back to Kalkin. [anaconda root@localhost /]# df -h Filesystem Size Used Avail Use% Mounted on /dev 7.9G 224K 7.9G 1% /dev none 7.9G 141M 7.7G 2% /tmp /dev/loop0 140M 140M 0 100% /mnt/runtime /dev/mapper/vg_kalkin-lv_root 13G 33M 12G 1% /mnt/sysimage /dev/sda1 477M 2.3M 449M 1% /mnt/sysimage/boot /dev 7.9G 224K 7.9G 1% /mnt/sysimage/dev /dev/tmpfs 7.9G 0 7.9G 0% /mnt/sysimage/dev/shm /dev/sda1 477M 2.3M 449M 1% /mnt/isodir Insert second memory stick into Kalkin. [anaconda root@localhost /]# df -h Filesystem Size Used Avail Use% Mounted on /dev 7.9G 224K 7.9G 1% /dev none 7.9G 141M 7.7G 2% /tmp /dev/loop0 140M 140M 0 100% /mnt/runtime /dev/mapper/vg_kalkin-lv_root 13G 33M 12G 1% /mnt/sysimage /dev/sda1 477M 2.3M 449M 1% /mnt/sysimage/boot /dev 7.9G 224K 7.9G 1% /mnt/sysimage/dev /dev/tmpfs 7.9G 0 7.9G 0% /mnt/sysimage/dev/shm /dev/sda1 477M 2.3M 449M 1% /mnt/isodir Ah. I forgot that it wouldn't necessarily mount automatically. No new name has appeared. Note: I observe that /dev/sda1 is indeed mounted on /mnt/isodir, the same as in willroberts' post. I need to find out the device name (on Kalkin's system) of the second memory stick. I'll try fdisk -l and see if it can detect the second memory stick. [anaconda root@localhost /]# fdisk -l Disk /dev/loop0: 146 MB, 146558976 bytes 255 heads, 63 sectors/track, 17 cylinders Units = cylinders of 16065 * 512 = 8225280 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disk identifier: 0x0c30c34e Disk /dev/sda: 16.0 GB, 15955132416 bytes 64 heads, 32 sectors/track, 15216 cylinders Units = cylinders of 2048 * 512 = 1048576 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disk identifier: 0x000ee137 Device Boot Start End Blocks Id System /dev/sda1 * 2 501 512000 83 Linux Partition 1 does not end on cylinder boundary. /dev/sda2 502 15216 15068160 8e Linux LVM Partition 2 does not end on cylinder boundary. Disk /dev/sdg: 2000.4 GB, 2000398934016 bytes 255 heads, 63 sectors/track, 243201 cylinders Units = cylinders of 16065 * 512 = 8225280 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disk identifier: 0x00000000 Disk /dev/mapper/vg_kalkin-lv_root: 13.8 GB, 13832814592 bytes 255 heads, 63 sectors/track, 1681 cylinders Units = cylinders of 16065 * 512 = 8225280 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disk identifier: 0x00000000 Disk /dev/mapper/vg_kalkin-lv_swap: 1593 MB, 1593835520 bytes 255 heads, 63 sectors/track, 193 cylinders Units = cylinders of 16065 * 512 = 8225280 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disk identifier: 0x00000000 Disk /dev/sdh: 31.1 GB, 31051513856 bytes 255 heads, 63 sectors/track, 3775 cylinders Units = cylinders of 16065 * 512 = 8225280 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disk identifier: 0xaac1950c Device Boot Start End Blocks Id System /dev/sdh1 * 1 3776 30323712 c W95 FAT32 (LBA) This item is new: Disk /dev/sdh: 31.1 GB, 31051513856 bytes 255 heads, 63 sectors/track, 3775 cylinders Units = cylinders of 16065 * 512 = 8225280 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disk identifier: 0xaac1950c Device Boot Start End Blocks Id System /dev/sdh1 * 1 3776 30323712 c W95 FAT32 (LBA) It is also the right size (~32 GB). Its device+partition name is /dev/sdh1. Mount the second memory stick. [anaconda root@localhost /]# mount /dev/sdh1 /mnt/test1 [anaconda root@localhost /]# ls -1 /mnt/test1 CentOS-6.9-x86_64-minimal.iso [anaconda root@localhost /]# cp /mnt/test1/CentOS-6.9-x86_64-minimal.iso /mnt/isodir/CentOS-6.9-x86_64-minimal.iso Press Ctrl-Alt-F6 to go back to the GUI. Screen: Missing ISO 9660 Image The installer has tried to mount image #1, but cannot find it on the hard drive. Please copy this image to the driver and click Retry. Click Exit to abort the installation. Exit, Retry Back, Next Click Retry. A large progress bar appears. "Packages completed: 1 of 208". Presumably the minimal version of Centos contains a total of 208 packages. [Various installation messages are displayed, but not recorded here] Installation took about 30 minutes. Screen: Congratulations, your CentOS installation is complete. Please reboot to use the installed system. Note that updates may be available to ensure the proper functioning of your system and installation of these updates is recommended after the reboot. Back, Reboot The Back button is greyed out. Click Reboot. [Various startup messages are displayed, but not recorded here] Screen: CentOS release 6.9 (Final) Kernel 2.6.32-696.el6.x86_64 on an x86_64 kalkin login: It's a terminal. kalkin login: root Password: [root@kalkin ~]# Note: Use the password chosen earlier. [root@kalkin ~]# echo "hello world" hello world Excellent. Shut down Kalkin. [root@kalkin ~]# halt Remove the two memory sticks. Disconnect Ethernet cable. Press the power button to boot Kalkin. Screen: Booting from local disk... Intel(R) Boot Agent GE v1.3.63 Copyright (C) 1997-2010, Intel Corporation Intel(R) Boot Agent PXE Base Code (PXE-2.1 build 089) Copyright (C) 1997-2010, Intel Corporation Initializing and establishing link... Screen: Booting from local disk... Intel(R) Boot Agent GE v1.3.63 Copyright (C) 1997-2010, Intel Corporation Intel(R) Boot Agent PXE Base Code (PXE-2.1 build 089) Copyright (C) 1997-2010, Intel Corporation PXE-E61: Media test failure, check cable PXE-M0F: Exiting Intel Boot Agent. Screen: Non-System disk or disk error replace and strike any key when ready Hm. Evidently the installation failed. However, in all respects it appeared to be a successful one. I'll take a look in the BIOS. Press the power button to turn Kalkin off. Press the power button to boot Kalkin. Hold the Escape Key as it boots. [Various startup messages are displayed, but not recorded here] Screen: Version 2.10.1208. Copyright (C) 2011 American Megatrends, Inc. 16384 MB Startup Menu - Continue Startup (Exit) - System Information - Change Language - Diagnostics (F2) - Boot Menu (F9) - Computer Setup (F10) - System Recovery (F11) - Network Boot (F12) - Utilities - Run UEFI Application... J51 v01.20 HP Z210 Workstation Press the ESC key for Startup Menu Startup Menu Press F9. Screen: Please select boot device: EFI Boot Sources Legacy Boot Sources - ATAPI CD/DVD Drive -- SATA2 - Hard Drive -- HDS722020ALA330 RSD HUA - IBA GE Slot 00C8 v1363 [up arrow symbol] and [down arrow symbol] to move selection ENTER to select boot device ESC to boot using defaults The memory stick hp v150w 1100 no longer appears under Hard Drive. It's presumably trying to boot from the hard drive, but nothing is there for it to boot with. Press the power button to turn Kalkin off. Reinsert the primary memory stick. "Primary" meaning the memory stick I originally used (now with Centos installed to it), not the second one that I used to transport the Centos iso image file. Press the power button to boot Kalkin. [Various startup messages are displayed, but not recorded here] Screen: Press any key to enter the menu Booting CentOS 6 (2.6.32-696.e16.x86_64) in 3 seconds... [A booting screen is displayed] Screen: CentOS release 6.9 (Final) Kernel 2.6.32-696.el6.x86_64 on an x86_64 kalkin login: Hm. After some reading/searching, I find this: Excerpt from: hyperlink http://wiki.centos.org/HowTos/InstallFromUSBkey wiki.centos.org/HowTos/InstallFromUSBkey Older Method [...] 13. Boot from the USB media by setting it as the first BIOS boot device, or on some BIOSs by hitting a key such as F12 to select a boot device after POST. 14. During the installation process, the user is asked "What type of media contains the installation image?" Select the first partition on the USB key, which should appear in the menu under "Hard drive", then /dev/sda1 or whatever device corresponds to the first USB partition. 15. After partitioning, the user is asked whether to install the Grub boot loader and where to install it. After booting from the USB key, the BIOS may think that the USB key is the first drive. If the USB is seen as the first device, then to install the Grub boot loader on the hard drive MBR, which is the usual case, the user must change the order of the hard drives using the Grub advanced installation options. Earlier, with experimentation, I managed to perform steps 13 and 14. Key section: "After booting from the USB key, the BIOS may think that the USB key is the first drive." It looks like I successfully installed the Centos iso image onto the primary memory stick, from which I had originally booted Centos on Kalkin. The next sentence describes a solution: "If the USB is seen as the first device, then to install the Grub boot loader on the hard drive MBR, which is the usual case, the user must change the order of the hard drives using the Grub advanced installation options." MBR = "master boot record" Full excerpt from: hyperlink http://wiki.centos.org/HowTos/InstallFromUSBkey wiki.centos.org/HowTos/InstallFromUSBkey Older Method This method has been reported hyperlink http://www.centos.org/forums/viewtopic.php?t=4826 [link] as still viable for CentOS 6.4 Building a distribution on a USB key as of CentOS 6.2 - thanks to Mark Roth for the CentOS-6 procedure, and to Yves Bellefeuille on the CentOS-Docs list for several additions and corrections. Recommended: An 8GB or larger USB key. 1. Partition the USB key into two partitions: the first, FAT32, and about 250M; the second, the rest of the drive, and ext3. (An ext3 partition is required because the ISO file, that will later be copied to it, is larger than the maximum file size for a FAT32 or VFAT partition.) 2. Mount DVD1, if it isn't automounted (on /media, or /mnt). The following assumes /mnt/USB and /mnt/DVD. 3. Mount the USB key on /mnt/USB/. 4. Copy the directory and contents of /mnt/DVD/isolinux to /mnt/USB/. 5. Rename /mnt/USB/isolinux to /mnt/USB/syslinux 6. Rename /mnt/USB/syslinux/isolinux.cfg to /mnt/USB/syslinux/syslinux.cfg 7. Copy the directory and contents of /mnt/DVD/images to /mnt/USB/. (A bug has been filed [ToDo - add link] because as of 11 Jan 2012, the install requires the .iso (see below), but linux rescue requires the contents of images to load and run.) 8. Assuming that the USB key is /dev/sdb syslinux /dev/sdb1 9. Unmount the first USB partition, and mount the second umount /mnt/USB mount /dev/sdb2 /mnt/USB 10. Copy the .iso file to /mnt/USB. Do not use the LiveCD or LiveDVD. Use DVD1, the minimal CD ISO, or a combined DVD1/DVD2 created following CD to DVD Media hyperlink http://wiki.centos.org/TipsAndTricks/CDtoDVDMedia [link] . Do not copy the contents - the install now wants the .iso file itself, which it mounts during installation, and follow the upstream Installation_Guide hyperlink http://docs.redhat.com/docs/en-US/Red_Hat_Enterprise_Linux/6/html-single/Installation_Guide/index.html#s1-steps-hd-installs-x86 [link] to create an images directory on the same partition. Optionally, add DVD2 if you used DVD1, and need it for the install. 11. Optional: On /mnt/USB, create a grub.conf. This may be required if your system wants the USB key as the first drive, so that you can later copy it to the hard disk. See HowTos/GrubInstallation hyperlink http://wiki.centos.org/HowTos/GrubInstallation [link] section 2 for guidance. 12. Umount the USB key, and it's ready to use. 13. Boot from the USB media by setting it as the first BIOS boot device, or on some BIOSs by hitting a key such as F12 to select a boot device after POST. 14. During the installation process, the user is asked "What type of media contains the installation image?" Select the first partition on the USB key, which should appear in the menu under "Hard drive", then /dev/sda1 or whatever device corresponds to the first USB partition. 15. After partitioning, the user is asked whether to install the Grub boot loader and where to install it. After booting from the USB key, the BIOS may think that the USB key is the first drive. If the USB is seen as the first device, then to install the Grub boot loader on the hard drive MBR, which is the usual case, the user must change the order of the hard drives using the Grub advanced installation options. 16. After the Grub installation options, the following error message may appear: "Missing ISO 9660 image: The installer has tried to mount image #1, but cannot find it on the hard drive". The installation program is looking for the ISO file on the first partition of the USB key, but it's on the second partition. Go to a terminal with a shell with Ctrl-Alt-F2, unmount the first partition of the USB umount /mnt/isodir mount the second partition on the USB device. This will be the same device used in #14 above - for example mount -t ext3 /dev/sda2 /mnt/isodir Return to the installation program (Ctrl-Alt-F6) and choose "Retry". 17. Finish the installation and reboot without the USB device connected. If there are problems booting then it is likely the boot record was written to the wrong device. See How to re-install bootstrap code (GRUB) hyperlink http://wiki.centos.org/TipsAndTricks/ReinstallGRUB [link] , and if having difficulties determining the correct device, Troubleshooting GRUB Issues hyperlink http://wiki.centos.org/TipsAndTricks/TroubleshootGRUB [link] . I think this error message I saw earlier: Missing ISO 9660 Image The installer has tried to mount image #1, but cannot find it on the hard drive. Please copy this image to the driver and click Retry. Click Exit to abort the installation. is due to the fact that the installation process had just written an ext4 filesystem to the memory stick (rather than to Kalkin's hard drive). There was then no ISO image on the memory stick to be found. However, supposing I had managed to point the installation process correctly at Kalkin's hard drive, I think I might still need a second partition containing the Centos iso file (or a second memory stick containing that file). For now, I will focus on "the user must change the order of the hard drives using the Grub advanced installation options.". Do some reading. What is Grub, exactly? hyperlink http://wiki.centos.org/TipsAndTricks/ReinstallGRUB wiki.centos.org/TipsAndTricks/ReinstallGRUB links to: hyperlink http://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/6/html/installation_guide/ch-grub access.redhat.com/documentation/en-us/red_hat_enterprise_linux/6/html/installation_guide/ch-grub which is part of the Red Hat Enterprise Linux 6 Installation Guide. Centos is a downstream version of Red Hat Enterprise Linux. Excerpt from: hyperlink http://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/6/html/installation_guide/ch-grub access.redhat.com/documentation/en-us/red_hat_enterprise_linux/6/html/installation_guide/ch-grub APPENDIX E. THE GRUB BOOT LOADER When a computer running Linux is turned on, the operating system is loaded into memory by a special program called a boot loader. A boot loader usually exists on the system's primary hard drive (or other media device) and has the sole responsibility of loading the Linux kernel with its required files or (in some cases) other operating systems into memory. E.1. Boot Loaders and System Architecture Each architecture capable of running Red Hat Enterprise Linux uses a different boot loader. The following table lists the boot loaders available for each architecture: Table E.1. Boot Loaders by Architecture Architecture | Boot Loaders AMD AMD64 | GRUB IBM Power Systems | yaboot IBM System z | z/IPL x86 | GRUB table_1stjohn_piano_table_format_1 Row and column indices start from 0. All row indices and column indices refer to the rows and columns that exist prior to merging. In the original ASCII version of the table, the columns are already merged (the rows are not). This means that it is somewhat more difficult to write styles for columns, as the style writer must mentally "de-merge" the columns in order to choose the correct column indices. When processing structure, check that the expected total of column separators exists for each row (taking account of merged columns reducing this total). Merge rows first, then columns. Rows to be merged must each contain the exact number_of_columns total of column separators. Columns to be merged do not have to be delineated with column separators. When processing presentation, apply styles in this order: 1. row 2. particular columns in a row or rows 3. column 4. particular rows in a column or columns Styles that occur later in the presentation element override those that occur earlier. 5 2 newline | 0 1-4
This appendix discusses commands and configuration options for the GRUB boot loader included with Red Hat Enterprise Linux for the x86 architecture.
So Grub is the thing that loads the operating system into system memory (RAM). Google "centos access grub". First result: hyperlink http://www.centos.org/docs/5/html/Installation_Guide-en-US/s1-grub-interfaces.html www.centos.org/docs/5/html/Installation_Guide-en-US/s1-grub-interfaces.html 9.5. GRUB Interfaces GRUB features three interfaces which provide different levels of functionality. Each of these interfaces allows users to boot the Linux kernel or another operating system. The interfaces are as follows: Note: The following GRUB interfaces can only be accessed by pressing any key within the three seconds of the GRUB menu bypass screen. Menu Interface This is the default interface shown when GRUB is configured by the installation program. A menu of operating systems or preconfigured kernels are displayed as a list, ordered by name. Use the arrow keys to select an operating system or kernel version and press the Enter key to boot it. If you do nothing on this screen, then after the time out period expires GRUB will load the default option. Press the e key to enter the entry editor interface or the c key to load a command line interface. Refer to Section 9.7, "GRUB Menu Configuration File" hyperlink http://www.centos.org/docs/5/html/Installation_Guide-en-US/s1-grub-configfile.html [link] for more information on configuring this interface. Menu Entry Editor Interface To access the menu entry editor, press the e key from the boot loader menu. The GRUB commands for that entry are displayed here, and users may alter these command lines before booting the operating system by adding a command line (o inserts a new line after the current line and O inserts a new line before it), editing one (e), or deleting one (d). After all changes are made, the b key executes the commands and boots the operating system. The Esc key discards any changes and reloads the standard menu interface. The c key loads the command line interface. Tip: For information about changing runlevels using the GRUB menu entry editor, refer to Section 9.8, "Changing Runlevels at Boot Time" hyperlink http://www.centos.org/docs/5/html/Installation_Guide-en-US/s1-grub-runlevels.html [link] . Command Line Interface The command line interface is the most basic GRUB interface, but it is also the one that grants the most control. The command line makes it possible to type any relevant GRUB commands followed by the Enter key to execute them. This interface features some advanced shell-like features, including Tab key completion based on context, and Ctrl key combinations when typing commands, such as Ctrl-a to move to the beginning of a line and Ctrl-e to move to the end of a line. In addition, the arrow, Home, End, and Delete keys work as they do in the bash shell. Refer to Section 9.6, "GRUB Commands" hyperlink http://www.centos.org/docs/5/html/Installation_Guide-en-US/s1-grub-commands.html [link] for a list of common commands. 9.5.1. Interfaces Load Order When GRUB loads its second stage boot loader, it first searches for its configuration file. Once found, the menu interface bypass screen is displayed. If a key is pressed within three seconds, GRUB builds a menu list and displays the menu interface. If no key is pressed, the default kernel entry in the GRUB menu is used. If the configuration file cannot be found, or if the configuration file is unreadable, GRUB loads the command line interface, allowing the user to type commands to complete the boot process. If the configuration file is not valid, GRUB prints out the error and asks for input. This helps the user see precisely where the problem occurred. Pressing any key reloads the menu interface, where it is then possible to edit the menu option and correct the problem based on the error reported by GRUB. If the correction fails, GRUB reports an error and reloads the menu interface. Key sentence: "The following GRUB interfaces can only be accessed by pressing any key within the three seconds of the GRUB menu bypass screen." What is a "second stage boot loader"? Rough plan: 1. Boot from prepared memory stick, as done earlier. Kalkin's BIOS will automatically place the memory stick in front of the hard drive in its boot queue. 2. Interrupt boot sequence at the appropriate point (when? what does the "GRUB menu bypass screen" look like?) in order to arrive at Grub command line prompt. 3. Using the Grub advanced installation options, place the hard drive in front of the memory stick in the boot queue of the BIOS. 4. Install Centos to Kalkin's hard drive. I'm using the term "boot queue" to mean "the order in which the BIOS tries to boot from the available devices". Is there a better term? Google "bios hard drive order". First result: hyperlink http://www.boot-disk.com/boot_priority.htm www.boot-disk.com/boot_priority.htm Excerpt: 8 About Boot Priority To boot from a CD, DVD or USB device, make sure that the device has boot sequence priority over the hard drive. BIOS Boot BIOS (Basic Input Output Subsystem) is a programmable chip that controls how information is passed to various devices in the computer system. A typical method to access the BIOS settings screen is to press ESC, F1, F2, F8 or F10 during the boot sequence. BIOS settings allow you to run a boot sequence from a floppy drive, a hard drive, a CD-ROM drive or an external device. You may configure the order that your computer searches these physical devices for the boot sequence. The first device in the order list has the first boot priority. For example, to boot from a CD-ROM drive instead of a hard drive, place the CD-ROM drive ahead of the hard drive in priority. Before you set boot priority for a USB device, plug the device into a USB port. To specify the boot sequence: 1. Start the computer and press ESC, F1, F2, F8 or F10 during the initial startup screen. Depending on the BIOS manufacturer, a menu may appear. 2. Choose to enter BIOS setup. The BIOS setup utility page appears. 3. Use the arrow keys to select the BOOT tab. System devices appear in order of priority. 4. To give a CD or DVD drive boot sequence priority over the hard drive, move it to the first position in the list. 5. To give a USB device boot sequence priority over the hard drive, do the following: - Move the hard drive device to the top of the boot sequence list. - Expand the hard drive device to display all hard drives. - Move the USB device to the top of the list of hard drives. 6. Save and exit the BIOS setup utility. 7. The computer will restart with the changed settings. [...] Note: Using an incorrect BIOS setting can cause a system malfunction. Please follow the BIOS guide provided with your computer motherboard. If you read these instructions and you are not sure how to change a setting, it is better to leave it as the default setting. Hm. "boot sequence priority list" is probably the most accurate term, although for brevity I think I prefer to use the term "boot order". In this phrase: "the user must change the order of the hard drives using the Grub advanced installation options." I don't think the word "order" exactly refers to the boot order stored in the BIOS. I suspect that Grub, when it starts, loads the BIOS's boot order, but if the BIOS boot order is changed while Grub is running (is this even possible?), this will not cause Grub to reload the boot order from the BIOS. Conversely, if I change the boot order stored in Grub's memory, using the Grub advanced installation options, this probably won't affect the BIOS's stored boot order. When Grub has loaded the initial program (which presents several options, of which the first is "Install or upgrade an existing system"), I think this program will use the boot order stored in Grub, not the one stored in the BIOS. This line: "Please follow the BIOS guide provided with your computer motherboard." suggests that motherboard manufacturer's websites would be a productive avenue for searching for information on specific BIOSes. I didn't know that the BIOS was considered to be part of the motherboard. Searching through hyperlink http://www.pcguide.com www.pcguide.com , I find this: Excerpt from: hyperlink http://www.pcguide.com/ref/mbsys/bios/funcProgram-c.html www.pcguide.com/ref/mbsys/bios/funcProgram-c.html Author: Charles M. Kozierok The BIOS Program In order for any computer to function, it must have software to run on it. All that a processor - or any hardware for that matter - knows how to do is to follow instructions hyperlink http://www.pcguide.com/ref/cpu/arch/int/inst.htm [link] . The software is that collection of instructions, as described in this part of the Introduction hyperlink http://www.pcguide.com/intro/works/comput.htm [link] . All regular programs that you run on your PC are stored permanently on your hard disk hyperlink http://www.pcguide.com/ref/hdd/index.htm [link] , and are loaded into your system memory hyperlink http://www.pcguide.com/ref/ram/index.htm [link] (RAM) when you need to use them. From the memory, the processor can access the instructions coded into the program and run them, which lets you do your work. When you first turn on your PC, the processor is "raring to go", but it needs some instructions to execute. However, since you just turned on the machine, your system memory is empty; there are no programs to run. To make sure that the BIOS program is always available to the processor, even when it is first turned on, it is "hard-wired" into a read-only-memory (ROM) chip that is placed on your motherboard. A uniform standard was created between the makers of processors and the makers of BIOS programs, so that the processor would always look in the same place in memory to find the start of the BIOS program. The processor gets its first instructions from this location, and the BIOS program begins executing. The BIOS program then begins the system boot sequence hyperlink http://www.pcguide.com/ref/mbsys/bios/boot_Sequence.htm [link] which calls other programs, gets your operating system loaded, and your PC up and running. The BIOS program is always located in a special reserved memory area, the upper 64K of the first megabyte of system memory (addresses F000h to FFFFh). Some BIOSes use more than this 64K area. Key sentence: "To make sure that the BIOS program is always available to the processor, even when it is first turned on, it is "hard-wired" into a read-only-memory (ROM) chip that is placed on your motherboard." I'll try to answer the question I had about step 2 of the rough plan above. I want to know where and when to interrupt the Centos boot sequence in order to access the Grub command line interface. I'll boot using the memory stick on which Centos was installed. The visible boot sequence won't be exactly the same as when booting from the memory stick when it originally contained the contents of the Centos ISO image, but it will be a useful data point. Insert the memory stick on which Centos was installed. Press the power button to boot Kalkin. [Various startup messages are displayed, but not recorded here] Screen: Press any key to enter the menu Booting CentOS 6 (2.6.32-696.e16.x86_64) in 3 seconds... Press r key. Screen: GNU GRUB version 0.97 (623K lower / 3394536K upper memory) - CentOS 6 (2.6.32-696.e16.x86_64) Use the [up arrow symbol] and [down arrow symbol] keys to select which entry is highlighted. Press enter to boot the selected OS, 'e' to edit the commands before booting, 'a' to modify the kernel arguments before booting, or 'c' for a command-line. CentOS 6 (2.6.32-696.e16.x86_64) is highlighted. This is presumably the Grub Menu Interface. Therefore the previous screen was the Grub menu bypass screen. Press c key. Screen: GNU GRUB version 0.97 (623K lower / 3394536K upper memory) [ Minimal BASH-like line editing is supported. For the first word, TAB lists possible command completions. Anywhere else TAB lists the possible completions of a device/filename. ESC at any time exits.] grub\> Press TAB. grub\> Possible commands are: background blocklist boot cat chainloader clear cmp color configfile debug displayapm displaymem embed find foreground fstest geometry halt help hide impsprobe initrd install ioprobe kernel lock makeactive map md5crypt module modulenounzip pager partnew parttype password pause read reboot root rootnoverify savedefault serial setkey setup silent splashimage terminal terminfo testload testvbe unhide uppermem vbeprobe verbose grub\> help help help: help [--all] [PATTERN ...] Display helpful information about builtin commands. Not all commands aren't shown without the option '--all'. grub\> If I change the boot order in Grub, and then exit Grub and continue the boot sequence, will this cause Grub to then try to boot the Centos installation program from the wrong device (in this case, from the hard disk, rather than from the memory stick)? Google "grub 0.97 documentation". First result: hyperlink http://www.gnu.org/software/grub/manual/legacy www.gnu.org/software/grub/manual/legacy "GNU GRUB Manual 0.97" It's a table of contents. I'll do some reading. Excerpt from: hyperlink http://www.gnu.org/software/grub/manual/legacy/Overview.html#Overview www.gnu.org/software/grub/manual/legacy/Overview.html#Overview Briefly, a boot loader is the first software program that runs when a computer starts. It is responsible for loading and transferring control to an operating system kernel software (such as Linux or GNU Mach). The kernel, in turn, initializes the rest of the operating system (e.g. a GNU system). [...] Besides the GRUB boot loader itself, there is a grub shell grub (see Invoking the grub shell hyperlink http://www.gnu.org/software/grub/manual/legacy/Invoking-the-grub-shell.html#Invoking-the-grub-shell [link] ) which can be run when you are in your operating system. It emulates the boot loader and can be used for installing the boot loader. I note the option to run the grub shell from within the operating system because later I may try to boot into the Centos installation program (so boot is complete, and changing Grub boot order won't affect this), then switch to shell, then run grub shell, then change boot order within Grub, then attempt to finish Centos installation (now targeted at the hard drive instead of the memory stick). Excerpt from: hyperlink http://www.gnu.org/software/grub/manual/legacy/Naming-convention.html#Naming-convention www.gnu.org/software/grub/manual/legacy/Naming-convention.html#Naming-convention The device syntax used in GRUB is a wee bit different from what you may have seen before in your operating system(s), and you need to know it so that you can specify a drive/partition. Look at the following examples and explanations: (fd0) First of all, GRUB requires that the device name be enclosed with `(' and `)'. The `fd' part means that it is a floppy disk. The number `0' is the drive number, which is counted from zero. This expression means that GRUB will use the whole floppy disk. (hd0,1) Here, `hd' means it is a hard disk drive. The first integer `0' indicates the drive number, that is, the first hard disk, while the second integer, `1', indicates the partition number (or the PC slice number in the BSD terminology). Once again, please note that the partition numbers are counted from zero, not from one. This expression means the second partition of the first hard disk drive. In this case, GRUB uses one partition of the disk, instead of the whole disk. [...] Of course, to actually access the disks or partitions with GRUB, you need to use the device specification in a command, like `root (fd0)' or `unhide (hd0,2)'. To help you find out which number specifies a partition you want, the GRUB command-line (see Command-line interface hyperlink http://www.gnu.org/software/grub/manual/legacy/Command_002dline-interface.html#Command_002dline-interface [link] ) options have argument completion. This means that, for example, you only need to type root ( followed by a \, and GRUB will display the list of drives, partitions, or file names. So it should be quite easy to determine the name of your target partition, even with minimal knowledge of the syntax. Excerpt from: hyperlink http://www.gnu.org/software/grub/manual/legacy/root.html#root www.gnu.org/software/grub/manual/legacy/root.html#root - Command: root device [hdbias] Set the current root device to the device device, then attempt to mount it to get the partition size (for passing the partition descriptor in ES:ESI, used by some chain-loaded boot loaders), the BSD drive-type (for booting BSD kernels using their native boot format), and correctly determine the PC partition where a BSD sub-partition is located. The optional hdbias parameter is a number to tell a BSD kernel how many BIOS drive numbers are on controllers before the current one. For example, if there is an IDE disk and a SCSI disk, and your FreeBSD root partition is on the SCSI disk, then use a `1' for hdbias. So, if I want to make Grub see Kalkin's hard drive as the first device in its boot order, I should try this command or something like it: root(hd1) which says "take the second hard drive ('hard drive 1' becomes 'hd1') and treat it as the root device". I should type out root ( first and press the Tab key so that Grub tells me what it sees. There are only two hard drive devices, the hard drive and the memory stick, and they're not in order, so I know that they should be switched within Grub's boot order. If there were more than two drives, I would find it harder to distinguish them while working within Grub. I would like to be able to see the names of each hard drive device, so that I can distinguish them by name rather than by guessing their order. Press the power button to turn Kalkin off. Press the power button to boot Kalkin. [Various startup messages are displayed, but not recorded here] Screen: Press any key to enter the menu Booting CentOS 6 (2.6.32-696.e16.x86_64) in 3 seconds... Press j key. Screen: GNU GRUB version 0.97 (574 lower / 3394536K upper memory) - CentOS 6 (2.6.32-696.e16.x86_64) Use the [up arrow symbol] and [down arrow symbol] keys to select which entry is highlighted. Press enter to boot the selected OS, 'e' to edit the commands before booting, 'a' to modify the kernel arguments before booting, or 'c' for a command-line. CentOS 6 (2.6.32-696.e16.x86_64) is highlighted. Press c key. Screen: GNU GRUB version 0.97 (574K lower / 3394536K upper memory) [ Minimal BASH-like line editing is supported. For the first word, TAB lists possible command completions. Anywhere else TAB lists the possible completions of a device/filename. ESC at any time exits.] grub\> grub\> root ( Press the Tab key. grub\> root ( Possible disks are: fd0 fd1 hd0 hd1 Hm. I'm surprised to see fd0 and fd1, as these indicate floppy disks. grub\> root Press Enter. grub\> root (hd0,0): Filesystem type is ext2fs, partition type 0x83 Ok. Let's set root device to hd1. grub\> root (hd1) grub\> root (hd1): Filesystem type unknown, using whole disk Press Esc to exit the Grub command-line. Screen: GNU GRUB version 0.97 (574 lower / 3394536K upper memory) - CentOS 6 (2.6.32-696.e16.x86_64) Use the [up arrow symbol] and [down arrow symbol] keys to select which entry is highlighted. Press enter to boot the selected OS, 'e' to edit the commands before booting, 'a' to modify the kernel arguments before booting, or 'c' for a command-line. CentOS 6 (2.6.32-696.e16.x86_64) is highlighted. Press Enter. [A booting screen is displayed] Screen: CentOS release 6.9 (Final) Kernel 2.6.32-696.el6.x86_64 on an x86_64 kalkin login: Hm, interesting. Changing the root device in Grub did not affect Grub's knowledge of where to find the Centos kernel (i.e. on the memory stick, not on the hard drive) and thereby be able to boot Centos. I now know (roughly) how to reach the Grub command-line when booting and how to set the root device in Grub's settings. I'm going to rewrite the original Centos iso image to the memory stick. I'll attempt to install it again to Kalkin's hard disk, interrupting the boot process to change Grub's root device setting, and then continue with the boot. Hopefully, I will arrive at the Centos installation program, which will then target Kalkin's hard disk instead of the memory stick. Let's move back to Aineko. WARNING: Perform your backups now in order to avoid catastrophic data loss from making a mistake when using Disk Utility or when running the dd command. Recipe for writing an OS iso image file to a memory stick: - Format the USB memory stick as a single FAT32 partition. Partition scheme = Master Boot Record. On Mac OS X, use Disk Utility to do this. - Remove the memory stick. - In a terminal, change directory to the directory containing the OS image (e.g. CentOS-6.9-x86_64-minimal.iso) - Run this command: $ df -h - Reinsert the memory stick. - Run this command: $ df -h - In the output, find the item name that wasn't listed in the output from the first time that df -h was run. Example: /dev/disk1s1 - Remove the /dev/ prefix to get the device name. Example: /dev/disk1s1 becomes disk1s1 - Run this command: $ sudo diskutil unmount /dev/[device_name] -- Example: $ sudo diskutil unmount /dev/disk1s1 - Get raw device name by deleting the partition name e.g. 's1' and adding 'r' to the front. Example: disk1s1 becomes rdisk1 - WARNING: If you make a mistake in the next step you could wipe your operating system. - Run this command: $ sudo dd bs=1m if=CentOS-6.9-x86_64-minimal.iso of=/dev/[raw_device_name] -- Example: $ sudo dd bs=1m if=CentOS-6.9-x86_64-minimal.iso of=/dev/rdisk1 -- This should take a few minutes. - Remove the memory stick. Insert memory stick. Pop-up dialogue box opens with this message: The disk you inserted was not readable by this computer. and three buttons: Initialize..., Ignore, Eject. Click Ignore. No icon for the disk appears on the Desktop. Open Disk Utility (Version 11.5.2 (298.4)). In Disk Utility, select the memory stick (it shows up as "15.96 GB hp v150w Media"). Click Erase tab. - Format = MS-DOS (FAT) - Name = CENTOS6_9_M Click Erase. Pop-up dialogue box opens with this message: Are you sure you want to erase the disk "hp v150w Media"? Erasing a disk deletes all data on all its partitions. This disk has 2 partitions: "disk1s1" "disk1s2" and two buttons: Cancel and Erase. Click Erase. Click Partition tab. Under Volume Scheme, choose 1 Partition. Click Options and choose Master Boot Record partition scheme. Under Volume Information, set these values: - Name = CENTOS6_9_M - Format = MS-DOS (FAT) - Size = 15.96 Click Apply. Pop-up dialogue box opens with this message: Are you sure you want to partition the disk "hp v150w Media"? Partitioning this disk will delete all data on this disk. This partition will be erased: "CENTOS6_9_M" This partition will be added: "CENTOS6_9_M" and two buttons: Cancel and Partition. Click Partition. There is now an icon on the Desktop called CENTOS6_9_M. Quit Disk Utility. Eject CENTOS6_9_M disk (right-click icon on Desktop and choose Eject). Remove the CENTOS6_9_M memory stick. aineko:CentOS-6.9-x86_64-minimal stjohnpiano$ df -h Filesystem Size Used Avail Capacity Mounted on /dev/disk0s2 117Gi 107Gi 9.7Gi 92% / devfs 109Ki 109Ki 0Bi 100% /dev map -hosts 0Bi 0Bi 0Bi 100% /net map auto_home 0Bi 0Bi 0Bi 100% /home /dev/disk0s3 32Gi 14Gi 18Gi 45% /Volumes/Untitled Reinsert the CENTOS6_9_L memory stick. It mounts automatically and an icon appears on the Desktop. aineko:CentOS-6.9-x86_64-minimal stjohnpiano$ df -h Filesystem Size Used Avail Capacity Mounted on /dev/disk0s2 117Gi 107Gi 9.7Gi 92% / devfs 110Ki 110Ki 0Bi 100% /dev map -hosts 0Bi 0Bi 0Bi 100% /net map auto_home 0Bi 0Bi 0Bi 100% /home /dev/disk0s3 32Gi 14Gi 18Gi 45% /Volumes/Untitled /dev/disk1s1 15Gi 768Ki 15Gi 1% /Volumes/CENTOS6_9_M Find the device name that wasn't listed before: /dev/disk1s1 Unmount the disk: aineko:CentOS-6.9-x86_64-minimal stjohnpiano$ diskutil unmount /dev/disk1s1 Volume CENTOS6_9_M on disk1s1 unmounted Get raw device name by deleting the partition name e.g. 's1' and adding 'r' to the front. In this case, disk1s1 becomes rdisk1 WARNING: If you make a mistake in the next step you could wipe your operating system. aineko:CentOS-6.9-x86_64-minimal stjohnpiano$ sudo dd bs=1m if=CentOS-6.9-x86_64-minimal.iso of=/dev/rdisk1 Password: 408+0 records in 408+0 records out 427819008 bytes transferred in 59.544502 secs (7184862 bytes/sec) 59 seconds / (60 seconds / minute) = 0.98 minutes Remove and re-insert the memory stick. Disk is auto-mounted as CentOS_6.9_Final. Eject disk. Remove memory stick. Let's move to Kalkin. Press the power button to turn Kalkin off. Insert memory stick. Press the power button to boot Kalkin. I used a smartphone to film the boot so that I could check each message that appeared on the monitor. [Various startup messages that have already been seen are displayed, but not recorded here] Screen: [very brief] Attempting Boot From USB Device ISOLINUX 4.04 0x543eb00b EMDD Screen: [very brief] - Press the \ key to begin the installation process. Welcome to CentOS 6.9! - Install or upgrade an existing system - Install system with basic video driver - Rescue installed system - Boot from local drive - Memory test Press [Tab] to edit options Automatic boot in 60 seconds... CentOS 6 Community ENTerprise Operating System Hm. I didn't see anything that looked like a Grub menu bypass screen. I'm going to try an idea I mentioned earlier: - choose the option Install or upgrade an existing system. - tell the Centos installation program to use the memory stick (i.e. the first hard drive device in the boot order) as the source for the Centos installation image. - arrive at GUI. - switch to shell (via Ctrl-Alt-F2). - run grub shell. - set root device in Grub to be the hard drive. - switch back to Centos installation program GUI (via Ctrl-Alt-F6). - perform installation. Hopefully, the change of root device will cause the Centos installation program to target Kalkin's hard drive instead of the memory stick from which it booted. Press the power button to turn Kalkin off. Press the power button to boot Kalkin. [Various startup messages are displayed, but not recorded here] Kalkin arrives at this screen: Welcome to CentOS for x86_64 Choose a Language What language would you like to use during the installation process? [...] English [...] OK \/\ between elements | \ selects | \ next screen English is highlighted. Press Enter. Screen: Keyboard Type What type of keyboard do you have? [...] us [...] OK, Back us is highlighted. Press Enter. Screen: Installation Method What type of media contains the installation image? - Local CD/DVD - Hard drive - NFS directory - URL OK, Back Local CD/DVD is highlighted. Press the Down Arrow key to select Hard drive. Press Enter. Screen: Select Partition What partition and directory on that partition holds the installation image for CentOS? If you don't see the disk drive you're using listed here, press F2 to configure additional devices. - /dev/sda1 Directory holding image: ________________ OK, Back /dev/sda1 is highlighted. Press Enter. [A couple messages are displayed, but not recorded here] Screen: CentOS 6 Community ENTerprise Operating System Back, Next Next is a button. Back is a greyed-out button. This is the GUI screen. Press Ctrl-Alt-F2. [anaconda root@localhost /]# This is a terminal. Text of: hyperlink http://www.gnu.org/software/grub/manual/legacy/Invoking-the-grub-shell.html#Invoking-the-grub-shell www.gnu.org/software/grub/manual/legacy/Invoking-the-grub-shell.html#Invoking-the-grub-shell 15 Invoking the grub shell This chapter documents the grub shell grub. Note that the grub shell is an emulator; it doesn't run under the native environment, so it sometimes does something wrong. Therefore, you shouldn't trust it too much. If there is anything wrong with it, don't hesitate to try the native GRUB environment, especially when it guesses a wrong map between BIOS drives and OS devices. - Basic usage hyperlink http://www.gnu.org/software/grub/manual/legacy/Basic-usage.html#Basic-usage [link] : How to use the grub shell - Installation under UNIX hyperlink http://www.gnu.org/software/grub/manual/legacy/Installation-under-UNIX.html#Installation-under-UNIX [link] : How to install GRUB via grub - Device map hyperlink http://www.gnu.org/software/grub/manual/legacy/Device-map.html#Device-map [link] : The map between BIOS drives and OS devices Excerpt from: hyperlink http://www.gnu.org/software/grub/manual/legacy/Basic-usage.html#Basic-usage www.gnu.org/software/grub/manual/legacy/Basic-usage.html#Basic-usage 15.1 Introduction into the grub shell You can use the command grub for installing GRUB under your operating systems and for a testbed when you add a new feature into GRUB or when fixing a bug. grub is almost the same as the Stage 2, and, in fact, it shares the source code with the Stage 2 and you can use the same commands (see Commands hyperlink http://www.gnu.org/software/grub/manual/legacy/Commands.html#Commands [link] ) in grub. It is emulated by replacing BIOS calls with UNIX system calls and libc functions. The command grub accepts the following options: --help Print a summary of the command-line options and exit. --version Print the version number of GRUB and exit. [...] --boot-drive=drive Set the stage2 boot_drive to drive. This argument should be an integer (decimal, octal or hexadecimal). --install-partition=par Set the stage2 install_partition to par. This argument should be an integer (decimal, octal or hexadecimal). [anaconda root@localhost /]# grub --version grub (GNU GRUB 0.97) [anaconda root@localhost /]# grub Probing devices to guess BIOS drives. This may take a long time. Unknown partition table signature GNU GRUB version 0.97 (640K lower / 3072K upper memory) [ Minimal BASH-like line editing is supported. For the first word, TAB lists possible command completions. Anywhere else TAB lists the possible completions of a device/filename. ESC at any time exits.] grub\> grub\> root ( Press the Tab key. Cursor advances one tab increment. Hm. No tab completion. grub\> root root (fd0): Filesystem type unknown, partition type 0x0 Hm. Perhaps the Centos installation program is run on a floppy disk emulator. Ok. Let's set root device to hd1. grub\> root (hd1) root (hd1) Filesystem type unknown, using whole disk Press Esc to exit the Grub command-line. grub\> ^[ Hm. grub\> exit Error 2: Unrecognized command Excerpt from: hyperlink http://www.gnu.org/software/grub/manual/legacy/Command_002dline-and-menu-entry-commands.html#Command_002dline-and-menu-entry-commands www.gnu.org/software/grub/manual/legacy/Command_002dline-and-menu-entry-commands.html#Command_002dline-and-menu-entry-commands These commands are usable in the command-line and in menu entries. If you forget a command, you can run the command help. [...] quit: Exit from the grub shell grub\> quit quit [anaconda root@localhost /]# Ok. I've entered the grub shell, changed the root device, and exited the grub shell. I'm back at the Centos installation program shell. Press Ctrl-Alt-F6. Screen: CentOS 6 Community ENTerprise Operating System [buttons:] Back, Next Next is a button. Back is a greyed-out button. This is the GUI screen. Click Next. Screen: What type of devices will your installation involve? - Basic Storage Devices: Installs or upgrades to typical types of storage devices. If you're not sure which option is right for you, this is probably it. - Specialized Storage Devices: Installs or upgrades to enterprise devices such as Storage Area Networks (SANs). This option will allow you to add FCoEes / iSCSI / zFCP disks and to filter out devices the installer should ignore. [buttons:] Back, Next Basic Storage Devices is selected. Click Next. Screen: Warning Disk sdg contains BIOS RAID metadata, but is not part of any recognized BIOS RAID sets. Ignoring disk sdg. [button:] OK [buttons:] Back, Next Click OK. Screen: Please name this computer. The hostname identifies the computer on a network. Hostname: [text field] [button:] Configure Network [buttons:] Back, Next Type "kalkin" into the text field. Click Next. Screen: Please select the nearest city in your time zone: [Map of the world with dots for cities. New York is named.] Selected city: New York, America (Eastern (most areas)) [Drop-down list. America/New York is selected.] [checkbox: ticked] System clock uses UTC [buttons:] Back, Next Click the drop-down list and select Europe/London. Pressing Page Down to move through the list is faster than scrolling. Click Next. Screen: The root account is used for administering the system. Enter a password for the root user. Route Password: [text field] Confirm: [text field] [buttons:] Back, Next Type in a password for the root user into both text fields. Click Next. Screen: Which type of installation would you like? [radio-button list:] - Use All Space: Removes all partitions on the selected device(s). This includes partitions created by other operating systems. Tip: This option will remove data from the selected device(s). Make sure you have backups. - Replace Existing Linux System(s): Removes only Linux partition (created from a previous Linux installation). This does not remove other partitions you may have on your storage device(s) (such as VFAT or FAT32). Tip: This option will remove data from the selected device(s). Make sure you have backups. - Shrink Current System: Shrinks existing partitions to create free space for the default layout. - Use Free Space: Retains your current data and partitions and uses only the unpartitioned space on the selected device(s), assuming you have enough free space available. - Creed Custom Layout: Manually create your own custom layout on the selected device(s) using our partitioning tool. [checkbox: not ticked] Encrypt system [checkbox: not ticked] Review and modify partitioning layout [buttons:] Back, Next Replace Existing Linux System(s) is selected. Click Use All Space. Click Next. Screen: Writing storage configuration to disk The partitioning options you have selected will now be written to disk. Any data on deleted or reformatted partitions will be lost. [buttons:] Go back, Write changes to disk [buttons:] Back, Next Click Write changes to disk. Screen: Formatting Creating ext4 filesystem on /dev/sda1 [progress bar] [buttons:] Back, Next [Various other messages are displayed, but not recorded here] Screen: Missing ISO 9660 Image The installer has tried to mount image #1, but cannot find it on the hard drive. Please copy this image to the driver and click Retry. Click Exit to abort the installation. [buttons:] Exit, Retry [buttons:] Back, Next Hm. It looks like I've hit exactly the same problem as before. The Centos installation program targeted the memory stick, wrote an ext4 filesystem to it, and now can't find the Centos installation iso image. Changing the root device in the grub emulator shell during installation setup had no effect. Click Exit. [Various messages are displayed, but not recorded here] Centos installation program appears to have exited. Screen: Attempting Boot From USB Device Looks as though I'm back in the BIOS. After 10 minutes, no change. Press the power button to turn Kalkin off. Remove the memory stick. Insert memory stick into Aineko. Pop-up dialogue box opens with this message: The disk you inserted was not readable by this computer. and three buttons: Initialize..., Ignore, Eject. Click Eject. Hm. Hm. Hm. After searching and reading for a while, I find this forum post: hyperlink http://forums.fedoraforum.org/showthread.php?272933-How-to-change-boot-device-in-GRUB-configuration forums.fedoraforum.org/showthread.php?272933-How-to-change-boot-device-in-GRUB-configuration I've copied all of it here, because I don't understand some of the concepts and I may need to refer back to it. Q: How to change boot device in GRUB configuration? #1 22nd November 2011, 04:48 PM Sagari The situation: Fedora 14 is being installed from a USB stick on a BenQ notebook. Everything goes smooth, except for one problem: Fedora considers USB stick /dev/sda device, the first HDD is /dev/sdb during installation. After USB is unplugged, GRUB refuses to boot, telling it can't find the files. If USB is inserted again, OS boots fine, and the command Code: grub-install /dev/sdb works fine, but after the USB is plugged out and HDD becomes /dev/sda, boot sequence still fails. The first menu entry contains root (hd1,0) and changing hd1 to hd0 also doesn't help. What should be changed to alllow booting from /dev/sda ? Note: do not advise to switch to later version of Fedora. F14 is required, and it works fine, except for the mentioned GRUB problem. Thanks. #2 22nd November 2011, 05:57 PM fantab I suggest you check you BIOS settings for hard drive boot order. Plugin your USB and start your computer... go to BIOS and change the Hard Disk Boot Order if it shows your USB as FIRST HDD to your Internal HDD. Also If you have told your BIOS to boot from USB - after Installation Change it back to boot from HDD. You may have to reinstall for simplicity or you may have to reinstall GRUB. #3 22nd November 2011, 06:01 PM jpollard Also check the /boot/grub.conf file and verify the root= options on the kernel lines. If they specify a specific device (such as /dev/sdb) then they need to be switched to a UUID or volume lable. #4 Quote: Originally Posted by fantab I suggest you check you BIOS settings for hard drive boot order. Plugin your USB and start your computer... go to BIOS and change the Hard Disk Boot Order if it shows your USB as FIRST HDD to your Internal HDD. Also If you have told your BIOS to boot from USB - after Installation Change it back to boot from HDD. You may have to reinstall for simplicity or you may have to reinstall GRUB. Boot device sequence was restored to 'HDD first' after the OS was installed. Quote: Originally Posted by jpollard Also check the /boot/grub.conf file and verify the root= options on the kernel lines. If they specify a specific device (such as /dev/sdb) then they need to be switched to a UUID or volume lable. root options on the kernel line does use UUID, for no avail. #5 23rd November 2011, 12:40 AM buddha Perhaps check the splashimage line in grub.conf and make sure that it says hd0 instead of hd1. #6 23rd November 2011, 06:07 AM Last edited by fantab; 23rd November 2011 at 06:11 AM. fantab Quote:Originally Posted by Sagari Boot device sequence was restored to 'HDD first' after the OS was installed. It is unusual that your USB assumes /dev/sda. Try using a LiveCD if you can. #7 28th November 2011, 03:23 AM Sagari Quote: Originally Posted by fantab It is unusual that your USB assumes /dev/sda. Try using a LiveCD if you can. I have just installed the system again, this time carefully setting bot loader installation device and devices assignment. It took significantly less time than trying to persuade GRUB to boot from different device. Key section: "Plugin your USB and start your computer... go to BIOS and change the Hard Disk Boot Order if it shows your USB as FIRST HDD to your Internal HDD. Also If you have told your BIOS to boot from USB - after Installation Change it back to boot from HDD." So, new plan: - Write Centos iso to memory stick again - Boot into BIOS - Change the BIOS boot order so that the hard drive comes first. This will mean that the Centos installation program will see the hard drive as the first device (/dev/sda) and will therefore target the hard drive for installation. - Within BIOS, manually choose to boot from the memory stick, bypassing the boot order. - Discover (somehow) the location of the Centos iso on the memory stick as seen from the Centos installation program, so that the Centos installation program will be able to see it and install it on the hard drive. There is no Centos iso file on the memory stick, exactly. The entire contents of the iso was written to the stick but there is no single file to point to other than the stick mount point (e.g. /dev/sdb?). This may mean that I will instead need to copy the iso to a second memory stick again and specify the location of the Centos iso file on that stick's mount point. Another possibility would be to follow this: "1. Partition the USB key into two partitions: the first, FAT32, and about 250M; the second, the rest of the drive, and ext3. (An ext3 partition is required because the ISO file, that will later be copied to it, is larger than the maximum file size for a FAT32 or VFAT partition.)" and create a second partition to hold the Centos iso file. Let's move back to Aineko. WARNING: Perform your backups now in order to avoid catastrophic data loss from making a mistake when using Disk Utility or when running the dd command. Recipe for writing an OS iso image file to a memory stick: - Format the USB memory stick as a single FAT32 partition. Partition scheme = Master Boot Record. On Mac OS X, use Disk Utility to do this. - Remove the memory stick. - In a terminal, change directory to the directory containing the OS image (e.g. CentOS-6.9-x86_64-minimal.iso) - Run this command: $ df -h - Reinsert the memory stick. - Run this command: $ df -h - In the output, find the item name that wasn't listed in the output from the first time that df -h was run. Example: /dev/disk1s1 - Remove the /dev/ prefix to get the device name. Example: /dev/disk1s1 becomes disk1s1 - Run this command: $ sudo diskutil unmount /dev/[device_name] -- Example: $ sudo diskutil unmount /dev/disk1s1 - Get raw device name by deleting the partition name e.g. 's1' and adding 'r' to the front. Example: disk1s1 becomes rdisk1 - WARNING: If you make a mistake in the next step you could wipe your operating system. - Run this command: $ sudo dd bs=1m if=CentOS-6.9-x86_64-minimal.iso of=/dev/[raw_device_name] -- Example: $ sudo dd bs=1m if=CentOS-6.9-x86_64-minimal.iso of=/dev/rdisk1 -- This should take a few minutes. - Remove the memory stick. Insert memory stick. Pop-up dialogue box opens with this message: The disk you inserted was not readable by this computer. and three buttons: Initialize..., Ignore, Eject. Click Ignore. No icon for the disk appears on the Desktop. Open Disk Utility (Version 11.5.2 (298.4)). In Disk Utility, select the memory stick (it shows up as "15.96 GB hp v150w Media"). Click Erase tab. - Format = MS-DOS (FAT) - Name = CENTOS6_9_M Click Erase. Pop-up dialogue box opens with this message: Are you sure you want to erase the disk "hp v150w Media"? Erasing a disk deletes all data on all its partitions. This disk has 2 partitions: "disk1s1" "disk1s2" and two buttons: Cancel and Erase. Click Erase. Click Partition tab. Under Volume Scheme, choose 1 Partition. Click Options and choose Master Boot Record partition scheme. Under Volume Information, set these values: - Name = CENTOS6_9_M - Format = MS-DOS (FAT) - Size = 15.96 Click Apply. Pop-up dialogue box opens with this message: Are you sure you want to partition the disk "hp v150w Media"? Partitioning this disk will delete all data on this disk. This partition will be erased: "CENTOS6_9_M" This partition will be added: "CENTOS6_9_M" and two buttons: Cancel and Partition. Click Partition. There is now an icon on the Desktop called CENTOS6_9_M. Quit Disk Utility. Eject CENTOS6_9_M disk (right-click icon on Desktop and choose Eject). Remove the CENTOS6_9_M memory stick. aineko:CentOS-6.9-x86_64-minimal stjohnpiano$ df -h Filesystem Size Used Avail Capacity Mounted on /dev/disk0s2 117Gi 107Gi 9.6Gi 92% / devfs 109Ki 109Ki 0Bi 100% /dev map -hosts 0Bi 0Bi 0Bi 100% /net map auto_home 0Bi 0Bi 0Bi 100% /home /dev/disk0s3 32Gi 14Gi 18Gi 45% /Volumes/Untitled Reinsert the CENTOS6_9_L memory stick. It mounts automatically and an icon appears on the Desktop. aineko:CentOS-6.9-x86_64-minimal stjohnpiano$ df -h Filesystem Size Used Avail Capacity Mounted on /dev/disk0s2 117Gi 107Gi 9.6Gi 92% / devfs 110Ki 110Ki 0Bi 100% /dev map -hosts 0Bi 0Bi 0Bi 100% /net map auto_home 0Bi 0Bi 0Bi 100% /home /dev/disk0s3 32Gi 14Gi 18Gi 45% /Volumes/Untitled /dev/disk1s1 15Gi 768Ki 15Gi 1% /Volumes/CENTOS6_9_M Find the device name that wasn't listed before: /dev/disk1s1 Unmount the disk: aineko:CentOS-6.9-x86_64-minimal stjohnpiano$ diskutil unmount /dev/disk1s1 Volume CENTOS6_9_M on disk1s1 unmounted Get raw device name by deleting the partition name e.g. 's1' and adding 'r' to the front. In this case, disk1s1 becomes rdisk1 WARNING: If you make a mistake in the next step you could wipe your operating system. aineko:CentOS-6.9-x86_64-minimal stjohnpiano$ sudo dd bs=1m if=CentOS-6.9-x86_64-minimal.iso of=/dev/rdisk1 Password: 408+0 records in 408+0 records out 427819008 bytes transferred in 62.921752 secs (6799223 bytes/sec) 62.9 seconds / (60 seconds / minute) = 1.05 minutes Remove and re-insert the memory stick. Disk is auto-mounted as CentOS_6.9_Final. Eject disk. Remove memory stick. Let's move to Kalkin. Press the power button to turn Kalkin off. Insert memory stick. Press the power button to boot Kalkin. Hold the Escape Key as it boots. Screen: Version 2.10.1208. Copyright (C) 2011 American Megatrends, Inc. 16384 MB Startup Menu - Continue Startup (Exit) - System Information - Change Language - Diagnostics (F2) - Boot Menu (F9) - Computer Setup (F10) - System Recovery (F11) - Network Boot (F12) - Utilities - Run UEFI Application... J51 v01.20 HP Z210 Workstation Press the ESC key for Startup Menu Startup Menu Press F9. Screen: Please select boot device: EFI Boot Sources Legacy Boot Sources - ATAPI CD/DVD Drive -- SATA2 - Hard Drive -- hp v150w 1100 - IBA GE Slot 00C8 v1363 [up arrow symbol] and [down arrow symbol] to move selection ENTER to select boot device ESC to boot using defaults EFI Boot Sources is highlighted. The hard drive (HDS722020ALA330 RSD HUA) is not listed. I'll reboot. I recall from article Exploring_the_BIOS_boot_options_on_Kalkin edgecase 23 exploring the BIOS boot options on Kalkin that HDS722020ALA330 RSD HUA appeared under the Hard Drive section of the Boot Menu only after Kalkin was booted for a second time with a memory stick inserted. Press the power button to turn Kalkin off. Press the power button to boot Kalkin. Hold the Escape Key as it boots. Screen: Version 2.10.1208. Copyright (C) 2011 American Megatrends, Inc. 16384 MB Startup Menu - Continue Startup (Exit) - System Information - Change Language - Diagnostics (F2) - Boot Menu (F9) - Computer Setup (F10) - System Recovery (F11) - Network Boot (F12) - Utilities - Run UEFI Application... J51 v01.20 HP Z210 Workstation Press the ESC key for Startup Menu Startup Menu Press F9. Screen: Please select boot device: EFI Boot Sources Legacy Boot Sources - ATAPI CD/DVD Drive -- SATA2 - Hard Drive -- hp v150w 1100 -- HDS722020ALA330 RSD HUA - IBA GE Slot 00C8 v1363 [up arrow symbol] and [down arrow symbol] to move selection ENTER to select boot device ESC to boot using defaults EFI Boot Sources is highlighted. HDS722020ALA330 RSD HUA appears this time. Is there a way to set it to be the first in the boot order? None of the commands (Up Arrow, Down Arrow, Enter, Esc) look like they can be used for modifying the boot order. Google "bios move hard disk in the boot order". Second result: hyperlink http://www.lifewire.com/change-the-boot-order-in-bios-2624528 www.lifewire.com/change-the-boot-order-in-bios-2624528 Author: Tim Fisher Excerpt: Changing the boot order of the "bootable" devices on your computer, like your hard drive or bootable media in a USB port (e.g. flash drive), floppy drive, or optical drive, is very easy. The BIOS setup utility is where you change boot order settings. Turn on or restart your computer and watch for a message during the POST about a particular key, usually Del or F2, that you'll need to press to ...enter SETUP. Press this key as soon as you see the message. [...] Using the instructions given for navigating around your BIOS utility, locate the option for changing the boot order. Note: Since every BIOS setup utility is different, the specifics on where the boot order options are located varies from computer to computer. The menu option or configuration item might be called Boot Options, Boot, Boot Order, etc. The boot order option may even be located within a general menu option like Advanced Options, Advanced BIOS Features, or Other Options. [...] To change which device to boot from first, follow the directions on the BIOS setup utility screen to change the boot order. In this example BIOS, the boot order can be changed using the + and - keys. Remember, your BIOS may have different instructions! [...] Before your boot order changes take effect, you will need to save the BIOS changes you made. To save your changes, follow the instructions given to you in your BIOS utility to navigate to the Exit or Save and Exit menu. Locate and choose the Exit Saving Changes (or similarly worded) option to save the changes you made to the boot order. [...] Choose Yes when prompted to save your BIOS configuration changes and exit. Note: This Setup Confirmation message can sometimes be cryptic. The example above is pretty clear but I've seen many BIOS change confirmation questions that are so "wordy" that they're often difficult to understand. Read the message carefully to be sure that you're actually saving your changes and not exiting without saving changes. Your boot order changes, and any other changes you may have made while in BIOS, are now saved and your computer will restart automatically. Hm. In the BIOS Startup Menu, there was this option: - Computer Setup (F10) I can't see an option to go back from the Boot Menu to the Startup Menu. I'll reboot. Press the power button to turn Kalkin off. Press the power button to boot Kalkin. Hold the Escape Key as it boots. Screen: Version 2.10.1208. Copyright (C) 2011 American Megatrends, Inc. 16384 MB Startup Menu - Continue Startup (Exit) - System Information - Change Language - Diagnostics (F2) - Boot Menu (F9) - Computer Setup (F10) - System Recovery (F11) - Network Boot (F12) - Utilities - Run UEFI Application... J51 v01.20 HP Z210 Workstation Press the ESC key for Startup Menu Startup Menu Press F10. Screen: HEWLETT-PACKARD COMPUTER SETUP File | Storage | Security | Power | Advanced - System Information - About - Set Time and Date - Flash System ROM - Replicated Setup - Default Setup - Apply Defaults and Exit - Ignore Changes and Exit - Save Changes and Exit Aptio Setup Utility - Version 2.10.1208. Copyright (C) 2011 American Megatrends, Inc. I have used a vertical bar (|) to represent the elements of a horizontal menu. File and System Information are highlighted. Press Right Arrow. Screen: HEWLETT-PACKARD COMPUTER SETUP File | Storage | Security | Power | Advanced - Device Configuration - Storage Options - DPS Self-test - Boot Order Aptio Setup Utility - Version 2.10.1208. Copyright (C) 2011 American Megatrends, Inc. Storage and Device Configuration are highlighted. Press Down Arrow 3 times. Boot Order is now highlighted. Press Enter. New pop-up box: Boot Order - EFI Boot Sources -- ATAPI CD/DVD Drive -- USB Floppy/CD -- USB Hard Drive - Legacy Boot Sources -- ATAPI CD/DVD Drive -- USB Floppy/CD -- Hard Drive -- Network Controller (IBA GE Slot 00C8 v1363) F5=Disabled, ESC=Cancel, F10=Accept EFI Boot Sources is selected. Press Down Arrow 7 times. Hard Drive is now selected. The available commands have changed to: F5=Disabled, ESC=Cancel, F10=Accept, Enter=Drag Press Enter. Hard Drive is now highlighted. The available commands have changed to: F5=Disabled, ESC=Cancel, F10=Accept, Enter=Drop Press Up Arrow. Screen: Boot Order - EFI Boot Sources -- ATAPI CD/DVD Drive -- USB Floppy/CD -- USB Hard Drive - Legacy Boot Sources -- ATAPI CD/DVD Drive -- Hard Drive -- USB Floppy/CD -- Network Controller (IBA GE Slot 00C8 v1363) F5=Disabled, ESC=Cancel, F10=Accept Press Enter. Hard Drive is now selected but not highlighted. The available commands have changed to: F5=Disabled, ESC=Cancel, F10=Accept, Enter=Drag I've placed the Hard Drive above USB Floppy/CD in the boot order. Google "usb floppy/cd bios". Excerpt from: hyperlink http://pubs.vmware.com/vsphere-51/index.jsp?topic=%2Fcom.vmware.vsphere.install.doc%2FGUID-1298D6CC-B7B4-41EE-8F7E-98C58404F133.html pubs.vmware.com/vsphere-51/index.jsp?topic=%2Fcom.vmware.vsphere.install.doc%2FGUID-1298D6CC-B7B4-41EE-8F7E-98C58404F133.html For some servers, the system BIOS has two options. One is for the boot sequence (floppy, CD-ROM, hard disk) and another for the hard disk boot order (USB key, local hard disk). Hm. I can change the basic boot order (CD Drive, USB Floppy/CD, Hard Drive) but I don't see a way to change the hard disk boot order so as to cause the BIOS to place the hard disk ahead of the memory stick. Some experimentation shows that the options under EFI Boot Sources cannot be moved into the options under Legacy Boot Sources and vice versa. I very much doubt that "USB Floppy/CD" is a misnomer for "USB memory stick", but I will try it anyway. Press Escape. The pop-up box disappears. [At this point I explored the rest of the menus but did not find anything else that looked helpful with regard to changing boot order] Press Left Arrow to move from Storage menu to File menu. Press Down Arrow until Save Changes and Exit is highlighted. Press Enter. New pop-up box: Save Changes and Exit Are you sure you want to Save Changes and Exit? [choices:] Yes, No Yes is highlighted. Press Enter. Kalkin reboots. I should have held down Escape to go into the BIOS again. Kalkin arrives at this screen: Non-System disk or disk error replace and strike any key when ready Press the power button to turn Kalkin off. Press the power button to boot Kalkin. Hold the Escape Key as it boots. Screen: Version 2.10.1208. Copyright (C) 2011 American Megatrends, Inc. 16384 MB Startup Menu - Continue Startup (Exit) - System Information - Change Language - Diagnostics (F2) - Boot Menu (F9) - Computer Setup (F10) - System Recovery (F11) - Network Boot (F12) - Utilities - Run UEFI Application... J51 v01.20 HP Z210 Workstation Press the ESC key for Startup Menu Startup Menu Press F9. Screen: Please select boot device: EFI Boot Sources Legacy Boot Sources - ATAPI CD/DVD Drive -- SATA2 - Hard Drive -- HDS722020ALA330 RSD HUA - IBA GE Slot 00C8 v1363 [up arrow symbol] and [down arrow symbol] to move selection ENTER to select boot device ESC to boot using defaults EFI Boot Sources is highlighted. Interesting. The memory stick option (hp v150w 1100) has disappeared. Press Down Arrow until HDS722020ALA330 RSD HUA is selected. Press Enter. Kalkin arrives at this screen: Non-System disk or disk error replace and strike any key when ready Interesting. In contrast to a previous test during article Exploring_the_BIOS_boot_options_on_Kalkin edgecase 23 exploration of the BIOS boot options , choosing "HDS722020ALA330 RSD HUA" did not cause the BIOS to then boot from the memory stick. Press the power button to turn Kalkin off. Press the power button to boot Kalkin. Hold the Escape Key as it boots. Screen: Version 2.10.1208. Copyright (C) 2011 American Megatrends, Inc. 16384 MB Startup Menu - Continue Startup (Exit) - System Information - Change Language - Diagnostics (F2) - Boot Menu (F9) - Computer Setup (F10) - System Recovery (F11) - Network Boot (F12) - Utilities - Run UEFI Application... J51 v01.20 HP Z210 Workstation Press the ESC key for Startup Menu Startup Menu Press F9. Screen: Please select boot device: EFI Boot Sources Legacy Boot Sources - ATAPI CD/DVD Drive -- SATA2 - Hard Drive -- HDS722020ALA330 RSD HUA - IBA GE Slot 00C8 v1363 [up arrow symbol] and [down arrow symbol] to move selection ENTER to select boot device ESC to boot using defaults EFI Boot Sources is highlighted. Huh. Well, it looks like placing Hard Drive above USB Floppy/CD in the boot order did change something. However, I can no longer see an option to boot from the memory stick in the Boot Menu in the BIOS, even after a reboot. Press the power button to turn Kalkin off. Press the power button to boot Kalkin. Hold the Escape Key as it boots. Go into the BIOS Computer Setup as shown earlier. Open Boot Order. Pop-up box: Boot Order - EFI Boot Sources -- ATAPI CD/DVD Drive -- USB Floppy/CD -- USB Hard Drive - Legacy Boot Sources -- ATAPI CD/DVD Drive -- USB Floppy/CD -- Hard Drive --- HDS722020ALA330 RSD HUA -- Network Controller (IBA GE Slot 00C8 v1363) F5=Disabled, ESC=Cancel, F10=Accept EFI Boot Sources is selected. Strange. This time, the disk HDS722020ALA330 RSD HUA has appeared, but not the memory stick. If the memory stick had also appeared, I would be able to switch the boot order of the stick and the disk. Some experimentation shows that HDS722020ALA330 RSD HUA cannot be moved. It exists only within the Hard Drive list. I also note with some surprise that Hard Drive list now appears below USB Floppy/CD in the boot order. Perhaps the multiple reboots have reset the BIOS boot order back to its default settings. Reboot. Go back into the BIOS / Computer Setup / Boot Order. Pop-up box: Boot Order - EFI Boot Sources -- ATAPI CD/DVD Drive -- USB Floppy/CD -- USB Hard Drive - Legacy Boot Sources -- ATAPI CD/DVD Drive -- USB Floppy/CD -- Hard Drive --- HDS722020ALA330 RSD HUA -- Network Controller (IBA GE Slot 00C8 v1363) F5=Disabled, ESC=Cancel, F10=Accept Turn Kalkin off. Remove memory stick and insert it into a different USB port. Turn Kalkin on again. Go back into the BIOS / Computer Setup / Boot Order. Pop-up box: Boot Order - EFI Boot Sources -- ATAPI CD/DVD Drive -- USB Floppy/CD -- USB Hard Drive - Legacy Boot Sources -- ATAPI CD/DVD Drive -- USB Floppy/CD -- Hard Drive --- HDS722020ALA330 RSD HUA --- USB Hard Drive -- Network Controller (IBA GE Slot 00C8 v1363) F5=Disabled, ESC=Cancel, F10=Accept How odd. The memory stick now appears under Hard Drive as USB Hard Drive. I tested that I could place USB Hard Drive above HDS722020ALA330 RSD HUA in the boot order, then I moved it back below HDS722020ALA330 RSD HUA. Ok. Well, the boot order is set as I had planned. Next: Try to boot manually from the memory stick. Now choose File / Save Changes and Exit. Hold down the Escape key as Kalkin reboots. Screen: Version 2.10.1208. Copyright (C) 2011 American Megatrends, Inc. 16384 MB Startup Menu - Continue Startup (Exit) - System Information - Change Language - Diagnostics (F2) - Boot Menu (F9) - Computer Setup (F10) - System Recovery (F11) - Network Boot (F12) - Utilities - Run UEFI Application... J51 v01.20 HP Z210 Workstation Press the ESC key for Startup Menu Startup Menu Press F9. Screen: Please select boot device: EFI Boot Sources Legacy Boot Sources - ATAPI CD/DVD Drive -- SATA2 - Hard Drive -- HDS722020ALA330 RSD HUA -- hp v150w 1100 - IBA GE Slot 00C8 v1363 [up arrow symbol] and [down arrow symbol] to move selection ENTER to select boot device ESC to boot using defaults EFI Boot Sources is highlighted. Remember, I'm hoping that because the hard disk HDS722020ALA330 RSD HUA is above the memory stick hp v150w 1100 in the boot order, the Centos installation program will target the hard disk HDS722020ALA330 RSD HUA for installation of Centos. However, to start the Centos installation program, I need to boot from the memory stick hp v150w 1100, so I'm booting from it manually. Press Down Arrow until hp v150w 1100 is highlighted. Press Enter. Kalkin arrives at this screen: Welcome to CentOS 6.9! - Install or upgrade an existing system - Install system with basic video driver - Rescue installed system - Boot from local drive - Memory test Press [Tab] to edit options Automatic boot in 60 seconds... CentOS 6 Community ENTerprise Operating System Install or upgrade an existing system is highlighted. Press Enter. [various messages, not recorded here] Kalkin arrives at this screen: Welcome to CentOS for x86_64 Choose a Language What language would you like to use during the installation process? [...] English [...] [button:] OK \/\ between elements | \ selects | \ next screen English is highlighted. Press Enter. Screen: Keyboard Type What type of keyboard do you have? [...] us [...] [buttons:] OK, Back us is highlighted. Press Enter. Screen: Installation Method What type of media contains the installation image? - Local CD/DVD - Hard drive - NFS directory - URL [buttons:] OK, Back Local CD/DVD is highlighted. Press Down Arrow. Hard drive is now highlighted. Press Enter. Screen: Select Partition What partition and directory on that partition holds the installation image for CentOS? If you don't see the disk drive you're using listed here, press F2 to configure additional devices. - /dev/sda1 Directory holding image: ________________ [buttons:] OK, Back /dev/sda1 is highlighted. If all has gone according to plan, /dev/sda1 is now the main 2TB hard disk. On Aineko, copy the Centos ISO image file to a second memory stick, formatted as MS-DOS (FAT). No other files or directories on the memory stick. The ISO is on the first directory level of the second memory stick. Insert this memory stick into Kalkin. On Kalkin, press F2. Screen: Driver Disk Source You have multiple devices which could serve as sources for a driver disk. Which would you like to use? - sda - sdb - sdc - sdd - sde - sdf - sdg - sr0 - sdh [buttons:] OK, Back sda is highlighted. Press Right Arrow twice. Back is now highlighted. Press Enter. Screen: Select Partition What partition and directory on that partition holds the installation image for CentOS? If you don't see the disk drive you're using listed here, press F2 to configure additional devices. - /dev/sda1 - /dev/sdh1 Directory holding image: ________________ [buttons:] OK, Back /dev/sda1 is highlighted. There's a second option now (/dev/sdh1). I'm going to assume that this is the second memory stick I just plugged in. However, it might be the first memory stick. Press Down Arrow. /dev/sdh1 is now highlighted. Press Enter. Screen: Error An error occured finding the installation image on your hard drive. Please check your images and try again. [button:] OK OK is highlighted. Press Enter. Screen: Error Device /dev/sdh1 does not appear to contain an installation image. [button:] OK OK is highlighted. Press Enter. Screen: Select Partition What partition and directory on that partition holds the installation image for CentOS? If you don't see the disk drive you're using listed here, press F2 to configure additional devices. - /dev/sda1 - /dev/sdh1 Directory holding image: /images/install.img_______ [buttons:] OK, Back /dev/sda1 is highlighted. Press Down Arrow. /dev/sdh1 is now highlighted. Press Right Arrow. Now the text field "/images/install.img_______" is highlighted. Edit the text field to be: "/CentOS-6.9-x86_64-minimal.iso_______" Press Down Arrow. OK is now highlighted. Press Enter. Screen: Error An error occured finding the installation image on your hard drive. Please check your images and try again. [button:] OK OK is highlighted. Press Enter. Screen: Error Device /dev/sdh1 does not appear to contain an installation image. [button:] OK OK is highlighted. Press Enter. Hm. Ok, choose /dev/sda1 as source. Eventually, the installation program won't be able to find the image, and I'll switch to the shell and manually specify the location of the iso as I did before. Note: I forgot that earlier the second memory stick had to be mounted first before the iso file on it could be accessed. No errors. Kalkin arrives at this screen: CentOS 6 Community ENTerprise Operating System Back, Next Next is a button. Back is a greyed-out button. This is the GUI screen. Click Next. Screen: What type of devices will your installation involve? - Basic Storage Devices: Installs or upgrades to typical types of storage devices. If you're not sure which option is right for you, this is probably it. - Specialized Storage Devices: Installs or upgrades to enterprise devices such as Storage Area Networks (SANs). This option will allow you to add FCoEes / iSCSI / zFCP disks and to filter out devices the installer should ignore. [buttons:] Back, Next Basic Storage Devices is selected. Click Next. Screen: Warning Disk sdg contains BIOS RAID metadata, but is not part of any recognized BIOS RAID sets. Ignoring disk sdg. [button:] OK [buttons:] Back, Next Click OK. Screen: Please name this computer. The hostname identifies the computer on a network. Hostname: [text field] [button:] Configure Network [buttons:] Back, Next Type "kalkin" into the text field. Click Next. Screen: Please select the nearest city in your time zone: [Map of the world with dots for cities. New York is named.] Selected city: New York, America (Eastern (most areas)) [Drop-down list. America/New York is selected.] [checkbox: ticked] System clock uses UTC [buttons:] Back, Next Click the drop-down list and select Europe/London. Pressing Page Down to move through the list is faster than scrolling. Click Next. Screen: The root account is used for administering the system. Enter a password for the root user. Route Password: [text field] Confirm: [text field] [buttons:] Back, Next Type in a password for the root user into both text fields. Click Next. Screen: Which type of installation would you like? [radio-button list:] - Use All Space: Removes all partitions on the selected device(s). This includes partitions created by other operating systems. Tip: This option will remove data from the selected device(s). Make sure you have backups. - Replace Existing Linux System(s): Removes only Linux partition (created from a previous Linux installation). This does not remove other partitions you may have on your storage device(s) (such as VFAT or FAT32). Tip: This option will remove data from the selected device(s). Make sure you have backups. - Shrink Current System: Shrinks existing partitions to create free space for the default layout. - Use Free Space: Retains your current data and partitions and uses only the unpartitioned space on the selected device(s), assuming you have enough free space available. - Creed Custom Layout: Manually create your own custom layout on the selected device(s) using our partitioning tool. [checkbox: not ticked] Encrypt system [checkbox: not ticked] Review and modify partitioning layout [buttons:] Back, Next Replace Existing Linux System(s) is selected. Click Use All Space. Click Next. Screen: Below are the storage devices you've selected to be a part of this installation. Please indicate using the arrows below which devices you'd like to use as data drives (these will not be formatted, only mounted) and which devices you'd like to use as system drives (these may be formatted). Please also indicate which system drive will have the bootloader installed. [table 1:] Data Storage Devices (to be mounted only) - Kingston DataTraveller 2.0 (29613 MB) - hp v150w (15216 MB) [table 2: no items] Hm. Well, the Kingston device is the second memory stick (looking at it, I see that its manufacturer is Kingston and that it has 32 GB capacity). The hp device is the first memory stick. This time, I plugged in the second memory stick earlier in the installation process (before hitting the "Missing ISO 9660 Image" error), which is presumably why I'm seeing this Screen with the tables. The 2 TB hard disk is not shown. Perhaps the Centos installation program doesn't use the BIOS boot order to find its target drive. It may just not see the hard disk for some reason. Hm. Let's try: - switch to shell - explicitly mount hard disk - switch back to GUI. Click Back then Next. - see if Centos installation program can now see the hard disk. Press Ctrl-Alt-F2. [anaconda root@localhost /]# [anaconda root@localhost /]# fdisk -l Disk /dev/loop0: 146 MB, 146558976 bytes 255 heads, 63 sectors/track, 17 cylinders Units = cylinders of 16065 * 512 = 8225280 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disk identifier: 0x0c30c34e Disk /dev/sda: 16.0 GB, 15955132416 bytes 64 heads, 32 sectors/track, 15216 cylinders Units = cylinders of 2048 * 512 = 1048576 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disk identifier: 0x6b8b4567 Device Boot Start End Blocks Id System /dev/sda1 * 1 408 417792 17 Hidden HPFS/NTFS Disk /dev/sdg: 2000.4 GB, 2000398934016 bytes 255 heads, 63 sectors/track, 243201 cylinders Units = cylinders of 16065 * 512 = 8225280 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disk identifier: 0x00000000 Disk /dev/sdh: 31.1 GB, 31051513856 bytes 255 heads, 63 sectors/track, 3775 cylinders Units = cylinders of 16065 * 512 = 8225280 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disk identifier: 0xaac1950c Device Boot Start End Blocks Id System /dev/sdh1 * 1 3776 30323712 c W95 FAT32 (LBA) Disk /dev/sdg: 2000.4 GB, 2000398934016 bytes is the 2 TB hard disk. But just because an item appears in the output of fdisk doesn't mean it's been mounted. fdisk shows me that the hard disk is connected, can be seen, and has the device name /dev/sdg. Hm. There were errors earlier about /dev/sdg. Here's the error message from earlier: Warning Disk sdg contains BIOS RAID metadata, but is not part of any recognized BIOS RAID sets. Ignoring disk sdg. OK Back, Next I should have paid more attention to this error when it first appeared and found out what "disk sdg" referred to. Looking back at this log, I see that I could have read fdisk output more carefully the first time (instead of just transcribing it) and noticed that disk /dev/sdg was 2000.4 GB i.e. the hard disk. With some thought, I might have realised that this error message indicated a possible reason why the Centos installation program couldn't install to the hard disk. [anaconda root@localhost /]# ls -1 /mnt isodir runtime sysimage [anaconda root@localhost /]# ls -1 /dev [...] sda sda1 sdb sdc sdd sde sdf sdg sdh sdh1 I note that both sda (the first memory stick) and sdh (the second memory stick) have a single partition (the same name + '1' e.g. sda1), but sdg (the hard disk) does not have any partitions. [anaconda root@localhost /]# mount /dev/sdg /mnt/hard_disk mount: mount point /mnt/hard_disk does not exist [anaconda root@localhost /]# mkdir /mnt/hard_disk [anaconda root@localhost /]# mount /dev/sdg /mnt/hard_disk mount: unknown filesystem type 'ddf_raid_member' Hm. It may be necessary to format the hard disk. I think this hard disk may have been used as part of a RAID array. The Centos installation program asked about the unusual format but I told it to ignore the problem. This meant that later in the process (when choosing the target drive), the application couldn't see the hard disk. The Centos installation program has no trouble seeing two memory sticks, both formatted as MS-DOS (FAT). It also seems that if the Centos installation program only sees one disk (in my case, the first memory stick), it will assume that this is the target disk for installation. If it sees two or more disks, it will ask the user which disks to treat as target disks (and which one of those should have the bootloader installed). The Centos installation program does not choose the first item in the BIOS hard disk boot order as its target. Hm. By "format the disk", I think I mean two separate steps: a) write a filesystem to the disk b) create a single partition that covers the whole filesystem on the disk The filesystem needs to be recognisable to the Centos installation program (e.g. ext4, which it used earlier). Writing it to the disk will remove the BIOS RAID metadata. Shut down Kalkin and go to bed. After some searching and reading, I find: hyperlink http://www.digitalocean.com/community/tutorials/how-to-partition-and-format-storage-devices-in-linux www.digitalocean.com/community/tutorials/how-to-partition-and-format-storage-devices-in-linux Author: Justin Ellingwood Excerpt: How To Partition and Format Storage Devices in Linux Introduction Preparing a new disk for use on a Linux system can be quick and easy. There are many tools, filesystem formats, and partitioning schemes that may complicate the process if you have specialized needs, but if you want to get up and running quickly, it's fairly straightforward. This guide will cover the following process: - Identifying the new disk on the system - Creating a single partition that spans the entire drive (most operating systems expect a partition layout, even if only one filesystem is present) - Formatting the partition with the Ext4 filesystem (the default in most modern Linux distributions) - Mounting and setting up Auto-mounting of the filesystem at boot [...] To partition the drive, we'll use the parted utility. In most cases, this will already be installed on the server. [...] Identify the New Disk on the System Before we set up the drive, we need to be able to properly identify it on the server. If this is a completely new drive, the easiest way to find it on your server may be to look for the absence of a partitioning scheme. If we ask parted to list the partition layout of our disks, it will give us an error for any disks that don't have a valid partition scheme. This can be used to help us identify the new disk: $ sudo parted -l | grep Error You should see an unrecognized disk label error for the new, unpartitioned disk: Error: /dev/sda: unrecognised disk label You can also use the lsblk command and look for a disk of the correct size that has no associated partitions: $ lsblk NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT sda 8:0 0 100G 0 disk vda 253:0 0 20G 0 disk - vda1 253:1 0 20G 0 part / Warning: Remember to check lsblk in every session before making changes. The /dev/sd* and /dev/hd* disk identifiers will not necessarily be consistent between boots, which means there is some danger of partitioning or formatting the wrong disk if you do not verify the disk identifier correctly. Consider using more persistent disk identifiers like /dev/disk/by-uuid, /dev/disk/by-label, or /dev/disk/by-id. See our introduction to storage concepts and terminology in Linux hyperlink http://www.digitalocean.com/community/tutorials/an-introduction-to-storage-terminology-and-concepts-in-linux [link] article for more information. When you know the name the kernel has assigned your disk, you can partition your drive. [...] Choose a Partitioning Standard To do this, we first need to specify the partitioning standard we wish to use. GPT is the more modern partitioning standard, while the MBR standard offers wider support among operating systems. If you do not have any special requirements, it is probably better to use GPT at this point. To choose the GPT standard, pass in the disk you identified like this: $ sudo parted /dev/sda mklabel gpt If you wish to use the MBR format, type this instead: $ sudo parted /dev/sda mklabel msdos Create the New Partition Once the format is selected, you can create a partition spanning the entire drive by typing: $ sudo parted -a opt /dev/sda mkpart primary ext4 0% 100% [...] Create a Filesystem on the New Partition Now that we have a partition available, we can format it as an Ext4 filesystem. To do this, pass the partition to the mkfs.ext4 utility. We can add a partition label by passing the -L flag. Select a name that will help you identify this particular drive: Note: Make sure you pass in the partition and not the entire disk. In Linux, disks have names like sda, sdb, hda, etc. The partitions on these disks have a number appended to the end. So we would want to use something like sda1 and not sda. $ sudo mkfs.ext4 -L datapartition /dev/sda1 If you want to change the partition label at a later date, you can use the e2label command: $ sudo e2label /dev/sda1 newlabel [...] Mount the New Filesystem Now, we can mount the filesystem for use. The Filesystem Hierarchy Standard hyperlink http://refspecs.linuxfoundation.org/fhs.shtml [link] recommends using /mnt or a subdirectory under it for temporarily mounted filesystems. It makes no recommendations on where to mount more permanent storage, so you can choose whichever scheme you'd like. For this tutorial, we'll mount the drive under /mnt/data. Create the directory by typing: $ sudo mkdir -p /mnt/data Mounting the Filesystem Temporarily You can mount the filesystem temporarily by typing: $ sudo mount -o defaults /dev/sda1 /mnt/data Mounting the Filesystem Automatically at Boot If you wish to mount the filesystem automatically each time the server boots, adjust the /etc/fstab file: $ sudo nano /etc/fstab [...] We've used the partition label below, but you can see what the lines would look like using the other two identifiers in the commented out lines: . . . ## Use one of the identifiers you found to reference the correct partition # /dev/sda1 /mnt/data ext4 defaults 0 2 # UUID=4b313333-a7b5-48c1-a957-d77d637e4fda /mnt/data ext4 defaults 0 2 LABEL=datapartition /mnt/data ext4 defaults 0 2 Note: You can learn about the various fields in the /etc/fstab file by typing man fstab. For information about the mount options available for a specific filesystem type, check man [filesystem] (like man ext4). For now, the mount lines above should get you started. Save and close the file when you are finished. If you did not mount the filesystem previously, you can now mount it by typing: $ sudo mount -a Testing the Mount After we've mounted the volume, we should check to make sure that the filesystem is accessible. We can check if the the disk is available in the output from the df command: $ df -h -x tmpfs -x devtmpfs Filesystem Size Used Avail Use% Mounted on /dev/vda1 20G 1.3G 18G 7% / /dev/sda1 99G 60M 94G 1% /mnt/data You should also be able to see a lost+found directory within the /mnt/data directory, which typically indicates the root of an Ext* filesystem: $ ls -l /mnt/data total 16 drwx------ 2 root root 16384 Jun 6 11:10 lost+found We can also check that the file mounted with read and write capabilities by writing to a test file: $ echo "success" | sudo tee /mnt/data/test_file Read the file back just to make sure the write executed correctly: $ cat /mnt/data/test_file success You can remove the file after you have verified that the new filesystem is functioning correctly: $ sudo rm /mnt/data/test_file Conclusion Your new drive should now be partitioned, formatted, mounted, and ready for use. This is the general process you can use turn a raw disk into a filesystem that Linux can use for storage. There are more complex methods of partitioning, formatting, and mounting which may be more appropriate in some cases, but the above is a good starting point for general use. I note that: - you must create a partition and format it with a filesystem, not vice versa. - to always mount a filesystem on boot, specify this action in the /etc/fstab file - a lost+found directory within the mountpoint directory typically indicates the root of an Ext* filesystem. - a new filesystem can be tested by writing and removing a file on it. Press the power button to boot Kalkin. Kalkin arrives at this screen: Welcome to CentOS 6.9! - Install or upgrade an existing system - Install system with basic video driver - Rescue installed system - Boot from local drive - Memory test Press [Tab] to edit options Automatic boot in 60 seconds... CentOS 6 Community ENTerprise Operating System Install or upgrade an existing system is highlighted. Press Enter. [various messages, not recorded here] Kalkin arrives at this screen: Welcome to CentOS for x86_64 Choose a Language What language would you like to use during the installation process? [...] English [...] [button:] OK \/\ between elements | \ selects | \ next screen English is highlighted. Press Enter. Screen: Keyboard Type What type of keyboard do you have? [...] us [...] [buttons:] OK, Back us is highlighted. Press Enter. Screen: Installation Method What type of media contains the installation image? - Local CD/DVD - Hard drive - NFS directory - URL [buttons:] OK, Back Local CD/DVD is highlighted. Press Down Arrow. Hard drive is now highlighted. Press Enter. Screen: Select Partition What partition and directory on that partition holds the installation image for CentOS? If you don't see the disk drive you're using listed here, press F2 to configure additional devices. - /dev/sda1 - /dev/sdg1 Directory holding image: ________________ [buttons:] OK, Back /dev/sda1 is highlighted. /dev/sdg1 appears because the second memory stick is still inserted. Press Enter. Kalkin arrives at this screen: CentOS 6 Community ENTerprise Operating System Back, Next Next is a button. Back is a greyed-out button. This is the GUI screen. Press Ctrl-Alt-F2. [anaconda root@localhost /]# [anaconda root@localhost /]# parted --version parted (GNU parted) 2.1 Copyright (C) 2009 Free Software Foundation, Inc. License GPLv3+: GNU GPL version 3 or later \. This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law. Written by \. [anaconda root@localhost /]# parted -l Error: Invalid partition table - recursive partition on /dev/sda. Ignore/Cancel? i Model: hp v150w (scsi) Disk /dev/sda: 16.0GB Sector size (logical/physical): 512B/512B Partition Table: msdos Number Start End Size Type File system Flags Model: Kingston DataTraveller (scsi) Disk /dev/sdg: 31.1GB Sector size (logical/physical): 512B/512B Partition Table: msdos Number Start End Size Type File system Flags 1 32.8kB 31.1GB 31.1GB primary fat32 boot, lba Error: /dev/sdh: unrecognized disc label Note: I'm not using sudo because in this shell I'm already running as root. I note the "Error: Invalid partition table - recursive partition on /dev/sda." error. It appears that this refers to the first memory stick. I'm making a note of this error but I'm not going to follow it up unless necessary. After the reboot, /dev/sdg appears to refer to the second memory stick. I will therefore assume that /dev/sdh is now the reference for the hard disk. Confirmed: fdisk -l shows that the /dev/sdh device has 2000.4 GB capacity. [anaconda root@localhost /]# lsblk sh: lsblk: command not found Let's create a partition on the hard disk. [anaconda root@localhost /]# parted /dev/sdh mklabel msdos Information: You may need to update /etc/fstab. Let's see what effect that had. [anaconda root@localhost /]# parted -l Error: Invalid partition table - recursive partition on /dev/sda. Ignore/Cancel? i Model: hp v150w (scsi) Disk /dev/sda: 16.0GB Sector size (logical/physical): 512B/512B Partition Table: msdos Number Start End Size Type File system Flags Model: Kingston DataTraveller (scsi) Disk /dev/sdg: 31.1GB Sector size (logical/physical): 512B/512B Partition Table: msdos Number Start End Size Type File system Flags 1 32.8kB 31.1GB 31.1GB primary fat32 boot, lba Model: ATA HDS722020ALA330 (scsi) Disk /dev/sdh: 2000GB Sector size (logical/physical): 512B/512B Partition Table: msdos Number Start End Size Type File system Flags Good. /dev/sdh now has a recognisable disc label. The disk name (HDS722020ALA330) is the same as the name I saw earlier in the BIOS Boot Menu. Note: ATA stands for Advanced Technology Attachment. scsi stands for Small Computer Systems Interface. [anaconda root@localhost /]# parted -a opt /dev/sdh mkpart primary ext4 0% 100% Information: You may need to update /etc/fstab. Let's confirm the creation of the partition with fdisk. [anaconda root@localhost /]# fdisk -l Disk /dev/loop0: 146 MB, 146558976 bytes 255 heads, 63 sectors/track, 17 cylinders Units = cylinders of 16065 * 512 = 8225280 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disk identifier: 0x0c30c34e Disk /dev/sda: 16.0 GB, 15955132416 bytes 64 heads, 32 sectors/track, 15216 cylinders Units = cylinders of 2048 * 512 = 1048576 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disk identifier: 0x6b8b4567 Device Boot Start End Blocks Id System /dev/sda1 * 1 408 417792 17 Hidden HPFS/NTFS Disk /dev/sdg: 31.1 GB, 31051513856 bytes 255 heads, 63 sectors/track, 3775 cylinders Units = cylinders of 16065 * 512 = 8225280 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disk identifier: 0xaac1950c Device Boot Start End Blocks Id System /dev/sdg1 * 1 3776 30323712 c W95 FAT32 (LBA) Disk /dev/sdh: 2000.4 GB, 2000398934016 bytes 255 heads, 63 sectors/track, 243201 cylinders Units = cylinders of 16065 * 512 = 8225280 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disk identifier: 0x00000000 Device Boot Start End Blocks Id System /dev/sdh1 1 243202 1953513472 83 Linux I see a partition (indicated by the addition of a numeral) on the hard disk: /dev/sdh1 Now I'll try to create a filesystem on the partition. [anaconda root@localhost /]# mkfs.ext4 --version mkfs.ext4: invalid option -- '-' Usage: mkfs.ext4 [-c|-l filename] [-b block-size] [-f fragment-size] [-i bytes-per-inode] [-I inode-size] [-J journal-options] [-G meta group size] [-N number-of-inodes] [-m reserved-blocks-percentage] [-o creator-os] [-g blocks-per-group] [-L volume-label] [-M last-mounted-directory] [-O feature[,..]] [-r fs-revision] [-E extended-option[,...]] [-T fs-type] [-U UUID] [-jnqvFKSV] device [blocks-count] [anaconda root@localhost /]# mkfs.ext4 -L mainpartition /dev/sdh1 mke2fs 1.41.12 (17-May-2010) Filesystem label=mainpartition OS type: Linux Block size=4096 (log=2) Fragment size=4096 (log=2) Stride=0 blocks, Stripe width=0 blocks 122101760 inodes, 488378368 blocks 24418918 blocks (5.00%) reserved for the super user First data block=0 Maximum filesystem blocks=4294967296 14905 block groups 32768 blocks per group, 32768 fragments per group 8192 inodes per group Superblock backups stored on blocks: 32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605630, 2654208, 4096000, 7962624, 11239424, 20480000, 23887872, 71663616, 78675968, 102400000, 214990848 Writing inode tables: done Creating journal (32768 blocks): done Writing superblocks and filesystem accounting information: done This filesystem will be automatically checked every 34 mounts or 180 days, whichever comes first. Use tune2fs -c or -i override. I'd like to be able to view filesystem labels. Google "linux partition filesystems". Excerpt from: hyperlink http://askubuntu.com/questions/309047/how-do-i-find-out-what-filesystem-my-partitions-are-using askubuntu.com/questions/309047/how-do-i-find-out-what-filesystem-my-partitions-are-using Q: How do I find out what filesystem my partitions are using? edited Jan 4 '17 at 17:01 zahypeti asked Jun 17 '13 at 0:42 Mimzy A: A simple and good command sudo blkid It will list something like this: /dev/sda1: LABEL="Windows" UUID="FA50DCB150DC763B" TYPE="ntfs" /dev/sda5: LABEL="40GBTWO" UUID="00A0CE7EA0CE7A24" TYPE="ntfs" /dev/sda6: UUID="7550252c-3da7-4cd9-8da3-71e9ba38e74a" TYPE="ext4" /dev/sda7: UUID="088fd084-a011-4896-aa93-c0caaad60620" TYPE="swap" Where /dev/sda1 is the partition, LABEL is the given name to the partition, UUID is the Unique ID of the partiton which is quite useful to mount the hardisk using /etc/fstab, and TYPE is the file system. answered Oct 25 '13 at 23:51 Saurav Kumar [anaconda root@localhost /]# blkid /dev/loop0: TYPE="squashfs" /dev/sda1: LABEL="CentOS_6.9_Final" TYPE="iso9660" /dev/sdg1: LABEL="KINGSTON" UUID="7195-020C" TYPE="vfat" /dev/sdh1: LABEL="mainpartition" UUID="04fad691-0c68-49d9-ad72-5e6185954e25" TYPE="ext4" Good. This also shows the filesystem types, as well as their labels. Let's make a mountpoint and mount the new filesystem temporarily. [anaconda root@localhost /]# ls -1 /mnt isodir runtime [anaconda root@localhost /]# mkdir -p /mnt/test [anaconda root@localhost /]# ls -1 /mnt isodir runtime test [anaconda root@localhost /]# mount -o defaults /dev/sdh1 /mnt/test [anaconda root@localhost /]# ls -1 /mnt/test lost+found [anaconda root@localhost /]# df -h Filesystem Size Used Avail Use% Mounted on /dev 7.9G 228K 7.9G 1% /dev none 7.9G 140M 7.7G 2% /tmp /dev/loop0 140M 140M 0 100% /mnt/runtime /dev/sdh1 1.8T 68M 1.7T 1% /mnt/test I can see a lost+found within the mountpoint directory. The df lists the filesystems that are currently mounted. It can see the new filesystem, located at /dev/sdh1, mounted at /mnt/test, 1.8T (~= 2000 GB) capacity. Let's test the mounted filesystem by writing a file to it. $ echo "success" \> /mnt/test/foo.txt $ cat /mnt/test/foo.txt success $ ls -1 /mnt/test foo.txt lost+found $ rm /mnt/test/foo.txt Looks fine. I'm not going to mount the filesystem permanently because this operating system is a temporary one booted from the installation memory stick. Changes to /etc/fstab won't be preserved. Also, my goal is to install the operating system to this filesystem. When I have done so, there will be a new /etc/fstab file there. I think the installation process will probably set the main filesystem to be mounted automatically on boot. I'll try the Centos installation process again. Press Ctrl-Alt-F6. Screen: CentOS 6 Community ENTerprise Operating System [buttons:] Back, Next Next is a button. Back is a greyed-out button. This is the GUI screen. Click Next. Screen: What type of devices will your installation involve? - Basic Storage Devices: Installs or upgrades to typical types of storage devices. If you're not sure which option is right for you, this is probably it. - Specialized Storage Devices: Installs or upgrades to enterprise devices such as Storage Area Networks (SANs). This option will allow you to add FCoEes / iSCSI / zFCP disks and to filter out devices the installer should ignore. [buttons:] Back, Next Basic Storage Devices is selected. Click Next. Screen: Warning Disk sdg contains BIOS RAID metadata, but is not part of any recognized BIOS RAID sets. Ignoring disk sdg. [button:] OK [buttons:] Back, Next Click OK. Screen: Please name this computer. The hostname identifies the computer on a network. Hostname: [text field] [button:] Configure Network [buttons:] Back, Next Type "kalkin" into the text field. Click Next. Screen: Please select the nearest city in your time zone: [Map of the world with dots for cities. New York is named.] Selected city: New York, America (Eastern (most areas)) [Drop-down list. America/New York is selected.] [checkbox: ticked] System clock uses UTC [buttons:] Back, Next Click the drop-down list and select Europe/London. Pressing Page Down to move through the list is faster than scrolling. Click Next. Screen: The root account is used for administering the system. Enter a password for the root user. Route Password: [text field] Confirm: [text field] [buttons:] Back, Next Type in a password for the root user into both text fields. Click Next. Screen: Which type of installation would you like? [radio-button list:] - Use All Space: Removes all partitions on the selected device(s). This includes partitions created by other operating systems. Tip: This option will remove data from the selected device(s). Make sure you have backups. - Replace Existing Linux System(s): Removes only Linux partition (created from a previous Linux installation). This does not remove other partitions you may have on your storage device(s) (such as VFAT or FAT32). Tip: This option will remove data from the selected device(s). Make sure you have backups. - Shrink Current System: Shrinks existing partitions to create free space for the default layout. - Use Free Space: Retains your current data and partitions and uses only the unpartitioned space on the selected device(s), assuming you have enough free space available. - Creed Custom Layout: Manually create your own custom layout on the selected device(s) using our partitioning tool. [checkbox: not ticked] Encrypt system [checkbox: not ticked] Review and modify partitioning layout [buttons:] Back, Next Replace Existing Linux System(s) is selected. Click Use All Space. Click Next. Screen: Below are the storage devices you've selected to be a part of this installation. Please indicate using the arrows below which devices you'd like to use as data drives (these will not be formatted, only mounted) and which devices you'd like to use as system drives (these may be formatted). Please also indicate which system drive will have the bootloader installed. [table 1:] Data Storage Devices (to be mounted only) - ATA HDS722020ALA330 (1907729 MB) - Kingston DataTraveller 2.0 (29613 MB) - hp v150w (15216 MB) [table 2: no items] Install Target Devices [buttons:] Back, Next Great. The hard disk now appears among the options. In table 1, click the line containing the model "ATA HDS722020ALA330". It becomes highlighted. Click the right arrow button line between the two tables. The item moves to table 2. Click the radio button in table 2 in the column "Boot Loader" for the item. Click Next. Pop-up dialogue box: Writing storage configuration to disk The partitioning options you have selected will now be written to disk. Any data on deleted or reformatted partitions will be lost. [buttons:] Go back, Write changes to disk Click Write changes to disk. Pop-up dialogue box: Storage Activation Failed Details: - Could not commit to disk /dev/sdh [buttons:] File Bug, Exit Installer [clicked through File Bug menus, arrived somewhere without having documented steps] Perhaps the fact that the filesystem on the target device was mounted within the shell caused a problem with the installation process. Reboot. Kalkin arrives at a blank screen. Reboot. Hold Escape as Kalkin boots. Choose Boot Menu. Ah. The Boot Menu lists the hard disk (HDS722020ALA330 RSD HUA) ahead of the hp memory stick. Choose the hp memory stick and boot. Proceed as before through the first questions and switch to the shell. Due to the reboot, the filesystem on the hard disk partition will not be mounted anymore. Proceed through the GUI as before. Pop-up dialogue box: Writing storage configuration to disk The partitioning options you have selected will now be written to disk. Any data on deleted or reformatted partitions will be lost. [buttons:] Go back, Write changes to disk Click Write changes to disk. [various messages not recorded here] It's installing 205 packages. Installation was fast (approximately 1-2 minutes). Screen: Congratulations, your CentOS installation is complete. Please reboot to use the installed system. Note that updates may be available to ensure the proper functioning of your system and installation of these updates is recommended after the reboot. [button:] Reboot Click Reboot. Since the hard disk is above the hp memory stick in the boot order, the BIOS should automatically boot from the hard disk. Kalkin arrives at this screen: CentOS release 6.9 (Final) Kernel 2.6.32-696.el6.x86_64 on an x86_64 kalkin login: Log in as root, using the root password specified earlier. kalkin login: root Password: [root@kalkin ~]# echo "hello world" hello world [root@kalkin ~]# df -h Filesystem Size Used Avail Use% Mounted on /dev/mapper/vg_kalkin-lv_root 50G 687M 46G 2% / tmpfs 7.8G 0 7.8G 2% /dev/shm /dev/sda1 477M 28M 235M 7% /boot /dev/mapper/vg_kalkin-lv_home 1.8T 68M 1.7T 1% /home It appears that /dev/sda1 now refers to a boot partition on the the hard disk. /dev/sda is therefore the hard disk device name. Confirmed via fdisk -l, which also shows the 16 GB hp memory stick as /dev/sdb and the 32 GB Kingston memory stick as /dev/sdh. [root@kalkin ~]# pwd /root [root@kalkin ~]# ls -1 anaconda-ks.cfg install.log install.log.syslog [root@kalkin ~]# ls /home lost+found [root@kalkin ~]# ls -1 / bin boot dev etc home lib lib64 lost+found media mnt opt proc root sbin selinux srv sys tmp usr var Looks good. [root@kalkin ~]# halt Kalkin is now off. Remove both memory sticks. The hard disk is now the only attached bootable device. Press the power button to boot Kalkin. Screen: Booting from local disk... Intel(R) Boot Agent GE v1.3.63 Copyright (C) 1997-2010, Intel Corporation Intel(R) Boot Agent PXE Base Code (PXE-2.1 build 089) Copyright (C) 1997-2010, Intel Corporation Initializing and establishing link... Screen: Booting from local disk... Intel(R) Boot Agent GE v1.3.63 Copyright (C) 1997-2010, Intel Corporation Intel(R) Boot Agent PXE Base Code (PXE-2.1 build 089) Copyright (C) 1997-2010, Intel Corporation PXE-E61: Media test failure, check cable PXE-M0F: Exiting Intel Boot Agent. Screen: Non-System disk or disk error replace and strike any key when ready Press the power button to turn Kalkin off. Press the power button to boot Kalkin. Screen: Press any key to enter the menu Booting CentOS 6 (2.6.32-696.e16.x86_64) in 3 seconds... [A booting screen is displayed] Screen: CentOS release 6.9 (Final) Kernel 2.6.32-696.el6.x86_64 on an x86_64 kalkin login: Hm. I don't why the reboot helped. Note: The screen that displays "Booting CentOS 6 (2.6.32-696.e16.x86_64) in 3 seconds..." is presumably the Grub menu bypass screen. Log in as root. [root@kalkin ~]# echo "hello world" \> foo.txt [root@kalkin ~]# cat foo.txt hello world [root@kalkin ~]# ls -1 anaconda-ks.cfg foo.txt install.log install.log.syslog [root@kalkin ~]# rm foo.txt rm: remove regular file 'foo.txt'? y [root@kalkin ~]# ls -1 anaconda-ks.cfg install.log install.log.syslog That's enough for today. [root@kalkin ~]# halt Kalkin is off. Hm. I booted Kalkin again and I arrived at this screen: Booting from local disk... Intel(R) Boot Agent GE v1.3.63 Copyright (C) 1997-2010, Intel Corporation Intel(R) Boot Agent PXE Base Code (PXE-2.1 build 089) Copyright (C) 1997-2010, Intel Corporation PXE-E61: Media test failure, check cable PXE-M0F: Exiting Intel Boot Agent. I rebooted and it booted Centos again. I think something's not quite right with the boot order. Google "PXE-E61: Media test failure, check cable". First result: hyperlink http://www.intel.co.uk/content/www/uk/en/support/articles/000005740/boards-and-kits/desktop-boards.html www.intel.co.uk/content/www/uk/en/support/articles/000005740/boards-and-kits/desktop-boards.html Excerpt: PXE-E61 Media Test Failure Error for Intelre Desktop Boards Last Reviewed: 01-Nov-2017 Article ID: 000005740 What are you seeing? The following errors display when your Intelre Desktop Board starts: - PXE-E61: Media test failure, check cable. - PXE-M0F: Exiting Intel Boot Agent. Why are you seeing it? PXE (Preboot eXecution Environment) is a boot environment that allows the Intel Desktop Board to boot up using a network interface, instead of booting from an installed hard drive. You can enable or disable PXE boot in the BIOS. If PXE Boot is enabled in BIOS, the PXE-E61 and PXE-M0F errors can happen when both of these are true: - A bootable hard drive is not detected. - A network cable is not connected to the Intel Desktop Board. I think the BIOS is trying to boot from the network connection, but there is no network cable connected. Turn Kalkin on. Hold Escape key as it boots. Choose Computer Setup. Choose Storage / Boot Order. Pop-up box: Boot Order - EFI Boot Sources -- ATAPI CD/DVD Drive -- USB Floppy/CD -- USB Hard Drive - Legacy Boot Sources -- ATAPI CD/DVD Drive -- USB Floppy/CD -- Hard Drive -- Network Controller (IBA GE Slot 00C8 v1363) F5=Disabled, ESC=Cancel, F10=Accept Under Legacy Boot Sources, move Hard Drive above USB Floppy/CD. I'm simply guessing that changing this back might help. Press F10 to Accept. Choose File / Save Changes and Exit. Centos boots. Reboot. Centos boots. Reboot. Centos boots. Reboot. Centos boots. Hm. I don't know why that worked. Perhaps the error "PXE-E61: Media test failure, check cable" is also produced from trying to boot from the "USB Floppy/CD" option. There's an unanswered question left from earlier in the log: What is a "second stage boot loader"? Excerpt from: hyperlink http://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/6/html/installation_guide/s1-grub-whatis access.redhat.com/documentation/en-us/red_hat_enterprise_linux/6/html/installation_guide/s1-grub-whatis E.2. GRUB The GNU GRand Unified Boot loader (GRUB) is a program which enables the selection of the installed operating system or kernel to be loaded at system boot time. It also allows the user to pass arguments to the kernel. E.2.1. GRUB and the Boot Process on BIOS-based x86 Systems This section describes the specific role GRUB plays when booting a BIOS-based x86 system. For a look at the overall boot process, refer to Section F.2, "A Detailed Look at the Boot Process" hyperlink http://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/6/html/installation_guide/s1-boot-init-shutdown-process [link] . GRUB loads itself into memory in the following stages: 1. The Stage 1 or primary boot loader is read into memory by the BIOS from the MBR. For more on the system BIOS and the MBR, refer to Section F.2.1.1, "BIOS-based x86 Systems" hyperlink http://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/6/html/installation_guide/s1-boot-init-shutdown-process#s2-boot-init-shutdown-bios [link] . The primary boot loader exists on less than 512 bytes of disk space within the MBR and is capable of loading either the Stage 1.5 or Stage 2 boot loader. BIOS cannot read partition tables or file systems. It initializes the hardware, reads the MBR, then depends entirely on the stage 1 bootloader to continue the boot process. 2. The Stage 1.5 boot loader is read into memory by the Stage 1 boot loader, if necessary. Some hardware requires an intermediate step to get to the Stage 2 boot loader. This is sometimes true when the /boot/ partition is above the 1024 cylinder head of the hard drive or when using LBA mode. The Stage 1.5 boot loader is found either on the /boot/ partition or on a small part of the MBR and the /boot/ partition. 3. The Stage 2 or secondary boot loader is read into memory. The secondary boot loader displays the GRUB menu and command environment. This interface allows the user to select which kernel or operating system to boot, pass arguments to the kernel, or look at system parameters. 4. The secondary boot loader reads the operating system or kernel as well as the contents of /boot/sysroot/ into memory. Once GRUB determines which operating system or kernel to start, it loads it into memory and transfers control of the machine to that operating system. The method used to boot Linux is called direct loading because the boot loader loads the operating system directly. There is no intermediary between the boot loader and the kernel. Hm. Ok. The main point of the boot process appears to be to get the operating system's main() loop loaded into RAM and get the CPU to target this loop. Various layers exist between powering on the motherboard and arriving at the main loop of the operating system. I think the boot sequence works roughly like this: 1. Power on the motherboard. 2. Motherboard is constructed such that the CPU will begin execution of the BIOS (stored in a ROM chip on motherboard). 3. BIOS will attempt to boot from each available device in the order specified in the BIOS boot sequence list. 4. BIOS loads bootloader (e.g. Grub) into system memory (RAM). Bootloader is stored on the bootable device, not on the motherboard. 5. Bootloader loads operating system (e.g. Centos) into RAM. Bootloader may have multiple stages. 6. Bootloader turns over control to the OS main() loop and ceases to be used. Note: The operating system still needs the BIOS during its operation. Excerpt from: article Exploring_the_BIOS_boot_options_on_Kalkin edgecase 23 Exploring the BIOS boot options on Kalkin The BIOS also is used after the computer has booted up. It acts as an intermediary between the CPU and the I/O (input/output) devices. Because of the BIOS, your programs and your operating system don't have to know exact details (like hardware addresses) about the I/O devices attached to your PC. When device details change, only the BIOS needs to be updated. Well, after many attempts, I have succeeded in installing Centos 6.9 Minimal onto Kalkin. I now have a working understanding of the boot process. I'll write up a summary of the project and place it at the top of this log. Changes from the original text: - I have not always preserved the format of any excerpts from webpages on other sites (e.g. not preserving the original bold/italic styles, changing the list structures, not preserving hyperlinks). - I have not always preserved the format of any computer output (e.g. from running bash commands). Examples: Adding/removing newlines in order to make a sequence of commands easier to read, using hyphens for lists and sublists instead of indentation, breaking wide tables into consecutive sections.
iQIcBAABCgAGBQJaVPcIAAoJECL1OzZgiBhw1kIP+wXyFzJ6MsgOgM4cK9tY/qr1 N4enJ4IDDhRa8cA+xNtUJ7KWK0YdFgaOseGxsxsN1a9nBzGnS7NiUSw9lZP1ku9f gwKB/F/Jh9gld8FH1QvogzJKF7MU0iGkZSb1RZ7SbbQkH5G7sbnR6RsF77aUo39y 8kRv4dIojHRHCZRrm7jrKykeYNL8n4t0GPWF64AvhsV330YzvgrmiQWwPiCVqYls mF2JT/Qcjoi91mMShkHlg39KFEatL+h6BVbKHhhJBABw7dTm1L2VJ0tJf/dNcKgH VaHa/Jx9ddUPzbppS+jqVxOnSCJ7nskcuyQoK7cQGCUreM1AiCCHA8WY1vseEad0 hgwBwyMi4mOavD6gQmlWj2Puv3Wfon926reIEGKl2Z8cwHhDX3GltBGMzpEk8b3h 3zefTr45gvqtQvTAwB1WS8Xhh5x0pTpKwvp/qg1tSDp+X+MIbjO9kPXepa/OPdtm SlDTcdeIxhNkd4YVbUML9Y8AqgHi3RZbQd1ldh0kvJIDHtF7tY7bzkpHU8DXxGps W7rlPZdJ707AoH750GlIybgHm6+e+Ox0vXi4gBxUc+G7LO/9tpZ6uuj/hgbXf6Zn OC4NC6beKH5cuPTz59g/BPNn0og1/abjtQbS6YPGnj8iLdRCDQPG/HRhvvHjLraK V/CYaf0Aa8V3W88e8M/G =iDPY