da8: reading primary partition table: error accessing offset when installing from USB to SSD on Thinkpad X220

Ward H wardh6973 at gmail.com
Mon Jan 12 19:56:23 PST 2015


Hello all! First-time poster, fairly long-time lurker. I'm all new to
DragonFly BSD, but not entirely to the BSDs as a whole. I had OpenBSD
5.4 on an HP G20 with an 80 GB HDD which got ridiculously hot. I
killed it by disassembling it and reassembling it incorrectly so I
could clean out the fans and filters. Right now I have OpenBSD on an
old Dell Latitude D810 with an IDE and just a10/100 Ethernet
connection, as well as half of a Lenovo all-in-one hard drive with
Slackware Linux 14.1, and a custom desktop with FreeBSD 9.2. I'm not
exactly a rank amateur, but I am still learning quite a bit, and I'm
always willing to dig very deep into the system and fix whatever
problems are there.

As I said in the subject line, I'm having some trouble getting a
DragonFly BSD image file (64-bit 4.0.2 release, from the Downloads
section just off the main page) to install from a known working USB
stick to a fresh SSD (just bought it two weeks ago). I formatted the
USB stick in Windows 7 (still not quite comfortable enough to do it in
a Unix-like environment, but I want to change that soon!) in FAT32 - I
don't remember the block size, but it's possible that might be part of
the issue - and copied the image to the USB stick using Rawrite32. I
got that program from one of the folders in the untarred NetBSD 6.1.5
that I had on the previous internal storage on this same laptop (the
drive was a Hitachi 320 GB HDD) and had used it successfully before
with that same NetBSD 6.1.5 (though I never could get modular Xorg
from pkgsrc to work), after changing the "UEFI BIOS" (ha) settings to
Legacy Only and changing the boot order so the USB ports (2 USB 2's on
the left, one USB 3 on the right) came before the internal drive and
all the other things that the BIOS recognizes, but that I'm unlikely
to use. I also managed to disable PXE Boot, which was getting in the
way, at best. I still have no clue how to use it, so I thought, best
to just not.

My aim with this laptop is to use it as a mobile workstation to learn
a whole bunch of basic skills, possibly even help out with projects if
possible (starting with patching or porting, I guess?) I've only been
heavily working on learning all the things I'm interested in for the
past eight or nine months, all on my own with dangerously out of date
advice on blogs and such, with considerably more up-to-date
information in the various BSD wikis, and even the occasional
dead-tree book (Absolute OpenBSD second edition, Absolute FreeBSD
second edition, which is kind of out of date and very server-centric,
and Unix Power Tools, which so far has been the best investment
regarding page-to-dollar ratio for my books so far). What I want to do
is become a good system administrator, even if only for my own
edification.

