Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Why is Kali (64x) listed as usb boot not supported #9

Open
newrecycle opened this issue May 26, 2021 · 3 comments
Open

Why is Kali (64x) listed as usb boot not supported #9

newrecycle opened this issue May 26, 2021 · 3 comments

Comments

@newrecycle
Copy link

newrecycle commented May 26, 2021

As title states, I know usb boot is possible with kali on the RPI4, I am just wondering what is stopping PINN from allowing usb boot with this OS?

Edit: I am trying to run PINN off of only a usb device, as I have multiple boot devices for different purposes, using a USB 3.0 usb drive while also needing to have a micro sd for kali kind of defeats the purpose

@sheikhmishar
Copy link

I have a similar question. The same thing also occurs in lineageOS. I haven't tried booting from USB though. Maybe it will work, who knows?

@procount
Copy link
Owner

procount commented Jun 10, 2023

PINN can boot from SD card, or USB.
An OS must boot from the same drive where PINN is installed.
In general, any additional partitions can be installed to the SD card or USB.
The reason some can't is partly historical and partly due to the OS.

When PINN installs an OS, the OS is located onto different partitions than it expects. Therefore PINN has to fix up any references to partitions so the OS can find them.
In the beginning, all OS partitions were stored on the SD card only, so partitions were referenced using /dev/mmcblk0pX. PINN only needed to change the 'X' to a different partition number and all was good.
To store a partition on the USB drive, the reference needed to change, typically to /dev/sdaX.
But if there were more than one USB memory drive, the kernel could assign their device names (/dev/sda, /dev/sdb etc) in any order, so this method of reference was not suitable. NOOBS (and hence PINN) chose to use partuuid references instead. Not all OSes could cope with such a reference, so a way to exclude those from being stored on USB was needed. This was indicated in the os meta-files.

When USB booting became possible, OSes needed updated firmware to support it. Not all did, so a way to exclude those from being installed onto something it didn't support was needed. Again this was indicated in the OS meta-files.

There are also other ways to reference a partition, eg.. by UUID or label. Some OSes require specific labels which is a problem with PINN as it prevents installing 2 copies of the same OS on the same system.

It could be that OSes have been updated to overcome their previous limitations, but the OS meta-files have not. In this case they just need verifying and their meta-files updated accordingly.

@sheikhmishar
Copy link

Thank you. Great explanation

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants