README 3.58 KB
Newer Older
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124
Pieces that go into an HP Moonshot ARMv8 cartridge initrd that serves
as the "frisbee MFS".

rc.frisbee
    Installed as usr/local/etc/emulab/rc.frisbee in initrd.
    This is the main frisbee driver fired off by the initrd "init" script.

slicefix
    Installed as usr/local/etc/emulab/slicefix in initrd.
    Called by rc.frisbee to fixup filesystems after imaging.

init
    Installed as init in initrd.
    This is a modified version of the standard script run when the
    initrd boots.

initramfs.conf
    Installed as initrd.conf/initramfs.conf in initrd.
    Modifies the default boot parameters used by the init script.

udev
    Installed as scripts/init-bottom/udev in initrd.
    Modified version of the original to account for there being no
    separate $rootmnt.

hosts
    Installed as etc/hosts in initrd.
    Just a localized copy with boss, ops, etc. Could be generated.

mfs
    Installed as sripts/mfs in initrd.
    New script analogous to "local" and "nfs".

nsswitch.conf
    Installed as etc/nsswitch.conf in initrd.
    Localized version.

Directories made in initrd filesystem:
    /dev
    /etc/emulab
    /images
    /mnt
    /proc
    /root
    /sys
    /usr
    /usr/{bin,sbin}
    /usr/{lib,lib/aarch64-linux-gnu}
    /usr/{local,local/etc,local/etc/emulab}
    /var
    /var/emulab
    /var/emulab/{boot,logs,lock,db}

Empty files created:
    /etc/mtab

Other binaries/libraries/files copied in from an Ubuntu 14.04 image:
    /bin/bash
    /etc/localtime
    /etc/protocols
    /etc/services
    /lib/aarch64-linux-gnu/libcap.so.2
    /lib/aarch64-linux-gnu/libcrypto.so.1.0.0
    /lib/aarch64-linux-gnu/libgcc_s.so.1
    /lib/aarch64-linux-gnu/libnsl-2.19.so
    /lib/aarch64-linux-gnu/libnsl.so.1
    /lib/aarch64-linux-gnu/libnss_dns-2.19.so
    /lib/aarch64-linux-gnu/libnss_dns.so.2
    /lib/aarch64-linux-gnu/libnss_files-2.19.so
    /lib/aarch64-linux-gnu/libnss_files.so.2
    /lib/aarch64-linux-gnu/libprocps.so.3
    /lib/aarch64-linux-gnu/libresolv-2.19.so
    /lib/aarch64-linux-gnu/libresolv.so.2
    /lib/aarch64-linux-gnu/libtinfo.so.5
    /lib/aarch64-linux-gnu/libz.so.1
    /sbin/e2fsck
    /sbin/sgdisk
    /sbin/sysctl
    /sbin/tune2fs
    /usr/bin/free
    /usr/lib/aarch64-linux-gnu/libicudata.so.52
    /usr/lib/aarch64-linux-gnu/libicui18n.so.52
    /usr/lib/aarch64-linux-gnu/libicuio.so.52
    /usr/lib/aarch64-linux-gnu/libicuuc.so.52
    /usr/lib/aarch64-linux-gnu/libstdc++.so.6
    /usr/sbin/ntpdate

    # optional
    /bin/ping		# for debugging
    /sbin/depmod	# if you add/remove modules
    /usr/bin/strace	# for debugging

Emulab content copied in:
    /etc/emulab/
	client.pem	# from boss:/usr/testbed/etc
	emulab.pem	# from boss:/usr/testbed/etc
	gpt1.img	# as generated by "sgdisk -b" from a working image
	paths.sh	# standard
    /etc/ntp.conf
    /etc/ssh
    /etc/resolv.conf
    /root/.ssh
    /usr/local/etc/emulab/
	findif			# standard client build
	freebsd_to_linux_disk	# from clientside/tmcc/linux/
	frisbee			# standard client build
	imageunzip		# standard client build
	localize_image		# from clientside/tmcc/common/
	rc.frisbee		# from here
	slicefix		# from here
	tmcc			# standard client build (tmcc.nossl)


Note that the current MFS is using a 3.13.11.10 kernel that I got from
Mik Stearns at HP because it had NFS root support that the standard Ubuntu
kernel did not. That kernel should not be needed for this MFS, but what
the heck!

I also removed a bunch of drivers from /lib/modules/*/kernel. I took out
all of the net/ethernet drivers except the mellanox ones. Took out a bunch
of the scsi drivers too. Many, many more could be pruned, I just took out the
easy big ones.