In a cost-free or low-cost world, I would be going to school for a
second Bachelor's, the second time around for a BS in Computer
Science. I've got a Master's in English, and I don't regret it for a
moment; I'm just working on shifting careers to system administration
and systems level programming and have no clue exactly how to get back
to school with credit as lousy as mine (financial aid now must be in
good standing for people to receive it, and you cannot go to any
college - even if you know you're paying for it yourself), but knowing
that I really need and want to. So the alternative seems to be- work
on software projects, get involved in the community, get
certifications. I would have done all that regardless of my status as
a student, but it's just much more obvious right now. Sorry, I'm
rambling.... I tend to do that from time to time.

Specifically, I want to learn proper backups for various sized systems
(starting with the laptop and working up; probably using virtualized
instances for the larger ones), TCP/IP networking (which kind of gives
me fits), virtualization (as I previously mentioned), how to use
DPorts, especially if or when to use compile-time options when I'm
making and installing various programs, various programming languages,
especially C, Common Lisp (SBCL implementation - I have a serious soft
spot for Common Lisp), Python (I prefer 2.x), perhaps Perl, Haskell,
Erlang or others as they catch my fancy, how to administer databases
(perhaps towards a DBA - hopefully not with Oracle or MS, but who
knows) using PosgreSQL (I know less about it but like it what I know a
lot), MySQL/MariaDB (I have a large book on the former which to date
is my only reasonably-sized source of information on that language),
or other SQLs (SQLite?), maybe some assembly, compiling kernels with
correct options for my circumstances, using virtual kernels (probably
much later!), and, if there's anyone out there who knows how to use
the Hercules mainframe emulator, get some help firing that emulator up
and running one of the os/390 DASD volumes from the official Hercules
site or from another source (I'd use it to learn all that mainframey
stuff - JCL, mainframe virtualization, whatever stood in for DB2 in
that old OS, maybe even COBOL; I've got a sick fascination with those
lumbering behemoths the mainframes). All this is quite a list, I know.
The first step, of course, is to get DragonFly on the laptop, so, I'm
going to list my hardware and the errors I received when I tried to
install it.

As I mentioned much earlier, this particular laptop is a Lenovo
Thinkpad X220 Laptop , convertible to a tablet. The BIOS lists itself
as UEFI BIOS, which I know doesn't make any sense, but, there we are.

UEFI BIOS version is 8DET69WW (1.39), UEFI BIOS date (year/month/date)
is 2013-07-18, Embedded Controller version is 8ZHT34WW (1.24), Machine
Type Model is 4298W49, there is no Asset Tag, the CPU Type is Intel
Core i5-2520M CPU, CPU Speed is 2.50GHz, Installed Memory is 4096MB.

The X220 has no optical drive and doesn't seem to have space to put
one in. There is an Express Card port, one of the larger ones (should
I even bother with it? It seems to be a pretty unpopular plug format
and I have no idea what kind of support I could get with, say, a
two-port eSATA Express Card adapter), and an SD Card reader, as well
as the previously mentioned USB ports.

I've changed a few of the options in the BIOS and kept a few the same.
Here are some I think may help to change:

USB UEFI BIOS Support is Enabled (I kept it on because I heard that if
you turn off this option with this model, you turn off all the USB
functionality; not what I want to do), the SATA Controller Mode Option
setting is on Compatibility; the other choice is AHCI Mode; Core
Multiprocessing is Enabled, Intel Hyper-Threading Technology is
Enabled, Intel AMT Control is Enabled with CIRA Timeout of 0 and
Console Type of VT100+. UEFI BIOS Updating By End Users is Enabled,
Flash Over Lan is Disabled. Execution Protection is Disabled, Intel
Virtualization Technology and Intel VT-d Feature are both Disabled.

Every option is Enabled for I/O Port Access

The Boot Priority Order is (when the USB Device is plugged in- doesn't
matter which port):
1. USB HDD Kingston Data Traveller G3
2. ATA HDD0 Intel SSD SC2BW2404A
3. USB CD
4. USB FDD
5. ATAPI CD0
6. ATA HDD2
7. ATA HDD1
8. ATAPI CD1
9. ATAPI CD2
10. ATA HDD3
11. ATA HDD4
12. PCI LAN

Network Boot is set to ATAPI CD0, which was the only option I could
choose for some reason

UEFI/Legacy Boot is set to Legacy Only, the other options being UEFI
Only, Both, Legacy First or UEFI First
Boot Order Lock is Disabled and Reserve Memory for UEFI Boot Manager is Disabled

What follows is what output I could hand-copy from the failed root
mount on my screen -


Device Manager Version 4.16.0

Reading the USB boot device as da8

da8 at umass-sim0 bus 0 target 0 lun 0
da8:<Kingston DataTraveller G3 PMAP> Removable Direct Access SCSI-4 device
da8: 40.000 MB/s transfers
da8: 30348 MB (62152704 512 byte sectors: 255H 63 S/T 3868C)
ugen0.4: <Chicony Electronics Co., Ltd.> at usbus0
no B_DEVMAGIC (bootdev=0)
Device Mapper version 4.16.0 loaded
dm_target_error: Successfully initialized
dm_target_zero: Successfully initialized
da8: reading primary partition table : error accessing offset
000000000000 for 512
Mounting root from ufs:da8s1a
no disk named 'da8s1a'
setrootbyname failed
ffs_rootmount: can't find rootvp
Root mount failed: 6

Manual Root Filesystem specification:
<fstype>:<device> Specify root (e.g. ufs:da0s1a)
? List valid disk boot devices
panic       Just Panic
abort        Abort manual input
mountroot >


So that's all I get. I have looked up the error previously on the
DragonFly mailing list archives and was under the impression that it
was fixed, but perhaps I have a version without the fix. From what I
recall of the thread, the issue is that da1-7 is reserved for SCSI
devices and the Device Manager (I guess?) therefore reads the first
USB device as da8. Problem being that the bootstrap process needs the
device to be da0. Again, I think. Maybe I'm way off.

I attempted to manually specify the root filesystem. I always used
"ufs:" at the beginning, obviously without the quotes, and attempted
with vn0, vn2, vn3, md0, md0s0, ad0, ad0s0, ad0s1, da0, da0s1, da1,
da2, da8s0, da8s1, and sg8. Barring ufs:da8 and ufs:md0,, which I'll
mention in a moment, all the others showed error Root mount failed,
with different numbers. The vn's and ad0 failed with 22, all of the
*s0 devices failed with 19, sg8 failed with 45, and ad0s1 and all of
the da* devices failed with 6.

md0 failed with the following lines:
disk scheduler: set policy of md1 to noop
md1: Malloc disk
Root mount failed: 22

da8 failed with the following lines:
Mounting root from ufs:da8
da8: open removal media: no media present
can't re-use a leaf (0019E06B9C8ABB91E7030032)!
Root mount failed: 5


I then used ufs:mapper/control and received the following information:
Mounting root from ufs:mapper/control

Fatal trap 12: page fault while in kernel mode
cpuid = 0; lapic -> id = 00000000
fault virtual address                   = 0x168
fault code                                   = supervisor read data,
page not present
instruction pointer                     = 0x8:0xffffffff805d924c
stack pointer                             = 0x10:0xffffffff81ca9560
frame pointer                            = 0x10:0xffffffff81ca95c0
code segment                          = base 0x0, limit 0xfffff, type 0x1b
                                                   = DPL 0, pres 1, long 1,
                                                      def32 0, gran 1
processor eflags                      = interrupt enabled, resume, IOPL = 0
current process                        = 0
current thread                           = pri 12
kernel: type 12 trap, code=0

CPU0 stopping CPUS: 0x0000000e
             stopped
Stopped at                  lockmgr+0x6c:      orl      (%rax),%r14d

db>



So that's where I get stuck. After I use mapper/control, I can't even
panic any more, I just have to hold down the power button on the
laptop until it shuts off.

Whatever I need to do to get this onto the SSD, I'm willing to take
those steps. If that involves flashing the BIOS, I will do that. If it
involves booting from an optical drive, I will do that (it will take a
bit longer to get the equipment together to do it, but I will). Or if
there's some way to do it with PXE Boot..... though when I start
thinking about that, I realize it's probably way more trouble than
it's worth.

Also, a few closing quick questions: This laptop's UEFI seems to be a
pretty poor implementation (errr....unless they're all so quirky), and
I know that so far there's not really a UEFI-native option for
FreeBSD. Should I do what the FreeBSD Handbook recommends - boot with
Legacy Only and use the GPT option during setup - on DragonFly, or
just MBR, or boot UEFI Only?

Are there any special considerations I should be aware of for SSDs
with regards to installation? Do I need to do manual offsets, or
something?

With my plans in mind, and knowing my laptop's capabilities, do you
folks think I should use HAMMER or UFS? I'm really hoping to use
HAMMER, because I am very impressed with it and want to dig in as much
as I can.

Sorry for the novel folks! I usually am this verbose, but have less
text specifically to put into one message. Thank you to everyone on
the lists, and I hope I can be of some assistance in the times to
come, if only as a tester for DragonFly.

Ward



More information about the Users mailing list