def METHOD_NAME(self):
    """
    Downloads a copy of the linux kernel, calculate an estimated size of
    the uncompressed tarball, use this value to calculate the number of
    copies of the linux kernel that will be uncompressed.
    """
    self.nfail = 0
    base_dir = self.teststmpdir
    if disk.freespace("/home") > disk.freespace(self.teststmpdir):
        base_dir = "/home"
        self.log.info("Using %s as base dir for the test" % base_dir)
    self.tmpdir = tempfile.mkdtemp(dir=base_dir)
    self.tmpdir = self.params.get('dir_to_extract', default=self.tmpdir)
    self.base_dir = os.path.join(self.tmpdir, 'linux.orig')
    tarball_base = self.params.get('tarball_base',
                                   default='linux-2.6.18.tar.bz2')
    kernel_repo = self.params.get('kernel_repo',
                                  default='http://www.kernel.org/pub/'
                                  'linux/kernel/v2.6')
    tarball_url = os.path.join(kernel_repo, tarball_base)
    tarball_md5 = self.params.get('tarball_md5',
                                  default='296a6d150d260144639c3664d127d1'
                                  '74')
    parallel = self.params.get('parallel', default=True)
    self.parallel = parallel
    self.log.info('Downloading linux kernel tarball')
    self.tarball = self.fetch_asset(tarball_url, asset_hash=tarball_md5,
                                    algorithm='md5')
    size_tarball = os.path.getsize(self.tarball) // 1024 // 1024
    # Estimation of the tarball size after uncompression
    os.chdir(self.tmpdir)
    # This is the reference copy of the linux tarball
    # that will be used for subsequent comparisons
    self.log.info('Unpacking base copy')
    archive.extract(self.tarball, self.base_dir)
    est_size = int(process.system_output('du -sb %s' %
                   self.base_dir).split()[0].decode()) // 1048576
    self.sim_cps = self.get_sim_cps(est_size)
    self.log.info('Source file: %s', tarball_base)
    self.log.info('Megabytes per copy: %s', size_tarball)
    self.log.info('Estimated size after uncompression: %s', est_size)
    self.log.info('Number of copies: %s', self.sim_cps)
    self.log.info('Parallel: %s', parallel)
    # Verify if space is available in disk
    disk_free_mb = (disk.freespace(self.tmpdir) // 1024) // 1024
    if disk_free_mb < (est_size * self.sim_cps):
        self.cancel("Space not available to extract the %s linux tars\n"
                    "Mount and Use other partitions in dir_to_extract arg "
                    "to run the test" % self.sim_cps)