Tiny Core Linux
Tiny Core Base => TCB Q&A Forum => Topic started by: MikeLockmoore on October 06, 2013, 12:21:15 PM
-
I've been trying to make a USB stick or frugal hard disk installation I can boot on my new-ish ASUS X401A (Pentium B970) laptop. It has American Megatrends firmware with UEFI support that was used for the pre-loaded Windows 7. I was able to set up dual boot with Xubuntu 12.04 64-bit. Various times I have tried to make a bootable Tiny Core USB stick or frugal disk installation, including with the latest TC 5.0 version, but so far none of the attempts have worked.
In this post I will focus on the USB stick installation. I tried using Juanito's posting of June 16, 2012 to the Re: UEFI Boot thread http://forum.tinycorelinux.net/index.php/topic,13445.msg74727.html#msg74727 (http://forum.tinycorelinux.net/index.php/topic,13445.msg74727.html#msg74727), but I also tried a frugal installation by mimicking the grub menuentries for Xubuntu on my hard disk, without success.
I should point out the commands I used to prep the USB stick are the ones in my current installation of Xubuntu. I know some of the versions may be different than the ones Juanito used in the forum thread. Specifically the grub tools are version 1.99-21ubuntu3.10. I thought those may be a pre-release version of Grub2. I this assumption correct?
OK, here is what I tried: First, I used gdisk to set up the GPT partitions:
root@mike-X401A1:/home/mike# gdisk -l /dev/sdb
GPT fdisk (gdisk) version 0.8.1
Partition table scan:
MBR: protective
BSD: not present
APM: not present
GPT: present
Found valid GPT with protective MBR; using GPT.
Disk /dev/sdb: 7811072 sectors, 3.7 GiB
Logical sector size: 512 bytes
Disk identifier (GUID): 112575B4-2053-45D9-A643-17633E67F92A
Partition table holds up to 128 entries
First usable sector is 34, last usable sector is 7811038
Partitions will be aligned on 2048-sector boundaries
Total free space is 2014 sectors (1007.0 KiB)
Number Start (sector) End (sector) Size Code Name
1 2048 264191 128.0 MiB EF00 EFI System
2 264192 7811038 3.6 GiB 0700 Microsoft basic data
I used the Xubuntu grub-install to copy the grub files to the memory stick. However, the --target=x86_64-efi and --efi-directory=/mnt/sdb1 options were not accepted by my local grub-install. It did copy a bunch of stuff over, though.
One thing it did *not* copy was /BOOTX64.EFI, so I mounted the USB stick and copied over the version in my Xubuntu /boot file branch to /mnt/sdb1/EFI/BOOT/BOOTX64.EFI.
I created a /mnt/sdb1/EFI/BOOT/grub/grub.cfg file with this menuentry:
menuentry "tiny core" {
linux (hd1,gpt2)/boot/vmlinuz64 quiet noswap tce=sdb2 tz=GMT-4 blacklist=bcma blacklist=ssb blacklist=b43 text
initrd (hd1,gpt2)/boot/corepure64.gz
}
I copied the Pure 64 version of Tiny Core kernel and initial file system to the second partition of the USB stick under the directory:
/boot/vmlinuz64
/boot/corepure64.gz
After rebooting I get an ASUS boot selection menu with my usual Windows 7 and (X)ubuntu entries, plus a "UEFI: PMAP" entry and a plain "PMAP" entry. If I pick the UEFI version, the screen flashes and returns immediately to the boot selection menu. If I select the plain PMAP entry, the screen goes black and a message "Missing Operating System ..." with a prompt to attach a valid boot disk/device and hit a key"
I also tried to configure the stick with the 32-bit Tiny Core 5.0 vmlinuz and core.gz files. That did not work either. Neither did using the unetbootin tool with the Tiny Core 32-bit .iso image.
Any other suggestions? Thanks for any input. I'd like to get back to using Tiny Core frequently!
--
Mike Lockmoore
-
Use Grub v2 from the tc-5.x repo
Also to boot tc-4.x use the BIOS " lecagy MBR option", In the BIOS you may also find disabling xHCI USB which should allow the system to boot tc-4.x
for tc-5.x x86_64 use rootfs.gz + modules64.gz + vmlinuz64
edit removed config entries as unrelated to issue here
-
Specifically the grub tools are version 1.99-21ubuntu3.10. I thought those may be a pre-release version of Grub2. I this assumption correct?
Use the latest v2.0
-
I copied the Pure 64 version of Tiny Core kernel and initial file system to the second partition of the USB stick under the directory:
/boot/vmlinuz64
/boot/corepure64.gz
I seem to remember you need to recompile the tc-4.x kernel with a couple of efi options enabled to be able to (u)efi boot - tc-5.x will (u)efi boot as-is though.
-
Thanks for replies folks. Since I can't get any version of Tiny Core running on this laptop, I suppose I can get TC5 on a different computer first, then use the Grub 2.0 tools to make the USB stick there. Or maybe I could upgrade my Xubuntu to Grub 2.0? But I don't know the implications of that. Hmmm. I suppose if it was too easy it wouldn't be fun? ???
Further edit: By the way, I thought the Core Pure 64 current release files are based on Tiny Core 5.0. Is this not true?
coreplayer2: I didn't notice a "legacy MBR" boot option in my BIOS settings... maybe I overlooked that.
-
By the way, I thought the Core Pure 64 current release files are based on Tiny Core 5.0. Is this not true?
Not yet, it's still tc-4.x at the moment.
-
Not yet, it's still tc-4.x at the moment.
Ahh, OK. Maybe I need the 64-bit-ness to satisfy my BOOTX64.UEFI bootloader, but need TC 5.0 to get the proper UEFI support? Is there a bootloader for UEFI that will boot the 32-bit kernel?
-
tc-5.x rootfs + modules64 + vmlinuz64 will work, but not fully 32-bit
-
Ok no longer unrelated while this may not resemble your bootloader config stanza, but this works more me using syslinux.
KERNEL /tce/boot/vmlinuz64
APPEND initrd=/tce/boot/rootfs.gz,/tce/boot/modules64.gz loglevel=3 noswap lst=onboot64.lst tce=sda2 opt=sda2 home=sda2 blacklist=bcma,ssb,b43
This works with Grub2
I have a copy of the vmlinuz64 for 64bit EFI bootloader which works with tc-4.7.7 core 64 & corepure64 one that juanito made for us some time back, (I don't believe it's the same as the current corepure64, but my memory is a little fuzzy) if you need it?
for this route I use grub2 and
menuentry " EFI Desktop Ext2 corepure64 " {
linux /boot/linux64/vmlinuzEFI64 loglevel=3 waitusb=5:LABEL=EFI vga=0x318 noswap tz=GMT tce=UUID="04b4a5c8-b8f8-48f1-8fcd-ef30bb6ee768"/corepure64/tce
initrd /boot/linux64/corepure64-477.gz
}
if that helps
-
Partial Success! ?!? :D
I used the vmlinuzEFI64 identified by coreplayer2 and updated the Grub meun entry on my hard disk (frugal corepure64 version 4.7.7). It boots and loads the .tcz files listed in my onboot.lst. However, I don't get a graphical boot. I have the following .tcz extensions downloaded from the pure64 repo and stored in my tce/optional directory:
onboot.lst
Xprogs.tcz
fluff.tcz
wbar.tcz
compiletc.tcz
xz.tcz
Xfbdev.tcz
Xorg-7.6-bin.tcz
flwm.tcz
gnome-icon-theme.tcz
opera-12.tcz
squashfs-tools.tcz
pci-utils.tcz
depmod.tcz
advcomp.tcz
Now I need to figure out why I don't have startx. :P
--
Mike
-
I don't see Xlibs.tcz which contains startx.
-
Is there a bootloader for UEFI that will boot the 32-bit kernel?
I believe that this is set by your hardware - i.e. machines are either 32-bit or 64-bit UEFI boot, but not both - and most likely will be 64-bit.
BTW - I went back and double-checked and the tc-5.x rootfs + modules64 + vmlinuz64 will successfully 64-bit UEFI boot as-is.
-
Yes/no. Using VMware Workstation 10 (which wants BOOTx64.EFI), I can use GRUB2 EFI to load a 32-bit kernel (but can't do that from SYSLINUX yet). I believe this VM won't recognize BOOTIA32.EFI
-
roberts: Yes, you are right. I added that and now startx fails with a "failed in waitforx". If you or anyone else here has a quick suggestion, I'd appreciate it. But I plan to look through the full .ISO sets to check for a complete list of extensions that need to be present to get a graphical boot.
Juanito: I'm not sure how " tc-5.x rootfs + modules64 + vmlinuz64" works. How is modules64 loaded? As a kernel boot parameter or something else?
-
Something like:
$ cat /mnt/sdc1/EFI/BOOT/grub/grub.cfg
search --no-floppy --fs-uuid --set=root 74d071dc-a992-4493-8b54-168fb79897dd
menuentry "rootfs64" {
linux /boot/vmlinuz64 quiet noswap tce=UUID=74d071dc-a992-4493-8b54-168fb79897dd waitusb=10:UUID=74d071dc-a992-4493-8b54-168fb79897dd tz=GMT-4 blacklist=bcma blacklist=ssb blacklist=b43 text
initrd /boot/rootfs.gz /boot/modules64.gz
-
I gave it a try, Juanito, but my laptop locks up on a black screen that even Ctrl+Alt+Delete won't restart. :-\
-
I cant believe ASUS notebooks do not have a legacy boot mode, at least would be an interim measure to boot the machine.
Sent from my iPad using Tapatalk HD
-
Besides, sounds like the notebook is booted with no video, not locked up
Trying to remember how I overcome same problem..
Ok I think I installed Xfbdev and set the appropriate fb boot code
-
Do you have the graphics-KERNEL module loaded on boot?
-
Juanito: no, I have just tc-5.x rootfs + modules64 on my initrd statement in my Grub config, and the extension list I posted earlier with the additioni of the Xlibs.tcz. Which type of item is graphics-KERNEL?
coreplayer2: My ASUS might have such a mode... but I didn't see an obvious setting for that yet. When I have a chance, I will look again.
-
By graphics-KERNEL, I mean (for example) graphics-3.8.10-tinycore64.tcz, which would be loaded in your case by entering "tce-load -i graphics-KERNEL"
If you don't have this loaded onboot and you don't load one of the uefi graphics modules using grub.cfg, you won't see anything after "booting in blind mode" has finished (but startx will still work).