-
Notifications
You must be signed in to change notification settings - Fork 5
macbookpro late 2013 Notes
- My daily driver
- macOS
- Linux
- Working with QEMU and GDB
- Working with QEMU
- Arch Linux
- Useful Links
- TODOs
My daily πer
the early 2013 MBPr model # is A1398 Ivy Bridge
the late 2013 MBPr model # is A1398 Haswell
- Network Adapter - Broadcom Corporation BCM4360 802.11ac Wireless Network Adapter
- Native screen resolution - 2880 x 1800
To check and see if a MacBook supports an IR remove
- Select ο£Ώ >
System Preferences... - Choose
Security & Privacy - Click on
Advanced... - If the MacBook has support for an IR remote there should be a checkbox to toggle functionality.
For more info IR support see
To determine wether macOS is using the discrete GPU or the integrated GPU
To find the model # of MBPr in Linux
dmidecode -s system-product-nameTo install grub2 to a removable USB drive from a Live Linux USB
grub-install --target=x86_64-efi --efi-directory=/mnt/usb --boot-directory=/mnt/usb/boot --removable --modules=part_gpt --bootloader-id=gruba configuration file
grub.cfgwill be needed in order to bootstrap an ISO
grub-mkconfig -o /boot/grub/grub.cfg- MultiBoot USB with Grub2 - boot directly from iso files
- GRUB 2 bootloader - Full tutorial
- GRUB ISO boot Examples - Ubuntu
To see a partition layout of a disk
lsblkTo format a filesystem to a disk
mkfs.ext4 /dev/partitionTo convert a .dmg to an .iso follow the below steps
Debian based distro
apt-get install dmg2imgdmg2img my-fancy-pants.dmgAfter the process completes, rename my-fancy-pants.img to my-fancy-pants.iso
mv my-fancy-pants.img my-fancy-pants.isoa kernel module can be inserted into a running kernel with
insmoda kernel module can be removed from a running kernel withrmmod
a kernel module is code that is inserted into and unloaded out of the static kernel image at run time.
- char module - is a device that can be accessed like a file, stream of bytes.
- block module - block drivers have a completely different interface than char drivers.
- network module
char module - synchronous
block device - asynchronous
/proc/iomemshould show what area of memory a device is occupying
To list known modules loaded in a Linux kernel
lsmodTo list info about a specific kernel module
modinfo <moduleName>To load the vfio kernel module
sudo modprobe vfioTo get megahertz of CPU
lscpuTo print a list of devices attached to the PCI bus
lspci -nnIn UNIX / Linux a process is created using fork() and is composed of
- address space
- one thread upon creation
- a process contains one thread
user space programs talk to the kernel via system calls, and the kernel talks to the hardware via interrupts.
hello.c
#include #includestatic int hello_init(void){ printk(KERN_ALERT βTEST: Hello Kernel!\nβ); return 0; }
static void hello_exit(void) { printk(KERN_ALERT βEXIT: Goodbye Kernel!\nβ); }
module_init(hello_init); module_exit(hello_exit);
ALSA replaced OSS as the audio engine in Linux
To get the current version of ASLA
cat /proc/asound/versionTo print the installed sound devices / cards on the system
cat /proc/asound/cardsTo reload pulseaudio / ALSA sound server
pulseaudio -k; alsa force-reload
sudomay be required foralsa force-reload
To reconfigure a PulseAudio sound server during runtime
see π, pacmd
To show a list of available sound cards
aplay -lALSA - is kernel sound mixing
PulseAudio - is user level sound mixing
To print the state of the sound system
aplay -lTo print the state of the sound system
pactl listHow to fix the distorted audio / sound playback?
enable the following flag when launching qemu
--audio-drv-list=alsaTo start qemu with gdb
qemu [-s/-gdb]
Open GDB in a different $TERM / $SHELL and make sure the appropriate architecture is set see π for more info
To print the version of Python π that GDB using
python import sys;print sys.versionThe above command must be run within the (gdb) prompt
To attach an iPhone / iPod within qemu
see π
To launch a Windows 7 VM via qemu
qemu-system-x86_64 -m 2048 -enable-kvm -vga qxl VM/windows7.img -usbdevice tablet -monitor stdioTo setup macOS within qemu
see π
To pass through USB device to qemu
(qemu) usb_add host:03eb:6124You will need to find the appropriate Device ID for this work
- libvirt - A useful app for managing VM's
- KVM/QEMU hypervisor driver
- A nice π little write up on using macOS with qemu
To list network interfaces on a system
ip linkTo find wireless interface name
iw devTo remove a package and all itβs dependencies
pacman -Rs <packageName>- Arch wiki - Broadcom wireless
- How to setup a Live USB to boot an Arch Linux ISO
- Dual booting macOS and Arch Linux
- Arch wiki - HiDPI explained
- Great π writeup about setting up Arch on a π»
Where is xorg.conf on an Arch Linux system?
/etc/X11/xorg.conf
- Arch wiki covering MacBook 11,x
- GitHub wiki for broadcom webcam driver
- How to mount a Time Capsule volume under GNU/Linux
- How to mount and ISO filesystem in GNU/Linux
- How to mount DMG images within a GNU/Linux
- Debian EFI mode boot on a Macbook Pro, without rEFIt
- 9 Linux Parted Command Examples β mkpart, mkpartfs, resize partitions
- LiveUSB/Guide - Gentoo wiki
- Set partition labels - cyberciti
- Arch Linux BBS thread on mounting a Time Capsule
- π¬ Click at your own risk
β οΈ
- check to see if the below statement is still valid.
note each user space process is still limited to a 3GB of memory
If you find any of this info helpful on your journey π click that π βοΈ star button. It sure makes me feel warm and fuzzy π» on the inside.
-
Linux and macOS Operation Notes
- β macOS Op Notes
- π§ Linux Op Notes
- Vim & Neovim Notes
- git Notes
- π fish shell Notes
- ECMAScript Tooling
- π₯§ Raspberry Pi Notes
- asdf version manager Notes
- Bind9 Notes
- Creating a custom motd on Debian Jessie
- ECMAScript Tooling
- Email client Notes
- Email Server Setup Notes Postfix & Dovecot
- Emoji side quest
- fish shell Notes
- π₯ π€ git it got it good Notes
- git Notes
- Graphics and Image Processing Notes
- GUI text editor Notes
- π»π§ Homebrew and Linuxbrew formula Notes
- Linux and macOS Administration Notes
- Linux and macOS Troubleshooting Notes
- MacBook Pro Late 2013 Notes
- Vim & Neovim Notes
- Video Production Notes
- Python Notes
- radare Notes
- Raspberry Pi Notes
- Terminal Emulators
- Tmux Notes
- Web Browser Notes
- Weechat Notes
- Microsoft Windows Notes