----- Mensagem original ----- > De: "steve walsh" <steve.wa...@sap.com> > Para: "steve walsh" <steve.wa...@sap.com>, "Lucas Meneghel Rodrigues" > <l...@redhat.com> > Cc: autotest@test.kernel.org > Enviadas: Terça-feira, 12 de Junho de 2012 7:22:11 > Assunto: Re: [Autotest] kernel.boot is failing because "Unable to instantiate > boottool" > > Hi there, > > I apologise in advance, I'm new to kernel devel/deployment so my > questions might seem a bit simple. > I've encountered another problem using the kernel.boot command. > > The install part seems to be okay. Then mkinitramfs gets called and > it creates a file /boot/initrd-autotest but it does complain about a > missing config file: > > [stdout] INSTALL sound/usb/usx2y/snd-usb-usx2y.ko > 06/12 10:33:12 DEBUG|base_utils:0114| [stdout] DEPMOD > 3.4.0-rc1-heca+ > 06/12 10:33:27 INFO | kernel:0010| --- START kernel.mkinitrd --- > 06/12 10:33:27 DEBUG|base_utils:0249| Detected OS vendor: Ubuntu > 06/12 10:33:27 DEBUG|base_utils:0077| Running '/usr/sbin/mkinitramfs > -o /boot/initrd-autotest 3.4.0-rc1-heca+' > 06/12 10:33:27 ERROR|base_utils:0114| [stderr] grep: > /boot/config-3.4.0-rc1-heca+: No such file or directory > 06/12 10:34:02 INFO | kernel:0016| --- END kernel.mkinitrd --- > > I'm not sure if that is a problem or not. > > However, the next error in my logs seems potentially more serious:
So, I've setup an Ubuntu machine, with grubby auto installed by boottool. Let's try do dissect what's going on here: > > 06/12 10:34:03 INFO | job:0210| GOOD build > kernel.mkinitrd timestamp=1339493642 localtime=Jun 12 10:34:02 > 06/12 10:34:03 INFO | kernel:0016| --- END kernel.install --- > 06/12 10:34:03 INFO | job:0210| GOOD build > kernel.install timestamp=1339493643 localtime=Jun 12 10:34:03 > 06/12 10:34:03 DEBUG| base_job:0349| Persistent state client.steps > now set to [([], 'job.end_reboot_and_verify', [1339493643, > '3.4.0-rc1-heca+::#12 SMP Mon Jun 11 18:35:13 BST 2012', 'build', > []], {})] > 06/12 10:34:03 ERROR|logging_ma:0584| grubby: kernel not found > 06/12 10:34:03 ERROR|logging_ma:0584| grubby: kernel not found > 06/12 10:34:03 ERROR|logging_ma:0584| grubby: kernel not found > 06/12 10:34:03 ERROR|logging_ma:0584| grubby: kernel not found > 06/12 10:34:03 ERROR|logging_ma:0584| grubby: kernel not found > 06/12 10:34:03 ERROR|logging_ma:0584| grubby: kernel not found This behaviour seems to be triggered by a grubby bug. Example on this Ubuntu system: root@ubuntu:~# grubby --info=ALL index=0 kernel=/boot/vmlinuz-3.2.0-23-generic args="ro " root=/dev/mapper/ubuntu-root initrd=/boot/initrd.img-3.2.0-23-generic title=Ubuntu, with Linux 3.2.0-23-generic index=1 kernel=/boot/vmlinuz-3.2.0-23-generic args="ro recovery nomodeset " root=/dev/mapper/ubuntu-root initrd=/boot/initrd.img-3.2.0-23-generic title=Ubuntu, with Linux 3.2.0-23-generic (recovery mode) index=2 non linux entry index=3 non linux entry index=4 non linux entry index=5 non linux entry That is, six entries, while in grub.cfg we only have four: root@ubuntu:~# grep ^menuentry /boot/grub/grub.cfg menuentry 'Ubuntu, with Linux 3.2.0-23-generic' --class ubuntu --class gnu-linux --class gnu --class os { menuentry 'Ubuntu, with Linux 3.2.0-23-generic (recovery mode)' --class ubuntu --class gnu-linux --class gnu --class os { menuentry "Memory test (memtest86+)" { menuentry "Memory test (memtest86+, serial console 115200)" { The way boottool fetches info on entries by running grubby produces the error message on non-linux (or buggy) entries: oot@ubuntu:~# /tmp/boottool --remove-kernel=autotest ... DEBUG: Grubby: ['/sbin/grubby', '--grub2', '--info=0'] DEBUG: Grubby: ['/sbin/grubby', '--grub2', '--info=1'] DEBUG: Grubby: ['/sbin/grubby', '--grub2', '--info=2'] grubby: kernel not found DEBUG: Grubby: ['/sbin/grubby', '--grub2', '--info=3'] grubby: kernel not found DEBUG: Grubby: ['/sbin/grubby', '--grub2', '--info=4'] grubby: kernel not found DEBUG: Grubby: ['/sbin/grubby', '--grub2', '--info=5'] grubby: kernel not found ... > 06/12 10:34:03 DEBUG| boottool:1136| No kernel found for title > "autotest". Assuming no entry exists, and emulating boottool(.pl) > behavior and being silent about it. This is actually OK at this stage. The autotest code that installs a kernel first tries to remove the entry by the same name. If it's not found, it's just ignored. > > When I run grubby --info=/boot/vmlinux-autotest, it gives a similar > error, i.e.: > > Grubby: kernel not found. > Can you check if boottool, manually, can add your kernel entry? Please run this: # cp /boot/vmlinuz-<your-version> /boot/vmlinuz-autotest # cp /boot/initramfs-<your-version> /boot/initrd-autotest # boottool --add-kernel=/boot/vmlinuz-autotest --initrd=/boot/initrd-autotest --title=autotest And then this: # grubby --info=/boot/vmlinuz-autotest And report the results? > Any ideas why the kernel is not getting picked up? > > Thanks, > Steve > > > -----Original Message----- > From: autotest-boun...@test.kernel.org > [mailto:autotest-boun...@test.kernel.org] On Behalf Of > steve.wa...@sap.com > Sent: 11 June 2012 14:36 > To: Lucas Meneghel Rodrigues > Cc: autotest@test.kernel.org > Subject: Re: [Autotest] kernel.boot is failing because "Unable to > instantiate boottool" > > Hi Lucas, > > Thanks for the response. I actually discovered some missing > dependencies: libpopt and blkid. Once, these installed, it seems to > build grubby from a tarball. > > Steve > > -----Original Message----- > From: Lucas Meneghel Rodrigues [mailto:l...@redhat.com] > Sent: 11 June 2012 14:27 > To: Walsh, Steve > Cc: autotest@test.kernel.org > Subject: Re: [Autotest] kernel.boot is failing because "Unable to > instantiate boottool" > > On Mon, 2012-06-11 at 12:56 +0200, steve.wa...@sap.com wrote: > > Hi there, > > > > > > > > I’ve just started using autotest and I’m trying to use the kernel > > module to boot into a recently built kernel. It appears to be > > failing > > due to not being able to install grubby. > > I'm finding weird that it appears to not even trying to compile and > install grubby... I'll have to pick up an ubuntu VM and perform some > tests, hang on... > > > > I’m running this on Ubuntu 12.04 server. The stacktrace in > > client.0.DEBUG is shown below. > > > > > > > > Any help would be greatly appreciated. > > > > > > > > Thanks, > > > > Steve > > > > > > > > > > > > 06/11 11:18:20 INFO | boottool:0498| Installing grubby because it > > was > > not found on this system > > > > 06/11 11:18:20 ERROR| boottool:0598| _run_get_output error while > > running: "/sbin/grubby --version" > > > > 06/11 11:18:20 WARNI| boottool:1180| Could not run grubby to fetch > > its version > > > > 06/11 11:18:20 WARNI| boottool:0571| Could not detect current > > grubby > > version. It may be that you are running an unsupported version of > > grubby > > > > 06/11 11:18:20 ERROR| boottool:0620| _run_get_output_err error > > while > > running: "/sbin/grubby --bootloader-probe" > > > > 06/11 11:18:21 DEBUG| package:0160| Listing all packages > > available > > > > 06/11 11:18:21 ERROR| parallel:0026| child process failed > > > > 06/11 11:18:21 DEBUG| parallel:0030| Traceback (most recent call > > last): > > > > 06/11 11:18:21 DEBUG| parallel:0030| File > > "/usr/local/autotest/parallel.py", line 18, in fork_start > > > > 06/11 11:18:21 DEBUG| parallel:0030| l() > > > > 06/11 11:18:21 DEBUG| parallel:0030| File > > "/usr/local/autotest/job.py", line 526, in <lambda> > > > > 06/11 11:18:21 DEBUG| parallel:0030| l = lambda : > > test.runtest(self, url, tag, args, dargs) > > > > 06/11 11:18:21 DEBUG| parallel:0030| File > > "/usr/local/autotest/test.py", line 114, in runtest > > > > 06/11 11:18:21 DEBUG| parallel:0030| > > job.sysinfo.log_after_each_iteration) > > > > 06/11 11:18:21 DEBUG| parallel:0030| File > > "/usr/local/autotest/shared/test.py", line 927, in runtest > > > > 06/11 11:18:21 DEBUG| parallel:0030| mytest._exec(args, dargs) > > > > 06/11 11:18:21 DEBUG| parallel:0030| File > > "/usr/local/autotest/shared/test.py", line 420, in _exec > > > > 06/11 11:18:21 DEBUG| parallel:0030| > > _call_test_function(self.execute, *p_args, **p_dargs) > > > > 06/11 11:18:21 DEBUG| parallel:0030| File > > "/usr/local/autotest/shared/test.py", line 835, in > > _call_test_function > > > > 06/11 11:18:21 DEBUG| parallel:0030| return func(*args, > > **dargs) > > > > 06/11 11:18:21 DEBUG| parallel:0030| File > > "/usr/local/autotest/shared/test.py", line 293, in execute > > > > 06/11 11:18:21 DEBUG| parallel:0030| postprocess_profiled_run, > > args, dargs) > > > > 06/11 11:18:21 DEBUG| parallel:0030| File > > "/usr/local/autotest/shared/test.py", line 213, in _call_run_once > > > > 06/11 11:18:21 DEBUG| parallel:0030| self.run_once(*args, > > **dargs) > > > > 06/11 11:18:21 DEBUG| parallel:0030| File > > "/usr/local/autotest/tests/heca_master_deploy/heca_master_deploy.py", > > line 17, in run_once > > > > 06/11 11:18:21 DEBUG| parallel:0030| kernel.boot() > > > > 06/11 11:18:21 DEBUG| parallel:0030| File > > "/usr/local/autotest/kernel.py", line 607, in boot > > > > 06/11 11:18:21 DEBUG| parallel:0030| self.subdir, > > self.applied_patches) > > > > 06/11 11:18:21 DEBUG| parallel:0030| File > > "/usr/local/autotest/kernel.py", line 104, in _boot_kernel > > > > 06/11 11:18:21 DEBUG| parallel:0030| > > self.add_to_bootloader(args) > > > > 06/11 11:18:21 DEBUG| parallel:0030| File > > "/usr/local/autotest/kernel.py", line 119, in add_to_bootloader > > > > 06/11 11:18:21 DEBUG| parallel:0030| self.initrd) > > > > 06/11 11:18:21 DEBUG| parallel:0030| File > > "/usr/local/autotest/kernel.py", line 40, in > > _add_kernel_to_bootloader > > > > 06/11 11:18:21 DEBUG| parallel:0030| > > bootloader.remove_kernel(tag) > > > > 06/11 11:18:21 DEBUG| parallel:0030| File > > "/usr/local/autotest/tools/boottool", line 1132, in remove_kernel > > > > 06/11 11:18:21 DEBUG| parallel:0030| entry_selection = > > self._get_entry_selection(kernel) > > > > 06/11 11:18:21 DEBUG| parallel:0030| File > > "/usr/local/autotest/tools/boottool", line 821, in > > _get_entry_selection > > > > 06/11 11:18:21 DEBUG| parallel:0030| return > > self._kernel_for_title(data) > > > > 06/11 11:18:21 DEBUG| parallel:0030| File > > "/usr/local/autotest/tools/boottool", line 791, in > > _kernel_for_title > > > > 06/11 11:18:21 DEBUG| parallel:0030| index = > > self._index_for_title(title) > > > > 06/11 11:18:21 DEBUG| parallel:0030| File > > "/usr/local/autotest/tools/boottool", line 745, in _index_for_title > > > > 06/11 11:18:21 DEBUG| parallel:0030| info = > > self.get_info_lines() > > > > 06/11 11:18:21 DEBUG| parallel:0030| File > > "/usr/local/autotest/tools/boottool", line 1158, in get_info_lines > > > > 06/11 11:18:21 DEBUG| parallel:0030| info = > > self.get_info(entry) > > > > 06/11 11:18:21 DEBUG| parallel:0030| File > > "/usr/local/autotest/tools/boottool", line 1024, in get_info > > > > 06/11 11:18:21 DEBUG| parallel:0030| info = > > self._run_grubby_get_output([command]) > > > > 06/11 11:18:21 DEBUG| parallel:0030| File > > "/usr/local/autotest/tools/boottool", line 681, in > > _run_grubby_get_output > > > > 06/11 11:18:21 DEBUG| parallel:0030| args = > > self._run_grubby_prepare_args(arguments, include_bootloader) > > > > 06/11 11:18:21 DEBUG| parallel:0030| File > > "/usr/local/autotest/tools/boottool", line 666, in > > _run_grubby_prepare_args > > > > 06/11 11:18:21 DEBUG| parallel:0030| if include_bootloader and > > self.bootloader is not None: > > > > 06/11 11:18:21 DEBUG| parallel:0030| File > > "/usr/local/autotest/shared/boottool.py", line 57, in __getattr__ > > > > 06/11 11:18:21 DEBUG| parallel:0030| self._init_on_demand() > > > > 06/11 11:18:21 DEBUG| parallel:0030| File > > "/usr/local/autotest/shared/boottool.py", line 53, in > > _init_on_demand > > > > 06/11 11:18:21 DEBUG| parallel:0030| raise > > error.JobError("Unable > > to instantiate boottool") > > > > 06/11 11:18:21 DEBUG| parallel:0030| JobError: Unable to > > instantiate > > boottool > > > > 06/11 11:18:22 INFO | job:0210| END ABORT > > heca_master_deploy heca_master_deploy > > timestamp=1339409902 localtime=Jun 11 > > 11:18:22 > > > > 06/11 11:18:23 DEBUG| base_job:0349| Persistent state > > client._record_indent now set to 1 > > > > 06/11 11:18:24 DEBUG| base_job:0376| Persistent state > > client.unexpected_reboot deleted > > > > > > > > > > > > Dr. Steve Walsh > > > > Researcher, SAP Research, CEC Belfast > > > > SAP (UK) Limited, The Concourse Building, Queen's Road , Queen's > > Island, Titanic Quarter, BT3 9TD Belfast > > > > T +44 (0)28 9078 5721 > > > > > > > > > > _______________________________________________ > > Autotest mailing list > > Autotest@test.kernel.org > > http://test.kernel.org/cgi-bin/mailman/listinfo/autotest > > > _______________________________________________ > Autotest mailing list > Autotest@test.kernel.org > http://test.kernel.org/cgi-bin/mailman/listinfo/autotest > _______________________________________________ > Autotest mailing list > Autotest@test.kernel.org > http://test.kernel.org/cgi-bin/mailman/listinfo/autotest > _______________________________________________ Autotest mailing list Autotest@test.kernel.org http://test.kernel.org/cgi-bin/mailman/listinfo/autotest