LinuxQuestions.org

LinuxQuestions.org (/questions/)
-   Slackware (https://www.linuxquestions.org/questions/slackware-14/)
-   -   slack64 dual booting with OSX Snow Leopard (https://www.linuxquestions.org/questions/slackware-14/slack64-dual-booting-with-osx-snow-leopard-778465/)

jong357 12-28-2009 08:14 AM

slack64 dual booting with OSX Snow Leopard
 
There is a topic about this is the installation forums but the OP split and didn't bother explaining how he got around to installing Slackware when the installer and installer kernel isn't GPT/EFI aware.

I went through this same thing when I bought my Macbook Pro and here it is 4 years later and Slackware still chokes with GPT.

Bought a New Imac for my girlfriend and just got Slackware64 on it the same way I put Slackware32 on my macbook Pro years ago. By using a gentoo minimal CD. They have had GPT/EFI aware kernels for years now.

For those of you interested, you can download the
install-amd64-minimal-20091203.iso

That one is likely to change but you can always find the latest in:

http://mirrors.kernel.org/gentoo/rel...s/current-iso/

Disassemble it. Throw pkgtools 13.0 on it, tar-1.13 and the xz package.
Just mount the iso, copy all the contents over to a new folder, cd into it,
explode those packages into the root on the directory (don't forget to run the doinst.sh from the root of the CD), mount your Slackware 64
disk, and copy over the Slackware64 directory and anything else you may want
from the Slackware64 DVD. You can ditch some of the echoed Gentoo stuff on boot and change the /etc/motd greeting in the squashfs image. resquash it with
v 4.0 to make a new image with mkisofs and your off.

I did all this on a 32bit linux system so no need to have a running 64 bit box if the only 64 system you have is your new Mac.

As of this writing and the linked CD above, you need to use squashfs-4.0. If
you don't use the same binary version and the patched kernel version on the gentoo disk,
it will fail to extract the squashfs image during bootup of the CD. If that happens,
you know you need to use another version of the squashfs binary to make your new
image.squashfs.

First, split your OSX partition via bootcamp in Snow Leopard.

Then boot up with your gentoo cd and use "parted" to change the filesystem type and volume label of the partition you made with the bootcamp assistant.. parted may only let you use ext2. Reboot if/when prompted after parted back into the gentoo CD. Use mkfs.jfs or whatever you want on your new partition to get your desired filesystem. Reboot if prompted to.

Mount your new linux partition into /mnt/gentoo or /mnt/slackware64 if you went so far as to really modify the gentoo minimal CD like I do. Since you have a working pkgtools bundled in the gentoo image.squashfs, installpkg is already in your path for the live cd. Install each package set manually. I did this:

Code:

installpkg --root /mnt/slackware64 /mnt/cdrom/slackware64/a/*.t{gz,xz,lz,bz}
I did that for package sets a, ap, d, k, l, n, x, and xap. That leaves you with a rather bloated install but atleast you know things will work. Also, I used wildcards for the install because I didn't want to acidentally miss installing a .tgz. I'm almost positive all the packages on the Slackware64 13.0 DVD are .txz with the possible exception of pkgtools. It doesn't hurt to use a wildcard like above just incase.

After you have you new partition populated, chroot into it. Make your /etc/fstab along with your /etc/lilo.conf. Run "pwconv" and then "grpconv" then "passwd root" to set the root password. Then reboot.

Here are the minimal fstab and lilo.conf files I created in chroot:

fstab
Code:

/dev/sda3    /    jfs    defaults        0 0
sysfs                /sys            sysfs        defaults  0 0
#devpts        /dev/pts    devpts  gid=5,mode=620  0 0
proc            /proc          proc        defaults      0 0
tmpfs        /dev/shm        tmpfs    defaults      0 0
usbfs                /proc/bus/usb  usbfs        devgid=14,devmode=0660  0 0

lilo.conf
Code:

#boot =
vga=791
image = /boot/vmlinuz
root = /dev/sda3
label = Slackware
read-only

Download refit and install it under OSX. You may have to cd into /efi/refit (via Utilities/Terminal) and run ./enable.sh if the installer doesn't do it for you. After that you should have the refit bootloader display when you reboot. Select the partitoning tool under refit and have it adjust the MBR otherwise lilo will not chainload Slackware.

After writing out the adjusted MBR through refit, you'll probably have to boot back up with your gentoo minimal CD and chroot back into Slackware64. Run "lilo". It will probably spit 2 warnings at you. One is LBA32 addresing assumed or something which is fine and the other will probably complain of a missing /proc/something directory.

Reboot the machine and then select the linux icon under refit. It should boot you into Slackware. If it makes you feel better, you can rerun "lilo" at that time. The wireless keyboard is picked up fine but the wireless mouse is dead in the water. I need to trouble shoot that one.

Also, when rebooting from the gentoo CD or Slackware64 itself, the machine will hang on:

Code:

Restarting system.
machine restart

Need to look into that as well. Other than the few issues I mentioned, everything else appears to work at this point.

I'll post back with a link to a modified gentoo 64 bit CD if anyone will find it useful. pkgtools on it, gentoo specific crap removed from the bootup and greeting, pkgtools in the path. The only thing I won't do is throw all the Slackware64 packages onto the root of the CD. I really don't have the bandwidth to be offering a 4GB DVD for download.

I'll post back with a link to it once I'm done tweaking it out. Sometime later tonite maybe.

Hopefully the Slackware team can look into this sometime and maybe make the installer work on Macs someday. Would be really nice instead of having to jump through hoops all the time.

jong357 12-29-2009 02:39 AM

O.k... Took me all day but I'm done for anyone interested....

http://www.jaguarlinux.com/pub/slack...4-install-iso/

I may modify the "make-dvd.sh" script soon to just download all the Slackware64 packages from a mirror and include them onto the root of the ISO, so you don't have to download the minimal one and remaster it.

DonnieP 12-29-2009 05:48 AM

And when something goes wrong with this dual-booted iMac OSX/Linux such as the video card (as happened to me), the Apple store will tell you that you voided your warranty dual booting to anything but Windows and will refuse to honor the warranty.

jong357 12-29-2009 07:37 AM

That's funny, seeing as how I sent my Macbook pro back in 2 times with linux on it. But hey, thanks for the info. Always good to know. There could be some truth to that now-a-days because apple underclocks their GPU's via software so they don't burn to a cinder because they were and always have been about asthetics and not quality (think thin and no air flow). I had these problems with my macbook under linux. the damn thing would get so hot it would burn your lap. That's why they refuse to call it a "laptop" and instead call it a "portable" or whatever term they came up with. Moronic. That's also why I finally sold it. And that's probably why they could be doing as you say now. They've took the final and ultimate step by declaring what software you can and cant run on it. What they should be doing is releasing software for linux that hobbles the machine just like it is in Windows and OSX....

Besides, you can restore the GPT table exactly as it was in the blink of an eye so tell me how are they are ever going to know anyway?

But seriously, don't shit on my parade man. Took me almost 8 hours yesterday writing and testing that script for the community here.

jong357 12-31-2009 10:50 PM

I've done some massive updating to the script. It will pretty much hand hold you through the entire process. The way I've set the variables now, it will build a live DVD with all the package sets of Slackware64 13.0 on the root of the DVD as well as updating the original packages with the new ones found under "patches".

Basically, it will give you a fully updated Slackware64 13.0 install DVD for use on GPT disks. Pkgtools are integrated into the cd as well as a mount point in /mnt/slackware64.

Read the initial greeting after the DVD has boot up and it will point you to a more detailed walk through, specifically on how to install Slackware64 13.0 on a MAC but you can use it also to just install Slackware64 13.0 on a PC GPT disk.

http://www.jaguarlinux.com/pub/slack...so/make-dvd.sh

I'll go ahead and post it here just incase something ever happens to my web server:

Code:

#!/bin/sh
#
# At a minimum, you'll need squashfs support in your kernel for this script
# to work.
#
# To read what started this project, visit:
#
# http://www.linuxquestions.org/questions/slackware-14/slack64-dual-booting-with-osx-snow-leopard-778465/
#
# If you leave GET_PACKAGES set to "yes" below, it might be worth your
# while to mount an official Slackware64 DVD (via automounting). I'll
# check for it before I start an hour long wget download.....
#
# Copyright 2009-2010  Jon Grosshart
# All Rights Reserved.
#
# Redistribution and use of this script, with or without modification, is
# permitted provided that the following conditions are met:
#
# 1. Redistributions of this script must retain all the above comments,
#    this list of conditions and the following disclaimer.
#
#  THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED
#  WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
#  MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.  IN NO
#  EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
#  SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
#  PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
#  OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
#  WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
#  OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
#  ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

set -e
CWD=`pwd`
ISOURL=http://mirrors.kernel.org/gentoo/releases/amd64/autobuilds/current-iso
GENTOO_ISO=install-amd64-minimal-20100121.iso 
SLACKURL=http://slackware.cs.utah.edu/pub/slackware
SLACK64=$SLACKURL/slackware64-13.0/slackware64
SLACK32=$(echo $SLACK64 | sed 's/64//g')
PKGTOOLS=pkgtools-13.0-noarch-3.tgz
XZ=xz-4.999.8beta-x86_64-1.tgz
TAR=tar-1.22-x86_64-2.tgz
DIALOG=dialog-1.1_20080819-x86_64-3.txz
SQUASHURL=http://voxel.dl.sourceforge.net/project/squashfs/squashfs/squashfs4.0
SQUASHFS=squashfs4.0.tar.gz
# Download the packages to be included onto the root
# of the ISO? If not, you'll wind up with a 110mb
# minimal liveCD instead of a full blown "install" DVD.
GET_PACKAGES=yes
# Do we have an official Slackware64 DVD mounted?
# The above variable still determines whether or not
# we include them on the root of the ISO however...
if [ -d /media/SlackDVD/slackware64 ]; then
  HAVE_PACKAGES=yes
fi
# This will download all the latest "patches" and update
# the package sets with the newer packages.
UPDATE_PACKAGES=yes
PATCHES=$SLACKURL/slackware64-13.0/patches/packages
# Do you want to tarball all your modified ISO parts?
# (ISO, SQUASHFS and IGZ)
BACKUP=no
# Ditch everything but the original and new ISO?
CLEANUP=yes

echo
# Do some dependency checking, otherwise it's all for naught.
#
# Any sane distro uses a module and not built
# in so I won't check /proc/filesystems
if [ "$(find /lib/modules -name squashfs.ko -type f -exec ls {} +)" = "" ]; then
  echo 'No squashfs support found in your kernel. Aborting...'
  echo && exit 1
fi
if [ ! -x "$(which mksquashfs)" ]; then
  # Well, you have kernel support. Might as
  # well build the binary so we can continue...
  if [ -x /usr/bin/wget ]; then
      wget $SQUASHURL/$SQUASHFS
      tar xf $SQUASHFS
      cd $(echo $SQUASHFS | sed 's/.tar.gz//')
      cd squashfs-tools && make && mv mksquashfs $CWD
      cd $CWD && rm -rf squashfs* && chmod 755 mksquashfs
  else
      echo && echo "Wow... No wget found. Aborting..." && exit 1
  fi
fi
# It's already been established we have wget.
# Grab the minimal gentoo live CD now.
wget -N $ISOURL/$GENTOO_ISO

echo "Modifying ISO. Please wait..."

# Check for an earlier script break and umount this stuff:
if mount | grep 'slackware64-mount-squash' > /dev/null 2>&1 ; then
  LOOPBACK=$(mount | grep slackware64-mount-squash | sed 's/ .*//')
  umount $LOOPBACK
fi
if mount | grep 'slackware64-iso-orig' > /dev/null 2>&1 ; then
  LOOPBACK=$(mount | grep slackware64-iso-orig | sed 's/ .*//')
  umount $LOOPBACK
fi

# Start fresh:
rm -rf slackware64-{new-iso,iso-orig,mount-squash,new-squash,new-igz}

# Let's get to it and disasemble the stock ISO:
mkdir slackware64-{new-iso,iso-orig,mount-squash,new-squash,new-igz}
mount -t iso9660 $GENTOO_ISO slackware64-iso-orig -o loop
cp -R slackware64-iso-orig/* slackware64-new-iso/
umount $CWD/slackware64-iso-orig
rmdir slackware64-iso-orig
mount -t squashfs slackware64-new-iso/image.squashfs slackware64-mount-squash -o loop
cp -R slackware64-mount-squash/* slackware64-new-squash/
umount $CWD/slackware64-mount-squash
rmdir slackware64-mount-squash
cd slackware64-new-igz
cat ../slackware64-new-iso/isolinux/gentoo.igz | gunzip | cpio -i
cd $CWD

# Change this stuff around:
sed -i -e 's@default gentoo@default slackware64@' \
      -e 's@label gentoo@label slackware64@g' \
      -e 's@kernel gentoo@kernel slackware64@g' \
      -e 's@initrd=gentoo.igz@initrd=slackware64.igz@g' \
      slackware64-new-iso/isolinux/isolinux.cfg
sed -i 's@^Gentoo.*@Slackware64 Mactel Installation LiveCD@' \
      slackware64-new-iso/isolinux/boot.msg
sed -i -e 's@Gentoo Linux LiveCD@Slackware64 Mactel LiveCD@' \
      -e 's@  This lists the Gentoo.*@@' \
      -e 's@options that are built.*@@' \
      -e 's@to our users.  @@' \
      slackware64-new-iso/isolinux/F2.msg
sed -i -e 's@  This lists the Gentoo.*@@' \
      -e 's@options that are built.*@@' \
      -e 's@to our users.  @@' \
      slackware64-new-iso/README.txt
sed -i 's/gentoo/slackware64/g' \
      slackware64-new-iso/isolinux/kernels.msg
# slackware.efimg.mountPoint/efi/boot/elilo.msg still has gentoo crap

# Now that we are done with the ISO root, let's modify the squashfs & igz:
sed -i -e '/^        echo$/d' \
      -e '/^        echo -e.*/d' \
      -e '/^                echo -e "Press/d' \
      slackware64-new-squash/sbin/rc
sed -i 's@mnt/gentoo@mnt/slackware64@' \
      slackware64-new-igz/init
echo 'Welcome to the Slackware64 Mactel Installation LiveCD!

Pkgtools are already integrated into this liveCD. For specific instructions
on how to get started, issue "vi /etc/slackware64/README.txt"
' > slackware64-new-squash/etc/motd
mkdir -p slackware64-new-squash/etc/slackware64
echo '
If you havent remastered the smaller "mactel-x86_64-slackware64.iso" and
included all the packages that can be found on the original Slackware64
DVD, then this disk will do you no good. If you have however, read on...

You should have already partitioned your hard drive under the OSX Bootcamp
assistant. Under the liveCD, use 'parted' to change the file system and volume
label of your new partition. Reboot back into the liveCD if prompted to.

If desired, use mkfs.* to change the filesystem to something that parted
could not handle. Your new partition will more than likely be /dev/sda3.
Mount it under /mnt/slackware64. Pkgtools is already integrated with the
liveCD. You will have to manually install each package set by hand.
For example:

installpkg --root /mnt/slackware64 /mnt/cdrom/slackware64/a/*.t{gz,xz,lz,bz}

Once you are done installing all package sets that you want, chroot into your
new partition. I would suggest atleast doing a, ap, d, k, l, n, x, and xap.
You can always remove packages once your up and running.

While chrooted, make an /etc/lilo.conf and /etc/fstab along with running
"pwconv", "grpconv" then "passwd root". Samples of lilo.conf and fstab can
be found in /etc/slackware64.

Once you are done here, reboot into OSX. Install the rEFIt bootloader. Even
though you can use elilo and the built-in chooser of OSX, rEFIt is much easier
to get running. Once rEFIt has been installed from the .dmg file, open up
the terminal which is located under Applications-->Utilities and issue:

cd /efi/refit
./enable.sh

Then reboot your computer. You should see the rEFIt bootloader. Select the
"Partitioning Tool" and sync the MBR if promted to. Then boot one last time
into the liveCD, mount and then chroot into Slackware64 one last time. Run
"lilo" and restart the computer.

If all went well, you should now be able to boot into Slackware64 by selecting
the penguin icon on the rEFIt bootloader screen.
' > slackware64-new-squash/etc/slackware64/README.txt

echo '#boot =
vga=791
image = /boot/vmlinuz
root = /dev/sda3
label = Slackware64
read-only
' > slackware64-new-squash/etc/slackware64/lilo.conf

echo '
################################################################################
# device        mount-point    filesystem  options                dump  fsck

/dev/sda3        /              jfs          defaults                1      1
#/dev/sda4      swap            swap        defaults                0      0
proc                /proc          proc        defaults                0      0
sysfs                /sys            sysfs        defaults                0      0
#devpts                /dev/pts        devpts      gid=5,mode=620          0      0
tmpfs                /dev/shm        tmpfs        defaults                0      0
usbfs                /proc/bus/usb  usbfs        devgid=14,devmode=0660  0      0
' > slackware64-new-squash/etc/slackware64/fstab

# Alright... Now lets setup pkgtools. I won't assume
# your on slackware so we'll untar them instead...
cd $CWD/slackware64-new-squash/tmp
if [ "$HAVE_PACKAGES" = "yes" ]; then
  cp -v /media/SlackDVD/slackware64/a/$TAR .
else
  wget $SLACK64/a/$TAR
fi
tar xf $TAR
mv bin/tar-1.13 ../bin && rm -rf *
if [ "$HAVE_PACKAGES" = "yes" ]; then
  cp -v /media/SlackDVD/slackware64/a/$PKGTOOLS .
else
  wget $SLACK64/a/$PKGTOOLS
fi
cd $CWD/slackware64-new-squash
tar xf tmp/$PKGTOOLS && rm -rf usr/man install var/log/setup/setup.*
cd tmp && rm $PKGTOOLS
if [ "$HAVE_PACKAGES" = "yes" ]; then
  cp /media/SlackDVD/slackware64/a/$XZ .
else
  wget $SLACK64/a/$XZ
fi
cd $CWD/slackware64-new-squash
tar xf tmp/$XZ && sh install/doinst.sh
rm -rf usr/{doc,include,man} install
cd tmp && rm $XZ
# I REALLY hate these new package formats... ;-)
if ldd ../usr/bin/xz | grep "not a dynamic executable" > /dev/null 2>&1; then
  # Crap. Your on 32 bit right now.
  if [ -x "$(which xz)" ]; then
      if [ "$HAVE_PACKAGES" = "yes" ]; then
        cp /media/SlackDVD/slackware64/a/$DIALOG .
      else
        wget $SLACK64/a/$DIALOG
      fi
      xz -dc $DIALOG | tar -xf -
  else
      #        Double crap. You don't even have xz
      wget $SLACK32/a/xz-4.999.8beta-i486-1.tgz
      tar xf xz-4.999.8beta-i486-1.tgz
      mv bin/xz ../ && rm -rf * && mv ../xz .
      if [ "$HAVE_PACKAGES" = "yes" ]; then
        cp /media/SlackDVD/slackware64/a/$DIALOG .
      else
        wget $SLACK64/a/$DIALOG
      fi
      ./xz -dc $DIALOG | tar -xf -
  fi
else
  # I'm going to assume your on Slackware64 or atleast have a 64bit xz
  if [ "$HAVE_PACKAGES" = "yes" ]; then
      cp /media/SlackDVD/slackware64/a/$DIALOG .
  else
      wget $SLACK64/a/$DIALOG
  fi
  xz -dc $DIALOG | tar -xf -
fi
mv etc/dialogrc ../etc
mv bin/dialog ../bin
rm -rf * && cd $CWD

# This is rather pointless on a live cd:
rm slackware64-new-squash/sbin/pkgtool

# Make our new igz and squashfs:
cd slackware64-new-igz
find . -print | cpio -o -H newc | gzip -9 > \
  ../slackware64-new-iso/isolinux/slackware64.igz
cd $CWD
find . -name "gentoo.igz" -type f -exec rm -f {} +
if [ -x mksquashfs ]; then
  ./mksquashfs slackware64-new-squash/ \
      slackware64-new-iso/image.squashfs -noappend
  rm mksquashfs
else
  mksquashfs slackware64-new-squash/ \
      slackware64-new-iso/image.squashfs -noappend
fi

# These next two are questionable but since we don't use it anyway....
mv slackware64-new-iso/gentoo.efimg \
  slackware64-new-iso/slackware64.efimg
mv slackware64-new-iso/gentoo.efimg.mountPoint \
  slackware64-new-iso/slackware64.efimg.mountPoint
# Rename the kernels and system.maps along with placing another igz
cp slackware64-new-iso/isolinux/slackware64.igz \
  slackware64-new-iso/slackware64.efimg.mountPoint
mv slackware64-new-iso/isolinux/gentoo \
  slackware64-new-iso/isolinux/slackware64
mv slackware64-new-iso/slackware64.efimg.mountPoint/gentoo \
  slackware64-new-iso/slackware64.efimg.mountPoint/slackware64
mv slackware64-new-iso/slackware64.efimg.mountPoint/System.map-gentoo \
  slackware64-new-iso/slackware64.efimg.mountPoint/System.map-slackware64
mv slackware64-new-iso/isolinux/System.map-gentoo \
  slackware64-new-iso/isolinux/System.map-slackware64

# Replace the stock packages with updated ones:
# This will require wget...
function grab_patches() {
  wget -e robots=off -r --reject "index.html*,bzImage,config,System.map.gz" \
    -np $PATCHES
  if [ "$HAVE_PACKAGES" = "yes" ]; then
    slackware64=$CWD/slackware64-new-iso/slackware64
  else
    slackware64=$(find . -type d -name slackware64)
  fi
  patches=$(find . -type d -name packages)
  mv $patches/linux-[[:digit:].]*/*.* $patches
  rm -rf $patches/linux-[[:digit:].]*
  updates=$(cd $patches && ls *-[[:digit:].]* | sed 's/-[[:digit:].].*//' | sort | uniq -d)
  for package in $(echo $updates); do
    location=$(find $slackware64 -type f -name $package-* -exec ls {} \;)
    destination=$(echo $location | sed "s/$package-.*//")
    rm $destination/$package-[[:digit:].]* > /dev/null 2>&1 || true
    mv $patches/$package-[[:digit:].]* $destination
  done
}

# Grab the stock packages:
if [ "$GET_PACKAGES" = "yes" ]; then
  # First, check for an official mounted DVD:
  if [ "$HAVE_PACKAGES" = "yes" ]; then
      echo && echo "Copying packages from mounted DVD. Please Wait..."
      cp -R /media/SlackDVD/slackware64 $CWD/slackware64-new-iso
  else # Go watch some TV....
      cd $CWD/slackware64-new-iso && mkdir download && cd download
      wget -e robots=off -r --reject "index.html*" -np $SLACK64/
  fi
fi

# Grab the updated patches:
if [ "$UPDATE_PACKAGES" = "yes" ]; then
  cd $CWD/slackware64-new-iso && mkdir -p download && cd download
  grab_patches
fi
if [ "$HAVE_PACKAGES" != "yes" ]; then
  mv $slackware64 $CWD/slackware64-new-iso
fi
if [ -d $CWD/slackware64-new-iso/download ]; then
  rm -rf $CWD/slackware64-new-iso/download
fi

# Make the new ISO:
cd $CWD/slackware64-new-iso
# I like to timestamp my iso's:
date=$(date | sed -e 's/ /-/g' -e 's/--/-/')
touch $date
# Eh... Ditch this stuff. We just made them
# inconsistent with the updated packages anyway...
rm slackware64/*.{md5,asc,bz2,TXT} slackware64/FILE_LIST

mkisofs -RJl -V "Slackware64-Mactel-LiveCD" -b isolinux/isolinux.bin -c \
        isolinux/boot.cat -no-emul-boot -boot-load-size 4 -boot-info-table \
        -o $CWD/mactel-x86_64-slackware64.iso .

# Clean up some:
cd $CWD
if [ "$BACKUP" = "yes" ]; then
  echo && echo "Backing up the modified ISO parts..."
  mkdir mactel-slackware64-iso
  mv slackware64-new-{iso,squash,igz} mactel-slackware64-iso
  tar cjf mactel-slackware64-iso.tar.bz2 mactel-slackware64-iso
  rm -rf mactel-slackware64-iso
fi
if [ "$CLEANUP" = "yes" ]; then
  echo && echo "Cleaning up..."
  rm -rf slackware64-new-{iso,squash,igz}
fi

echo && echo "Your ISO is in $CWD..." && echo

exit 1


agi93 01-01-2010 05:34 PM

Wow, thanks, jong357! I have a Mac and I was considering putting Slackware on it until I hit its limitations with GPT, etc. Now I'll most likely put Slackware on my mac and enjoy the magic of Linux with the great OS X as a backup (far more reliable than Windows).

I really hope support for installing Slackware64 on Macs becomes official soon; I plan to purchase a new computer in a year or so and I've decided it is to be a Mac.

Hopefully Pat and the others can take your script and put this upstream. I would love for this to become part of the official software!

Beautiful work, jong357. Your efforts are not wasted!

jong357 01-02-2010 05:17 AM

Yea, I can do all that script does by hand in just 20 minutes or so but I spent over 2 full days writing and testing the script. As long as one person uses it then it'll be worth it. ;)

It should be pretty foolproof. Meaning it shouldn't crap out or screw things up at all. If it does crap out, then it was designed to do so because of missing support for something.

If anyone can make it break, please let me know so I can fix it.

I'll probably be tweaking it even more over the next couple weeks so always grab it from my web server. I may forget to update it here.

BTW, the wireless bluetooth magic mouse and the wireless keyboard work just fine. Takes 2-4 seconds after hitting the prompt for the keyboard to start working and takes anywhere from 4-8 seconds for the mouse to start working under X. Probably my imagination, but the mouse seems to be picked up quicker if you start mashing on the buttons and moving it around.

Pretty sure this is all handled by the kernel as well and not rc.bluetooth...

Keep an eye on:

http://github.com/cosmonaut/xf86-input-magicmouse

to get the "touchpad" features of the magic mouse working under Linux. ie- scrolling. Slackware 13 ships with a rather old X so forget about compiling it under Slackware unless your running atleast X11R7.5...

The driver is in very early stages ATM anyway so I wouldn't expect much from it right now but definitely keep an eye on it.

jong357 01-02-2010 05:29 AM

Quote:

Originally Posted by agi93 (Post 3811149)
I plan to purchase a new computer in a year or so and I've decided it is to be a Mac.

My advice is to stick with an Nvidia GPU at all costs. ATI sucks under Linux. Always has and always will. That's if you want direct rendering enabled anyway. Plus, the drivers for Nvidia are way more feature rich than ATI's (if you can even get fglrx to work in the first place)... Takes them upwards to a year just to support a new Xorg release. Really pathetic.

I have the 9400M on this iMac using NVIDIA-Linux-x86_64-190.53-pkg2.run...

It uses adaptive GPU throttling down to 200mhz when inactive which keeps the chip at about 65 Celcius. Not so sure I'd want to play games on this for fear of frying something. My past expierence with my older macbook pro and what DonnieP is talking about should make one semi cautious of how hard you push your mac under linux.

agi93 01-02-2010 01:31 PM

It's great to hear you recommend an NVIDIA card. I have one in my Sony laptop, but it causes all sorts of problems that I just switched it to "Stamina" mode. That switch makes the computer use the weaker Intel GPU. I have a minimal setup in Linux, so I don't care about missing 3D and effects and all that. I was almost afraid to consider getting a Mac for my next computer because of the NVIDIA cards. I was considering a Mac or an IBM or something with Intel everything to ensure Linux compatibility, but the open source community is really making some great strides.

It looks like Apple is pretty much switching to the more powerful NVIDIA cards since they offer so much more compared to the ATI ones. As usual, when they advertise it, they go all out, so it'll be easy to make sure I'm getting the right GPU for the job.

tvespasian 03-06-2010 08:27 PM

An alternative method to installing Slack64 on MacBook Pro 3,1..
 
I cruised in here looking for info on the EFI, and am glad I just removed the hard drive, popped it into my workstation, blew all HFS SHIT off the thing, partitioned with Partition Manager 1.0.1 on top of parted 1.8.8, put it back into the MacBook, booted my Slack64 DVD, ran the install, and voila! I have a perfect instllation. I just have to use Ctl-O to detect what the EFI calls a "Windows" MBR, and I then boot Lilo and start Slacking! This might be a good way to go if you have no attachment to OSuX...

simcox1 07-08-2010 06:10 AM

Jong357, is your website down at the moment?

brianL 07-08-2010 06:14 AM

I think I read in another thread that he's given up Slackware.

agi93 07-08-2010 01:49 PM

No! Hopefully Pat will get the next version of Slackware ready to dual-boot on Macs as well as it works on Windows computers. I really hope this becomes official soon (13.2? 14.0?).

Does Pat hang around on these forums? Maybe he'll see this.

mostlyharmless 07-08-2010 02:34 PM

As GPT becomes more common on the *other* OS we commonly dual boot with, ie Windows 64 bit, this'll be more of an issue not just for Macs... and I think jong357 deserves thanks for the hard work he put into it.

tvespasian 07-09-2010 01:38 PM

The EASY way to set up your MacBook Pro w Slack64 13.x
 
All,

Though I'd share that I've had zero problems with using LiLo and Slackware64 13.x on my MacBook Pro v 3 (2.2 GHz duo core). I just completely wiped the HFS+ infested hard drive by removing it and attaching it to the SATA adapter on my Slack64 workstation, then partitioning it while it was hooked up. I returned it to the MacBook then, and ran an install DVD of Slack64 13.0. I just used the firmware bootloader (Ctl+O) to boot the DVD, ran the installer, installing LiLo to the MBR of the HD when called for. Upon reboot, one merely needs use the firmware bootloader to nudge EFI into booting your LiLo authored MBR. I've had nil problem with this configuration, even after upgrading LiLo and the kernels, initrd, et al.... Provided one rests content with using two bootloaders, this is a stable, feasible configuration.

hitest 07-09-2010 02:25 PM

Quote:

Originally Posted by brianL (Post 4027183)
I think I read in another thread that he's given up Slackware.

Yeah, he quit using Slackware.

piratesmack 07-09-2010 04:40 PM

Thanks.

I don't have a Mac, but this guide helped me dual-boot Slackware and Snow Leopard on my new 'Hackintosh'

Instead of installing Slackware manually, I just installed it on LVM volumes then moved /boot to a separate GPT partition.


All times are GMT -5. The time now is 07:22 AM.